Pricing
QuickBooks Online · OAuth-connected

Your QuickBooks data, finally analysed properly.

Most "QuickBooks integrations" push your invoices into QB and stop there. OmniPATH does both directions: invoices and journals out and a persistent local mirror of your P&L history, bank transactions and customer balances back in. So LEDGE can run trend analysis QuickBooks itself can't.

2-way
Sync direction
Daily
P&L snapshots stored
30 min
Bank feed refresh
app.omnipath.ai/integrations/quickbooks
QuickBooks Online
Connected · Realm 4620816365147285362 · UK
Live
OmniPATH → QB
Purchase invoices
Bills + journals
Vendor records
Sync
QB → OmniPATH
P&L · Balance Sheet
Bank transactions
Customers · GL codes
Recent sync activity
Pushed FS Foodservice invoice INV-08823 (£1,247.20)
2m
Pulled bank txns · NatWest Current (24 new)
14m
P&L snapshot stored · Apr 2026 mid-month
1h
Pushed 8 expense receipts as Bills
3h
The data flow

What goes which way. And why.

Most "integrations" are one-way pushes that treat your accounting tool as a write-only destination. OmniPATH treats QuickBooks as both source-of-truth (for what's posted) and as a data lake to be enriched and analysed.

→ OmniPATH writes to QuickBooks

Invoices, journals, vendors. Posted clean.

Every approved purchase invoice in OmniPATH posts to QuickBooks as a Bill, with the line items mapped to your GL codes, the vendor matched to the QB Vendor record and the AP sync status tracked back in OmniPATH for audit.

  • Purchase invoices as Bills, with line-items split by GL code
  • Vendor records created or matched on first invoice from a new supplier
  • Expense reimbursements posted as Bills to the employee's vendor record
  • Sync status tracked per invoice - `ap_sync_at`, `external_id`, retries on failure
← OmniPATH mirrors from QuickBooks

P&L, banking, customers. Stored locally.

Five data types pulled from QuickBooks and stored persistently in OmniPATH - so we can run trend analysis, reconciliation and customer analytics without rate-limiting QB or losing historical context when you change reports.

  • P&L + Balance Sheet snapshots · daily, persistent, 6-year history
  • Bank transactions from connected feeds, refreshed every 30 min
  • Customer master + AR aging · names, balances, overdue amounts
  • Chart of accounts mapped to OmniPATH GL codes via `xero_id` field
  • Tax rates per account - used for VAT auto-calc and review checks
Three persistent mirrors

The bit other integrations don't do.

Most QuickBooks integrations cache reports for 4 hours and refetch when the cache expires. OmniPATH stores them permanently, so your historical view doesn't depend on what QuickBooks is willing to recompute today.

01Accounting snapshots

P&L history that doesn't expire.

OmniPATH takes a daily snapshot of your P&L, Balance Sheet and cash position from QuickBooks and stores it permanently. Long-term history, queryable in milliseconds, never subject to the QuickBooks API recomputing differently because someone reclassified a transaction in March.

So when LEDGE answers "How has our gross margin changed over six months?" - it's reading from snapshots, not asking QuickBooks to re-render six months of P&L on demand.

  • Daily P&L · Balance Sheet · Cash Position captured
  • JSONB storage - preserves the exact report shape at point of capture
  • Long-term retention - snapshots accumulate for as long as you're connected
  • Powers LEDGE trend analysis without hitting QB rate limits
P&L Snapshots · Last 6 months
Stored locally
Nov Dec Jan Feb Mar Apr Revenue Gross profit
Revenue
£412k
+18.2% YoY
Gross margin
62.4%
+1.8 pts
Cash position
£284k
−4.1%
02Bank transaction mirror

What actually cleared the bank.

OmniPATH syncs bank-feed transactions from QuickBooks every 30 minutes - payments out, deposits in, fees, transfers. Stored locally with reconciliation status, so OmniPATH can verify "this invoice we approved actually paid" without round-tripping to QB for every check.

This is what powers LEDGE's cash-position answers - giving you visibility into what's actually cleared the bank alongside what's been approved in procurement.

  • 30-minute refresh from connected QB bank feeds
  • Account-level granularity - current, savings, credit cards, FX
  • Reconciliation status preserved (matched / unmatched in QB)
  • Supplier-name parsing for unmatched payments
NatWest Current · ****8842
£24,847.20
02 May
FS Foodservice Ltd
FPI-08823 · Bill payment
−£1,247.20
Matched
02 May
Stripe Payment
Customer · Olive Group
+£3,420.00
Matched
01 May
Brakes Group plc
FPI-08816 · Bill payment
−£842.45
Matched
01 May
DD: Sage Pay Card Fee
No PO match
−£24.50
Unmatched
30 Apr
Hartley Botanic Ltd
FPI-08801 · Bill payment
−£428.00
Matched
03Customer & AR mirror

Your customers, scored.

Every QuickBooks customer record is mirrored locally with current outstanding balance, overdue amount and AR aging bucket. So LEDGE can answer "Which customers represent 70% of our revenue?" or flag "Olive Group is now 45 days overdue" without you running a manual aged-debtors report.

This is the data layer behind revenue concentration analysis, customer health scoring and customer health visibility.

  • Customer name, email, type, contact info synced
  • Live outstanding balance + overdue amount per customer
  • AR aging buckets: current / 30 / 60 / 90+ days
  • Powers concentration analysis and dunning workflow triggers
Customers · Outstanding
Total AR: £42,180
OG
Olive Group plc
3 invoices · longest 47 days
£18,420
Overdue
PR
Premier Resorts
2 invoices · 28 days
£12,840
CG
Costa Group
1 invoice · 14 days
£6,420
RH
Rivers Hotels
1 invoice · 8 days
£4,500
New capabilities

What we've just shipped.

Features that went live in the latest release - expanding the QuickBooks integration into full expense sync with intelligent vendor handling.

Expense to QuickBooks push

Approved expenses pushed as QBO Purchase entities. Company card expenses use CreditCard PaymentType, personal reimbursements use Cash.

Vendor auto-lookup

Finds vendor by DisplayName before creating a new one. Prevents duplicate vendor records building up in QuickBooks over time.

Idempotent sync

qb_purchase_id stored on every synced expense. Duplicate push prevented - safe to retry without creating duplicate records in QBO.

Bank detail security

Supplier bank details encrypted at rest with Fernet. Masked in API responses (****5678). Full reveal requires Admin role and creates an audit event.

Provider-agnostic expense sync

Single POST endpoint auto-detects connected provider. Same response shape across Xero, QuickBooks and Sage. Per-org toggle to enable or disable.

Uniform response shape

Every sync returns { ok, already_synced, provider, external_id } - consistent across all three accounting providers. One integration pattern for your team.

LEDGE × QuickBooks

Ask things that QuickBooks alone can't.

Because LEDGE has both your live procurement data AND a persistent history of QB snapshots, it can answer questions that need both sides of the picture - questions that would normally mean exporting two CSVs and pivoting in Excel.

Trend questionHow has our gross margin changed over the last six months and which suppliers are driving the change?
Reconciliation questionList approved invoices over £1k where I can't see the matching payment cleared the bank.
Concentration questionWhich customers are responsible for more than 5% of revenue and how have their balances trended?
Forecast questionBased on the last three months of bank flow, what's our projected cash position at month-end?
Spend questionWhich suppliers have increased their pricing more than 10% compared to six months ago?
Audit questionShow me every FS Foodservice invoice over £500 that was posted to QB in March, with the GRN status.
How it connects

OAuth in. Sync starts.

The QuickBooks connection uses Intuit's standard OAuth 2.0 flow. No file uploads, no data exports, no IT involvement.

Step 01

Click connect

From OmniPATH Settings → Integrations, click "Connect QuickBooks". You're redirected to QuickBooks Online to authorise OmniPATH against the realm of your choice.

Step 02

Map your accounts

OmniPATH pulls your full chart of accounts and lets you map OmniPATH GL codes to QB accounts. Defaults are pre-populated based on common naming. Five-minute task.

Step 03

First sync runs

Initial sync brings down 24 months of P&L history, your customer list, vendor list and bank-feed transactions. Push side activates on next approved invoice. Done.

Frequently asked

The technical details.

Which QuickBooks editions are supported?
QuickBooks Online - all editions (Simple Start, Essentials, Plus, Advanced) across UK, US, Canada, Australia and India regions. QuickBooks Desktop is not currently supported via direct integration; QB Desktop customers can use the OmniPATH file-export path or the Intuit-provided QBXML connector. Plus and Advanced unlock multi-entity / multi-class features which OmniPATH respects.
Will OmniPATH duplicate Bills if my team also keys invoices into QB manually?
No - every Bill OmniPATH posts is tagged with an `external_id` referencing the OmniPATH invoice. Before posting, OmniPATH tags each Bill with a unique external_id to prevent re-posting. This prevents the same approved purchase from being posted twice.
What happens to the snapshots if we disconnect QuickBooks?
Existing snapshots stay in OmniPATH - disconnecting just stops new ones being captured. Your historical P&L data remains queryable by LEDGE. If you reconnect later, sync resumes and new snapshots stack alongside the existing ones. If you fully delete your OmniPATH workspace, snapshots are purged with the rest of your data per our standard retention policy.
How does the bank-transaction mirror handle un-categorised transactions?
OmniPATH stores the raw transaction with whatever description / reference QB has. If you've categorised it in QB, that category syncs through. If not, OmniPATH still stores it as "uncategorised" Recategorising in QB updates OmniPATH on the next sync.
What about payment terms, credit notes and partial payments?
Payment terms set on the OmniPATH supplier or invoice flow through to the QB Bill. Credit notes are posted as Vendor Credits in QB and matched against the original Bill. Partial payments are visible - both the original Bill amount and the AR-aging-derived "outstanding" balance are mirrored, so OmniPATH knows when a payment was £400 against a £500 Bill.
How is the data secured?
OAuth tokens stored encrypted at rest. All API traffic to Intuit over HTTPS. Mirrored data lives in your tenant-isolated database row-level-security partition. LEDGE inference uses Anthropic Claude with no-training, no-retention agreement - your accounting data is sent for the query and dropped afterwards. Full GDPR alignment.
Ready when you are

QuickBooks. With memory.

Two-click OAuth, daily snapshots, bank mirror and customer balances. Bring your QB realm to the demo and we'll connect it live.

30-min demo · We'll connect to a sandbox QB org if you'd rather not share live