More than just a CSV export
Export a file, import it back, cross your fingers: you know the routine, and the damage it can cause. An invoice that gets separated from its payment. An account imported twice. A tax rate recreated the wrong way.
QuickBooks Online Connector works differently. It is a connector, but it’s more than a simple sync tool. It starts by recreating your QuickBooks Online environment inside Odoo, with guided mapping and safe accounting reconstruction. Then it keeps both systems aligned through continuous sync. The module is built for accounting teams. You connect, review the suggested mappings, start the migration, and the connector takes care of the technical work.
One rule governs everything else: nothing enters Odoo until you approve it. Nine steps take you from connection to Live mode, and you can go back to any of them at any time.
One requirement before you start: the connector runs on Odoo 19 (a version for Odoo 18 is also available), hosted on Odoo.sh or on your own servers. Odoo Online doesn’t allow this type of module to be installed.
Before the import: inventory and mapping
Everything starts before the first record is imported. Two steps determine how smooth and accurate your migration will be.
Begin with a full inventory
First step: know exactly what your QuickBooks company contains. As soon as you’re connected, the connector reads your company information and the actual record count for each object.
Then you decide what moves with you. Chart of accounts, taxes, payment terms, customers, vendors, items, estimates, invoices, payments, purchase orders, journal entries: most objects are enabled by default. Classes, locations, attachments, and employees wait for your go-ahead. Prefer a lighter history? A date range will do the job.
Mapping: migrating without overwriting anything
This is often where everything is decided. Your Odoo may already contain accounts, contacts, and products. Should you rebuild everything? Absolutely not.
The mapping assistant matches each QuickBooks item with its Odoo equivalent and shows a confidence level:
- Partners, by QuickBooks ID, tax ID, email, then name
- Products, by SKU, then name
- Accounts and taxes, by ID, number, name, and type
Any doubtful match comes to you for review. You approve it, pick another account, create a new one, or skip the line. Likely duplicates are suggested, never merged automatically. Unsafe taxes stay blocked: the connector would rather stop than guess.
During the migration: linked documents, errors under control
The import is running. Two questions are on your mind: do my documents stay linked, and what happens if something gets stuck?
Your documents keep their story
An invoice on its own doesn’t tell you much. Linked to its estimate and its payment, it becomes information you can act on. The connector rebuilds your operational documents in Odoo and keeps their links:
- Estimate → Invoice
- Invoice → Payment
- Purchase Order → Bill
- Bill → Bill Payment
One payment covering three invoices? A partial payment pending since last month? QuickBooks allocations come across exactly as they are. Each transaction gets posted only once.
One useful detail: QuickBooks Online doesn’t expose sales orders for most companies. Your QuickBooks estimates become quotations in Odoo, and your invoices link to them.
One error? The rest keeps going
Picture a migration of several thousand records failing because of a single line. The connector prevents that by treating each QuickBooks record as an individual task. If one task fails, the others continue without interruption.
Pause, resume, retry: you can manage the queue at any time. Stuck tasks restart automatically. The error centre organises issues by type (mapping, dependencies, API, accounting) and suggests an action for each. Your server restarts in the middle of a migration? The migration picks up exactly where it left off, because every record keeps its QuickBooks ID.
The moment of truth: do your numbers tally?
Migrating is good. Proving that everything has come across is even better. Before switching to Live mode, you run the reconciliation. The connector compares Odoo with QuickBooks reports on five points: profit and loss, balance sheet, accounts receivable, accounts payable, and bank.
A variance shows up? You drill down directly to the source transactions. The module never forces a balance to match: you correct the mapping or retry the task yourself. Your numbers are correct because they actually are, not because someone adjusted them.
After switching to Live mode: Odoo in charge, QuickBooks in the loop
Going live doesn’t cut the link. It just changes the roles. Odoo becomes your operational ERP, and the connector keeps syncing it with QuickBooks. During the migration, data flows one way, from QuickBooks to Odoo. In Live mode, incremental sync and automatic notifications (webhooks) keep Odoo up to date. A change in QuickBooks triggers a fetch of the current record, not just a copy of the notification.
Want QuickBooks to follow what happens in Odoo too? You turn on Odoo-to-QuickBooks sync object by object. Posted financial documents are never pushed automatically: your accounting team decides what goes back. Multiple subsidiaries? Each connection links one Odoo company to one QuickBooks company, with its own mappings and task queue. Nothing gets mixed up. For day-to-day management, a financial dashboard brings together your income, expenses, receivables, payables, and cash. It also shows sync progress, connection health, and open errors.

With QuickBooks Online Connector, your migration to Odoo 19 moves at your pace, step by step. Every match goes through your approval, every document keeps its links, and every variance can be checked against QuickBooks reports. In Live mode, Odoo stays in sync with QuickBooks, and QuickBooks can stay aligned if you turn on sync from Odoo. Your accounts teams work from reliable numbers, from one system to the other.
Install QuickBooks Online Connector and make your move to Odoo a migration where every number adds up.