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 Name ↔ GivenName, Last Name ↔
FamilyName, 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/unitsis 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.