QuickBooks Online and Procurify integration
Procurify is your procurement and spend management system. QuickBooks Online is your accounting platform. Connecting them keeps your payables and vendor records in sync without re-keying. Bills and purchase order data created in Procurify flow into QuickBooks Online on a schedule you control, mapped to the correct accounts and vendors. ml-connector handles the very different authentication models on each side and bridges the two APIs so your procurement and accounting systems stay in agreement.
What moves between them
The main flow runs from Procurify into QuickBooks Online. Bills created and updated in Procurify are synced into QuickBooks Online as bill records, mapped to matching vendors and account codes. Vendor records and purchase order summaries flow in the same direction so procurement and accounting stay in sync. The sync runs on a schedule you set, polling Procurify's API for records changed since the last run. QuickBooks Online is the final system of record for accounting; ml-connector does not write back to Procurify.
How ml-connector handles it
ml-connector stores both credential sets encrypted and refreshes Procurify's 24-hour OAuth tokens before they expire, checking the token lifetime on each request. On the QuickBooks Online side it accepts the realm ID (company identifier) from your OAuth setup and handles the SyncToken concurrency control on every bill create and update, re-fetching the token if a write fails with a stale-token error. Vendor names and account codes are mapped first, so every bill created in QuickBooks Online references a vendor and account that already exist in your chart. Because Procurify is polling-only with no webhook support, ml-connector polls Procurify's bills and purchase orders on a schedule tied to your payment run or procurement cycle, using date-range filters to fetch only new and modified records. If a write to QuickBooks Online fails due to a missing account or inactive vendor, the record is held and retried after you resolve the mapping. Every bill and vendor record carries a full audit trail in the ml-connector log and can be replayed if a downstream call fails.
A real-world example
A mid-sized manufacturing distributor uses Procurify to manage purchase orders and vendor bills from a dozen suppliers, and uses QuickBooks Online for accounting and general ledger. Before the integration, the accounting team received bill exports from Procurify and re-entered them into QuickBooks Online by hand every week, chasing mismatches between vendor names and account codes and re-keying line amounts. With Procurify and QuickBooks Online connected, bills flow from procurement into accounting automatically, vendors are aligned across both systems, and the manual re-entry step is eliminated. Month-end close is faster because payables reconcile without manual intervention.
What you can do
- Sync bills, purchase orders, and vendor data from Procurify into QuickBooks Online on a schedule you control.
- Map Procurify vendors to QuickBooks Online vendor records so bills land on the correct payables account.
- Handle Procurify OAuth 2.0 client credentials and QuickBooks Online's SyncToken concurrency model on every write.
- Poll Procurify's API with date-range filters to fetch only new and updated procurement records.
- Replay bills and vendor records if a downstream QuickBooks Online write fails due to mapping or account issues.
Questions
- Which direction does data move between QuickBooks Online and Procurify?
- The main flow is Procurify into QuickBooks Online. Bills, vendors, and purchase order summaries move from Procurify into QuickBooks Online, where they are recorded as payables and vendor accounts. QuickBooks Online is the final system of record for accounting, and ml-connector does not write back to Procurify. You can use QuickBooks Online as the source of truth for reconciliation and dispute resolution.
- How does the integration handle Procurify's lack of webhooks and QuickBooks Online's SyncToken requirement?
- Procurify does not offer webhooks, so ml-connector polls the Procurify API on a schedule you set, using date-range filters to fetch only records changed since the last run. On the QuickBooks Online side, ml-connector tracks the SyncToken on every bill and vendor record, re-fetching the current token before each write and retrying with the fresh token if a write fails due to stale concurrency state. This ensures consistency even if two systems attempt to update the same record at the same time.
- What happens if a bill in Procurify references a vendor or account that doesn't exist in QuickBooks Online?
- The bill record is held and marked as unmappable in the ml-connector audit log. Once you add the missing vendor or account to QuickBooks Online and link it to the Procurify equivalent, ml-connector will retry the bill creation on the next sync run. You can also set up a notification to alert your finance team when a mapping is missing so unmapped bills are resolved quickly.
Related integrations
More QuickBooks Online integrations
Other systems that connect to Procurify
Connect QuickBooks Online and Procurify
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started