QuickBooks Desktop

Get started with the QuickBooks Desktop connector!

Connector Details

NameValue
PlatformQuickBooks Desktop
Auth TypeOn-premise
DirectionBidirectional

Overview

Quickbooks desktop is on-premise accounting software. It is distinct from Quickbooks online, with its own unique schemas and authentication methods.

The hotglue Quickbooks Desktop Connector is an installed program (.exe) that your customers need to run on their servers. While running, the connector allows you to read and write data just like you run jobs for cloud integrations.

Set up your connector

Requirements

  • QuickBooks desktop application
  • QuickBooks SDK

Run the executable

Download and start the executable QBD-HGConnector.exe. This connector should be started:

  • Wherever the company file (.qbw) exists. This is important if your customer has multiple servers with QBD data.
  • Using the same method/user as Quickbooks is started. For example, if Quickbooks is run as "administrator," you should also run the connector as administrator.

If it starts successfully, the directory %appdata%/.hotglue will be automatically created.

Set up the config.yml

Navigate to the %appdata%/.hotglue folder and open the config.yml, you should see a file similar to below:

poll_frequency: 30 # poll frequency in seconds  
hotglue: # get below settings from the admin  
  env_id: <hotglue env id>
  write_flow_id: <hotglue write flow ID--this is optional>
  flow_id: <hotglue read flow id>  
  api_key: <hotglue public api key>  
  tenant_id: <your tenant id>  
qbd: # below settings are from QBD and should be filled by you  
  company_file_name: <the filepath to your company file--this is optional>
  tables:  
    account:  
      sync: true  
      replication_key: "TimeModified"

Fill in the hotglue section with the details from your hotglue admin:

  • env_id is your hotglue environment ID
  • write_flow_id is an optional field defining the flow ID that you use to post data into QBD. QBD should be configured in this flow as a target.
  • flow_id is your default flow ID that you use to read in data from QBD. QBD should be configured in this flow as a source.
  • api_key is your public hotglue API key.
  • tenant_id is the tenant ID that you use to identify your user. When the connector first runs successfully, this tenant will be automatically generated in hotglue.

Fill in the qbd section with the details of your QuickBooks Desktop instance:

  • company_file_name is an optional path that you can add, which will point the connector to your company file when Quickbooks is not open. If not entered, the connector will run using whichever company file is open.
  • tables defines which data will be read in by the connector. By default the account (chart of accounts) table is selected. For a reference of all tables, read the Supported Data section below.

Save this file once done.

Verify the connection

Once the config.yml has been updated, open the %appdata%/.hotglue/hotglue-qbd-connector.log log file. You should see a log similar to below within 30 seconds if the connector is setup correctly:

2022-08-09 17:27:43,825 INFO Validating QuickBooks Desktop connection...  
2022-08-09 17:27:43,861 INFO Connection established, starting background service.

(optional) Set up autostart

Finally, you can set up the connector to automatically start when your machine is restarted. To do this:

  1. Click Win+R (or right click the windows icon -> click Run)
  2. In the dialog that appears, enter shell:startup. This should open a folder in File Explorer
  3. Copy the QBD-HGConnector.exe to this directory.

That's it!

Supported Data

The following are valid values for the tables object, which allow you to read in data from QBD:

  • profit_and_loss
  • balance_sheet_detail
  • transaction_list
  • balance_sheet_summary
  • profit_and_loss_budget
  • bill
  • class
  • customer
  • vendor
  • account
  • check
  • item
  • invoice
  • journal_entry
  • sales_receipt
  • purchase_order
  • credit_memo
  • sale_order
  • price_level
  • unit_of_measure_set
  • sales_tax_code
  • item_sales_tax

If you aren't using our unified schema, you can also write the following tables back to QBD, using Intuit's raw schema:

  • customer
  • invoice
  • bill
  • sales_order
  • credit_memo
  • vendor
  • item_inventory
  • item_noninventory
  • sales_receipt
  • journal_entry
  • item_sales_tax