# Quickbooks

The tap-quickbooks extractor pulls data from the Quickbooks Online API.

# Getting Started

# Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

# Installation and configuration

# Using the Command Line Interface

  1. Add the tap-quickbooks extractor to your project using meltano add:

    meltano add extractor tap-quickbooks
    
  2. Configure the settings below using meltano config.

# Using Meltano UI

  1. Start Meltano UI using meltano ui:

    meltano ui
    
  2. Open the Extractors interface at http://localhost:5000/extractors.

  3. Click the "Add to project" button for "Quickbooks".

  4. Configure the settings below in the "Configuration" interface that opens automatically.

# Next steps

Follow the remaining steps of the Getting Started guide:

  1. Select entities and attributes to extract
  2. Add a loader to send data to a destination
  3. Run a data integration (EL) pipeline

If you run into any issues, learn how to get help.

# Settings

tap-quickbooks requires the configuration of the following settings:

These and other supported settings are documented below. To quickly find the setting you're looking for, use the Table of Contents in the sidebar.

# Minimal configuration

A minimal configuration of tap-quickbooks in your meltano.yml project file will look like this:





 
 
 

plugins:
  extractors:
  - name: tap-quickbooks
    variant: hotgluexyz
    config:
      start_date: '2020-10-01T00:00:00Z'
      realmId: '4000000000'

Sensitive values are most appropriately stored in the environment or your project's .env file:

export TAP_QUICKBOOKS_CLIENT_ID=my_client_id
export TAP_QUICKBOOKS_CLIENT_SECRET=my_client_secret
export TAP_QUICKBOOKS_REFRESH_TOKEN=my_token

# Client ID

Your Quickbooks Online OAuth client ID

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set client_id <client id>

export TAP_QUICKBOOKS_CLIENT_ID=<client id>

# Client Secret

Your Quickbooks Online OAuth client secret

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set client_secret <client secret>

export TAP_QUICKBOOKS_CLIENT_SECRET=<client secret>

# Refresh Token

Access to Quickbooks's API requires a refresh token that will authenticate you with the server.

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set refresh_token <token>

export TAP_QUICKBOOKS_REFRESH_TOKEN=<token>

# Realm ID

Access to Quickbooks's API requires a the realm ID (company ID) you wish to connect to.

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set realmId <id>

export TAP_QUICKBOOKS_REALMID=<id>

# Start Date

This property determines how much historical data will be extracted.

Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set start_date YYYY-MM-DDTHH:MM:SSZ

export TAP_QUICKBOOKS_START_DATE=YYYY-MM-DDTHH:MM:SSZ

# For example:
meltano config tap-quickbooks set start_date 2020-10-01T00:00:00Z

export TAP_QUICKBOOKS_START_DATE=2020-10-01T00:00:00Z

# Is Sandbox

Use Quickbooks Sandbox

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set is_sandbox true

export TAP_QUICKBOOKS_IS_SANDBOX=true

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set api_type BULK

export TAP_QUICKBOOKS_API_TYPE=BULK

# Select Fields By Default

  • Name: select_fields_by_default
  • Environment variable: TAP_QUICKBOOKS_SELECT_FIELDS_BY_DEFAULT
  • Default: true

Select by default any new fields discovered in Quickbooks objects

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set select_fields_by_default false

export TAP_QUICKBOOKS_SELECT_FIELDS_BY_DEFAULT=false

# State Message Threshold

  • Name: state_message_threshold
  • Environment variable: TAP_QUICKBOOKS_STATE_MESSAGE_THRESHOLD
  • Default: 1000

Used to throttle how often STATE messages are generated when the tap is using the "REST" API.

This is a balance between not slowing down execution due to too many STATE messages produced and how many records must be fetched again if a tap fails unexpectedly. Defaults to 1000 (generate a STATE message every 1000 records).

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set state_message_threshold 500

export TAP_QUICKBOOKS_STATE_MESSAGE_THRESHOLD=500

# Max Workers

Maximum number of threads to use

# How to use

Manage this setting using Meltano UI, meltano config, or an environment variable:

meltano config tap-quickbooks set max_workers 16

export TAP_QUICKBOOKS_MAX_WORKERS=16