Accounting Integrations
Two-way QuickBooks Online sync for invoices, payments, credit notes, customers, items, vendors, bills and purchase orders — with sales tax and currency carried across.
The problem
Your service desk raises the invoice and your bookkeeper types it again. The numbers drift, the tax lands in the wrong place, and month-end becomes an archaeology exercise: which of these two invoice numbers is the real one, and why does accounts receivable disagree with the PSA by exactly the HST?
What Solidlio does about it
Solidlio connects to QuickBooks Online over OAuth and pushes each document as it happens — invoice, payment, credit note, bill, purchase order — carrying the line amounts you actually stored, the transaction currency, and an explicit sales tax block with a per-line tax code. Every record is linked by a stored mapping between its Solidlio id and its QuickBooks id, so a re-sync updates rather than duplicates, and an invoice that already exists in QuickBooks is refused rather than posted twice. Work runs on a background queue with retries; a configuration problem stops the job immediately with a message naming what to fix, instead of failing quietly five times.
Capabilities
| Capability | What it does |
|---|---|
| Invoice sync | Pushes invoices with line items, refusing a second push of an already-synced invoice |
| Sales tax | Sends an explicit tax block with a per-line tax code, mapped to your QuickBooks tax code |
| Multi-currency | Stamps the transaction currency on invoices, credit memos, payments, bills and purchase orders |
| Payment sync | Posts payments net of refunds; refuses a fully refunded payment rather than posting zero |
| Credit notes | Syncs credit memos in both directions |
| Chart-of-accounts mapping | Maps income, COGS and per-expense-category slots to your QuickBooks accounts |
| Entity mapping | Links customers, items and vendors, with name-matched suggestions and one-click confirmation |
| Client provisioning | Imports a QuickBooks customer as a managed-client tenant, claiming the id so retries can’t duplicate |
| Background queue | Deduplicates per entity and direction, retries transient failures, discards terminal ones |
| Connection health | Surfaces a “reconnect required” state instead of reporting Connected while every sync fails |
How it works
- Connect — complete Intuit’s OAuth consent. Tokens are encrypted at rest, refreshed automatically, and refreshed under a lock so concurrent jobs cannot invalidate each other’s refresh token.
- Map your accounts — income, COGS, expense categories, and the sales tax code Solidlio should charge against.
- Link existing records — match customers, items and vendors by name from the suggestions list; rename or unlink any mapping later.
- Push — invoices, payments and credit notes queue as they happen, or push a specific invoice on demand.
- Watch — sync logs record every run with counts and status; the queue view shows what is pending, and failures name what to fix.
Scope and honest limits
| Object | To QuickBooks | From QuickBooks |
|---|---|---|
| Customer | ● | ● updates the linked record |
| Invoice + lines | ● | ● updates the linked record |
| Payment | ● | ● updates, or creates against a linked invoice |
| Credit note | ● | ● updates or creates |
| Product / item | ● | ● |
| Vendor | ● | ● updates the linked record |
| Vendor bill | ● | refreshes a linked record only |
| Purchase order | ● | refreshes a linked record only |
- QuickBooks Online is the only accounting system that ships. Xero is on the roadmap and cannot be connected. Sage is not implemented.
- Inbound bills and purchase orders refresh existing links; they do not create new records from a webhook.
- A taxed invoice requires a mapped sales tax code and fails with a clear message without one.
- Accounting is an MSP-portal feature. There is no organization or customer portal surface.
Compliance and audit
- OAuth tokens are encrypted at rest and never displayed again.
- Connect, disconnect, sync, mapping and account-mapping changes are written to the audit trail through a redacting writer.
- Every sync run is recorded with entity, direction, counts and status.
- Every route requires organization administrator or above; the webhook is authenticated by signature rather than by role.
Editions
| Capability | Free | Starter | Growth | Scale | Enterprise |
|---|---|---|---|---|---|
| QuickBooks Online integration | — | — | ● | ● | ● |
| Two-way invoice + payment sync | — | — | ● | ● | ● |
| Chart-of-accounts + tax mapping | — | — | ● | ● | ● |
| Client provisioning from QuickBooks | — | — | ● | ● | ● |
Customer-plan equivalents: Professional, Business and Enterprise.