Skip to content
Knowledge ERP Docs

API Reference ↗
Integrations

QuickBooks Online

Keep accounting in sync — customer and vendor records pushed to QuickBooks (and changes pulled back), customer invoices synced as QBO invoices, vendor invoices as bills, and inventory adjustments as journal entries.

Availability — Included with the Sales or Purchasing module. Manage modules and your plan tier in Account & Billing.

The QuickBooks Online integration keeps Knowledge ERP and your books aligned so you're not double-entering financial data.

Connecting #

From the QuickBooks settings page, connect via the OAuth flow — you'll authorize Knowledge ERP against your QuickBooks company once, and the connection is stored for your account.

What syncs #

You choose, per record type, and everything starts off. After connecting, the QuickBooks settings page lists five switches — Customers, Vendors, Customer Invoices, Vendor Bills, Inventory Adjustments — all off until you turn them on. Connecting QuickBooks gives Knowledge ERP permission to reach it, not permission to send it everything.

Two of them depend on others: an invoice has to name a customer, and a bill has to name a vendor, so Customer Invoices needs Customers and Vendor Bills needs Vendors. Turn the directory on first, or the documents will have nothing to attach to.

Worth a moment's thought before switching Customers on: it sends names, contact details, both addresses and your free-text notes to Intuit in the United States, including for people added automatically — a customer created when somebody books online, or opens a portal link, is a customer like any other.

  • Customers and vendors (ERP → QBO) — when the matching switch is on, pushed to QuickBooks whenever a customer or vendor record is created or updated.
  • Customers and vendors (QBO → ERP) — when a customer or vendor is created or updated in QuickBooks, the change flows back via webhook: the matching record is updated (matched by the sync map, then email, then name), or a new one is created. Configure the webhook URL (shown below) and verifier token in your Intuit app's webhook settings.

Customer names map straight across, in both directions: Company Name ↔ QuickBooks' CompanyName, First NameGivenName, Last NameFamilyName, and the derived display name ↔ DisplayName. So a QuickBooks company arrives here as a company rather than as a person with an odd first name.

  • Customer invoices → QBO invoices — a customer invoice is pushed to QuickBooks as an invoice in your AR when its status changes to Sent, Partially Paid, Paid, or Overdue.
  • Vendor invoices → bills — a vendor invoice is pushed to QuickBooks AP as a bill when it is approved.
  • Inventory adjustments → journal entries — adjustment, discard, and "used" movements post as journal entries so stock value stays reconciled. Stock booked in through POST /api/v1/inventory/units is the exception: it is recorded in the movement log like any other stock-in, but it is not posted to QuickBooks, so loading stock from a script or an integration never writes into your books on its own.

Receiving changes from QuickBooks #

Inbound customer/vendor sync arrives through an Intuit webhook. In your Intuit app's webhook settings, point the notification URL at https://your-domain.com/quickbooks/webhook and copy the verifier token into the QUICKBOOKS_WEBHOOK_VERIFIER_TOKEN environment variable — every inbound notification's signature is validated against it before anything is imported. Subscribe to the Customer and Vendor entities; create and update events are honored (deletes are ignored).

Scope #

This integration is the bridge to accounting, not a replacement for it. Knowledge ERP deliberately does not run its own general ledger — QuickBooks remains the system of record for double-entry accounting.