Search documentation...

K
ChangelogBook a demoSign up

QuickBooks

Gain financial visibility and empower your accounting team by keeping your financials up to date

View QuickBooks's documentation.

Hightouch uses minor version 65 of the QuickBooks Online Accounting API. See QuickBooks's docs to learn more about minor versions.

Supported syncing

TypeDescriptionSupported Sync ModesAPI Reference
AccountSync data from any source to QuickBooks AccountsUpsert, Update, InsertAccount docs
BillSync data from any source to QuickBooks BillsUpsert, Update, InsertBill docs
ClassSync data from any source to QuickBooks ClassesUpsert, Update, InsertClass docs
CustomerSync data from any source to Quickbook CustomersUpsert, Update, InsertCustomer docs
DepositSync data from any source to QuickBooks DepositsUpsert, Update, InsertDeposit docs
InvoiceSync data from any source to QuickBooks InvoicesUpsert, Update, InsertInvoice docs
JournalEntrySync data from any source to QuickBooks Journal EntriesUpsert, Update, InsertJournalEntry docs
PaymentSync data from any source to QuickBooks PaymentsUpsert, Update, InsertPayment docs
PaymentMethodSync data from any source to QuickBooks Payment MethodsUpsert, Update, InsertPaymentMethod docs
RecurringTransactionSync data from any source to QuickBooks RecurringTransaction objectsInsertRecurringTransaction docs
TimeActivitsSync data from any source to QuickBooks TimeActivity objectsUpdate, InsertTimeActivity docs
VendorSync data from any source to QuickBooks VendorsUpsert, Update, InsertVendor docs

For more information about sync modes, refer to the sync modes docs.

Connect to QuickBooks

Go to the Destinations overview page and click the Add destination button. Select QuickBooks and click Continue. You can then authenticate Hightouch to QuickBooks via OAuth.

You can choose to sync your data to a Sandbox or Production Quickbooks environment. Select your preference, click Log in to QuickBooks, and log into your QuickBooks account. Once successful, you will be redirected back to Hightouch to enter a descriptive name for your destination and complete setup.

Sync configuration

Once you've set up your QuickBooks destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the QuickBooks destination you want to sync to.

Syncing accounts

Sync data from any source to accounts in QuickBooks.

Record matching

You can match rows from your model to accounts in Quickbooks on any column in your model and any account field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • Name: User recognizable name for the Account. 100 character max.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks account object docs for more information.

Syncing bills

Sync data from any source to bills in QuickBooks.

Record matching

You can match rows from your model to bills in Quickbooks on any column in your model and any bill field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • VendorRef: Reference to the vendor for this transaction. Query the Vendor name list resource to determine the appropriate Vendor object for this reference. Use Vendor.Id and Vendor.Name from that object for VendorRef.value and VendorRef.name, respectively.
  • Line: Individual line items of a transaction. Valid Line types include: ItemBasedExpenseLine and AccountBasedExpenseLine

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks bill object docs for more information.

Syncing classes

Sync data from any source to classes in QuickBooks.

Record matching

You can match rows from your model to classes in Quickbooks on any column in your model and any class field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • Name: User recognizable name for the Class. 100 character max.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks class object docs for more information.

Syncing customers

Sync data from any source to customers in QuickBooks.

Record matching

You can match rows from your model to customers in Quickbooks on any column in your model and any customer field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can sync columns from your model to QuickBooks default and custom fields.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

Syncing deposits

Sync data from any source to deposits in QuickBooks.

Record matching

You can match rows from your model to deposits in Quickbooks on any column in your model and any deposit field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • DepositToAccountRef: Identifies the account to be used for this deposit.
  • Line: Atleast 1 line item must be included to create a deposit.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks deposit object docs for more information.

Syncing invoices

Sync data from any source to invoices in QuickBooks.

Record matching

You can match rows from your model to invoices in Quickbooks on any column in your model and any invoice field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • DepositToAccountRef: Identifies the account to be used for this deposit.
  • Line: Atleast 1 line item must be included to create a deposit.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks invoice object docs for more information.

Syncing journal entries

Sync data from any source to journal entries in QuickBooks.

Record matching

You can match rows from your model to jounal entries in Quickbooks on any column in your model and any journal entry field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • Line: Individual line items of a transaction. There must be at least one pair of Journal Entry Line elements, representing a debit and a credit, called distribution lines.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks journal entry object docs for more information.

Syncing payments

Sync data from any source to payments in QuickBooks.

Record matching

You can match rows from your model to payments in Quickbooks on any column in your model and any payment field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • TotalAmt: Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.
  • CustomerRef: Reference to a customer or job.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks payment object docs for more information.

Syncing payment methods

Sync data from any source to payment methods in QuickBooks.

Record matching

You can match rows from your model to payment methods in Quickbooks on any column in your model and any payment method field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • Name: User recognizable name for the payment method. 31 character max.

Ensure the data types of your model columns match the data types of the fields you want to sync to. Refer to QuickBooks payment method object docs for more information.

Syncing RecurringTransaction objects

Hightouch supports syncing RecurringTransaction objects to the Bill entity. This sets the type field on the ecurringTransaction objects.

If you're interested in syncing RecurringTransations to another entity, please .

Record matching

Since you can only insert RecurringTransaction objects, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the RecurringInfo field, so you must map it to complete your configuration. Ensure the data types of your model columns match the data types of the fields you want to sync to.

Syncing TimeActivity objects

Sync data from any source to TimeActivity objects in QuickBooks.

Record matching

You can match rows from your model to TimeActivity objects in Quickbooks on any column in your model and any TimeActivity field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can map data from any of your model columns to fields in QuickBooks.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

QuickBooks also requires the following fields, so you must map them to complete your configuration:

  • NameOf - Value can be Vendor or Employee.
  • VendorRef - Required if NameOf is set to Vendor.
  • EmployeeRef - Required if NameOf is set to Employee.

Ensure the data types of your model columns match the data types of the fields you want to sync to.

Syncing vendors

Sync data from any source to vendors in QuickBooks.

Record matching

You can match rows from your model to vendors in Quickbooks on any column in your model and any vendor field in Quickbooks. Ensure the data types of the model column and Quickbooks field you select match.

Refer to the record matching docs for more information.

In Insert mode, QuickBooks automatically generates an identifier for every new record synced, so there is no need to match an existing record.

Field mapping

You can sync columns from your model to QuickBooks default and custom fields.

QuickBooks requires the SyncToken attribute when performing updates.

The SyncToken is the version number of the object. It's used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented.

By default, Hightouch pulls the latest SyncToken from QuickBooks before perfoming the update. You can override this behavior by providing your own SyncToken value via field mapping. Keep in mind that attempts to modify an object specifying an older SyncToken fail.

Tips and troubleshooting

Common errors

To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Mar 15, 2024

On this page

Supported syncingConnect to QuickBooksSync configurationSyncing accountsSyncing billsSyncing classesSyncing customersSyncing depositsSyncing invoicesSyncing journal entriesSyncing paymentsSyncing payment methodsSyncing RecurringTransaction objectsSyncing TimeActivity objectsSyncing vendorsTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?