Skip to content

Set up two way invoice sync with QuickBooks Online (BETA)

Last updated: June 20, 2024

Available with any of the following subscriptions, except where noted:

All products and plans

Connect your HubSpot account to QuickBooks Online with data sync and set up a bi-directional invoice sync between the two systems. Refer to this article if you are using the legacy HubSpot-QuickBooks Online integration.

Before you get started

Limitations

  • Editing invoices in QuickBooks Online: an invoice that was generated in HubSpot can only be edited within HubSpot. For example, adding or removing line items, updating pricing, or removing a payment. If the edit isn’t made within HubSpot, the invoice will fail to sync. Invoices created in QuickBooks can be edited within QuickBooks without issue.
  • Charging tax: it isn't possible to charge taxes on invoices in HubSpot. If tax is needed on an invoice, it's recommended that the invoices are created in QuickBooks and synced to HubSpot.
  • Non-U.S. QuickBooks Online accounts: most non-U.S. QuickBooks Online versions require that synced invoices include tax (e.g., VAT, HST, GST, etc.). HubSpot invoices can’t be created with tax, so users with non-U.S. QuickBooks Online accounts won't be able to use this feature.
  • Revenue recognition: HubSpot invoices don’t support adding a Service Date to line Items in HubSpot, which is required when using QuickBooks' Revenue Recognition functionality

Recommendations before using the integration

  • Turn off Custom transaction number in QuickBooks Online: check if your Custom transaction number setting in QuickBooks is on. It's recommended that this setting is toggled off. If left on, invoices created in QuickBooks will automatically adopt the HubSpot invoices prefix, which could lead to conflicting invoice numbers.
  • Lock closed accounting periods: turn on the setting that automatically locks closed accounting periods in QuickBooks. This makes sure that any closed accounting periods are protected from being changed.
  • Sychronize products: it's recommended to sync your products from QuickBooks to HubSpot, and to use those products when creating invoices, quotes, and payment links. This will guarantee that when invoices and payments are synchronized to QuickBooks, they are correctly linked to the income and expense accounts you have set up.

Please note:

  • The product sync uses the SKU property for matching. To avoid duplication of products, product sync only syncs products with SKUs by default. It is recommended to add SKUs to the products in QuickBooks that you would like to sync. 
  • If an invoice has line items that can't be matched to a product in QuickBooks, a product called Custom Line Item will be created in QuickBooks, and unmatched line items will be matched to that product. You define which income account this custom line item product will be linked to in the Configure step of invoice sync.
  • It's recommended to sync all customers from QuickBooks Online into HubSpot as contacts. When you create an invoice for an existing customer, make sure to use the contact that was synced from QuickBooks. This will make sure that any invoices you create are connected to the right customer in QuickBooks. When invoicing a new customer, make sure that the contact on the invoice is the billing contact, whose email address you want connected to the customer in QuickBooks. 

Sync information

  • When two-way invoice sync or outbound invoice sync (HubSpot to QuickBooks Online) is set up, payment syncing will be automatically turned on and will sync payments on an invoice back and forth between HubSpot and QuickBooks. Inbound invoice sync (QuickBooks Online to HubSpot) won't sync payments from QuickBooks to HubSpot.
  • Changing a HubSpot invoice (e.g., adding/removing line items, adding tax, changing comments) inside of QuickBooks isn't supported.
  • When you set up a one way invoice sync from HubSpot to QuickBooks, or a bi-directional sync, some filters are automatically added to outbound invoice sync. These filters are in place to proactively prevent over-syncing of data and can't be changed. These filters are: 
    • Only HubSpot invoices where the Invoice Source property is HubSpot will be synced from HubSpot to QuickBooks.
    • Draft invoices won't be synced. Invoices must be finalized to be synced to QuickBooks.
    • Only invoices created/modified after the point that the sync was started will be synced to QuickBooks.
  • If you need to add historical invoices created in HubSpot to QuickBooks, it's recommended to export those invoices and import them to QuickBooks.
  • Once an invoice is synced to QuickBooks Online, it'll be updated in QuickBooks if its status is changed (e.g., payments are recorded or the invoice is voided).
  • If the invoice is paid, a payment record will be created on the invoice and synced across QuickBooks and HubSpot.

Set up the invoice sync

Before setting up the invoice sync, connect the QuickBooks Online app to HubSpot and set up product sync and contact sync. You can find our recommended filters for product and contact sync here

To set up invoice sync between HubSpot and QuickBooks Online:

  • In your HubSpot account, navigate to Reporting & Data > Integrations.
  • Click QuickBooks Online.
  • Choose the next step based on your current set up:
    • Click Set up your sync if you haven’t added any sync rules.
    • If you have a one-way invoice sync set up, and want to use two-way invoice syncing, hover over Invoice sync and click Edit.
    • Click Sync more data if you have previously set up other, non-invoice sync rules.
    • On the Configure tab, click the sync direction arrows and select Data syncs between apps.

QuickBooks-sync-direction

  • Click the Data conflict resolution dropdown and select whether to Use HubSpot data or Use QuickBooks Online data.
  • In the Mapped fields section, toggle the switches off to exclude them from the sync.
  • Users in an Ops Hub Starter, Professional, or Enterprise account can add more fields by clicking Add a mapping below the pre-defined fields.
    • Select the fields from the dropdown menus and click Create, or click delete delete to remove the mapping.
    • To edit or remove a mapping you have added, click Actions, then click Edit or Delete.

QuickBooks-add-mapping

  • In the upper right, click Next.
  • By default, all invoices will sync between QuickBooks Online and HubSpot. It is recomended to add a filter to inbound invoice sync to only sync invoices created in Quickbooks after today's date. To add a filter:
    • Under Filters, click Edit next to QuickBooks Online → HubSpot.
    • Select a primary or associated filter type.
    • Select a property and filter criteria.
    • Click Apply criteria, then click Done.

