QuickBooks Desktop
Connector Details
Name | Value |
---|---|
Platform | QuickBooks Desktop |
Auth Type | On-premise |
Direction | Bidirectional |
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 IDwrite_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:
- Click Win+R (or right click the windows icon -> click Run)
- In the dialog that appears, enter shell:startup. This should open a folder in File Explorer
- 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