If your agency uses QuickBooks for its accounting, you can connect the two tools via the Ezus API. Each tool keeps its own role:
Ezus remains the reference for your commercial data: customers, suppliers, projects, quotes, margins and invoices.
QuickBooks remains the reference for accounting and cash: general ledger, VAT, bank reconciliation and financial reporting.
The connection relies on a connector (custom development or an integration platform) that moves data between the two tools.
What is synchronized
From Ezus to QuickBooks:
your customers and suppliers;
your sales invoices and credit invoices;
your supplier invoices, with their PDF.
From QuickBooks to Ezus:
payments received from your customers;
payments made to your suppliers.
💡 Each invoice is linked to its Ezus project. Your projects can therefore be matched to projects or classes in QuickBooks to track profitability per file.
Sales: from finalized invoice to payment
In Ezus: you finalize a sales invoice or a credit invoice on a project.
The connector retrieves the invoice: lines, VAT, totals, PDF link and customer details.
In QuickBooks: the customer is matched (or created), then the invoice is posted with its PDF attached.
In Ezus: payments received appear on the project and the invoice switches to paid.
Purchases: from supplier invoice to payment
In Ezus: you attach a supplier invoice PDF to its project and supplier.
The connector retrieves the invoice: amounts, due date, PDF link and supplier details.
In QuickBooks: the supplier is matched (or created), then the supplier invoice is posted as a bill with its PDF.
In Ezus: payments made in QuickBooks update the supplier invoice.
For integrators: technical details
Each flow relies on existing Ezus API routes:
Flow | Direction | QuickBooks object | Ezus routes |
Customers | To QuickBooks |
|
|
Invoices and credit invoices | To QuickBooks |
|
|
Customer payments | To Ezus |
|
|
Suppliers | To QuickBooks |
|
|
Supplier invoices | To QuickBooks |
|
|
Supplier payments | To Ezus |
|
|
💡 To retrieve an invoice, use two calls. The plural route (/invoices) returns the list of invoices and lets you identify the ones to transmit, for example with the ?stage=completed filter. The singular route (/invoice) then returns the full details of an invoice: lines, VAT, totals, PDF link.
The same logic applies to supplier invoices, customers and suppliers.
Reverse flows are also possible: customers, suppliers and supplier invoices can be created from QuickBooks using the matching upsert routes.
On the sales side, the invoice status is updated via PUT /invoices-update.
Design principles:
Sync at your own pace: real time, scheduled or triggered by an event, following the frequencies described earlier in this article.
No duplicates: every write is an upsert on a reference of your choice, with strict create and update modes.
Long-lived access: in addition to the API key, refresh tokens are valid for 90 days and rotated on each use.
Linked records: QuickBooks IDs can be stored in Ezus custom fields on customers, suppliers and invoices.
Documentation: public reference at api.ezus.io.
Setup
Scoping: identify your QuickBooks edition, the flows to enable and your VAT and currency rules.
API access: get your credentials from Settings > Developers.
Build and test: map your accounts and VAT codes, then test the flows on real projects.
Go live: enable synchronization on your production account and carefully review your first month-end close.
💡 Coming soon: several API improvements are planned to make this type of connector easier to build. They include one-click OAuth authorization, delta synchronization, new signed webhooks, allocation of a payment to a specific invoice, accounting and VAT codes per line, multi-currency support and a sandbox environment. We will update this article as they become available.