quickbooks-limit-after-today-1

Edit invoice sync

To edit an existing invoice sync:

  • In your HubSpot account, navigate to Reporting & Data > Integrations.
  • Click QuickBooks Online.
  • Hover over Invoice sync and click Edit.
  • Make your changes by following the steps as if you were setting the sync up for the first time.

Turn invoice sync on or off

To turn invoice sync on or off:

  • In your HubSpot account, navigate to Reporting & Data > Integrations.
  • Click QuickBooks Online.
  • Hover over Invoice sync, click More, then click Turn off sync or Turn on sync.

Review your invoice sync

  • To review if an individual invoice is syncing:
    • In your HubSpot account, navigate to Commerce > Invoices.
    • Click the invoice to open the right panel.
    • Scroll to the Integrations sync section to view the status.

invoice-sync-status-individual-1

To review a list of invoice records and their sync status:
  • In your HubSpot account, navigate to Reporting & Data > Integrations.
  • Click QuickBooks Online.
    • On the Sync overview tab, click Object view to see the number of records that are syncing, failing or excluded. To edit the columns displayed in the table, in the top right of the table, click More, then click Edit columns.
      • Click All objects next to Filter by: to filter by object.
      • Clicking a number next to a record will open a side panel to review the records.
        • For failing sync records, hover over the information icon under Error Category to see an explanation on why the invoice is failing to sync.
quickbooks-sync-status-information 
    • Click Record view to view a list of records. 
      • To edit the columns displayed in the table, in the top right of the table, click More, then click Edit columns.
      • Use the filters above the table to filter the records.
      • Use the page navigation at the bottom of the table to navigate through the records.
      • Under Sync activity, click the arrow to see more information about the activity on a record.

quickbooks-sync-status-information-records

Using the invoice sync

Once the sync is set up, follow these steps to sync your first invoice from HubSpot to QuickBooks Online:

  • Create your invoice.
  • Click Finalize.
  • The integration will detect the new invoice, check the invoice details against any filters set up, and if eligible, will sync the invoice to QuickBooks Online.
  • You can check if it was successful by reviewing the sync data.

Common questions

How do I sync PO number, or other invoice fields to/from Quickbooks? 

PO number isn't a default field on QuickBooks invoices and must be added as a custom field. For this reason, the HubSpot QuickBooks Online integration can't define an out of the box field mapping for it. Uses in an Ops Hub Starter, Professional or Enterprise account can define custom mappings. Using custom field mappings, you can identify QuickBooks invoice fields (e.g., Tracking Number, PO number, Shipping Method) and sync those values to and from HubSpot and Quickbooks. 

How do I represent Discounts, Taxes, and Fees on my invoices?

When using the Quickbooks Online integration, you're prevented from adding order-level discounts, taxes, and fees to your invoices, because QuickBooks Online doesn't have the same concept of invoice-level taxes and fees, though they do support a single invoice-level discount.
 
Instead of using invoice-level taxes, discounts, and fees, the following is recommended:

  • Discounts: add your discounts at the line item level, and use the Comments field to explain the discount.
  • Fees (e.g., shipping fees, credit card fees, late fees): can be added as their own line item on the invoice, ideally using a product that's synced from QuickBooks.
  • Taxes: can be added as a line to the invoice, ideally using a product that's synced from QuickBooks, and is linked to your QuickBooks income/expense account tracking the amount of tax collected. These tax line items won't be connected to the QuickBooks Online Tax Center for tax reporting.

Should I turn off my “Create Paid Invoice” Payment workflow action if I use invoice sync? 

At minimum, it's recommended to update your workflow to filter out payments coming from invoices (e.g., payments where the source = invoice). If the workflow isn’t updated, duplication will occur, because invoice payments will also trigger paid invoice creation. Only one payment will occur, but there'll be two invoices for the payment. 

Common errors

If you aren't seeing your invoice sync into QuickBooks Online within a few minutes, there are a number of reasons the sync could fail. All sync failures, including invoice sync, can be found on your QuickBooks online settings page.

quickbooks-example-sync-error

Below are some common errors that you may encounter, and how to resolve them.

An invoice should have an associated customer. Make sure the associated customer is present in both HubSpot & QuickBooks Online to sync this invoice

This invoice sync error is occurring because the contact on the invoice not being found in QuickBooks when the invoice tried to sync. Most often, this is because the contact on the invoice doesn't share the email address of the customer in QuickBooks. If you change the contact on the invoice in HubSpot to the contact that matches the email of the customer in QuickBooks, the invoice will sync.

The display name is a duplicate

Display Name fields must be unique in Quickbooks Online. The first contact from a company will have its Display Name set to the company name, but any contacts from that company that attempt to sync to QuickBooks Online after the first contact will fail to sync, because their Display Name is already in use. Please refer to this article.

Business Validation Error: Enter a service date for the revenue recognition line item

This error may occur if you are using QuickBooks Online’s Revenue Recognition functionality. Revenue recognition requires all line items on an invoice to have a service date. It isn’t possible to add a service date to HubSpot line items, so it’s recommended to turn off the revenue recognition setting in QuickBooks, and doing revenue recognition reporting separately. 

Line item or invoice amount modifications in HubSpot native invoices cannot be made through external applications. Please make any necessary changes directly in HubSpot

This error occurs because an invoice that was created in HubSpot was changed in QuickBooks. Reverse the changes to the invoice in QuickBooks, and make those adjustments to the invoice in HubSpot to continue syncing.

Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.