Moving from QuickBooks to Odoo for Canadian organisations
Establish the QuickBooks file, edition and migration boundary
Record the QuickBooks edition, hosting method, company-file count, legal entities, branches, locations, classes, inventory usage, currencies and connected applications. Decide which historical period moves, what remains available read-only and who approves the figures. Two files with similar names can have very different structures, so one export or one trial balance is not enough to define the programme.
Gather the trial balance, chart of accounts, customers, vendors, products and services, open invoices and bills, credits, unapplied payments, inventory reports and bank reconciliations. Attach a cut-off date, time zone, filters, currency and owner to each. Reconcile every company file independently before any deliberate group reporting.
Reviewed 6 November 2026. Revalidation owners: migration lead, client accountant, data owners, inventory and bank reviewers before later use.
- QuickBooks edition and company-file identifiers: __________
- Entities, branches, classes, locations and currencies: __________
- History to migrate and read-only retention decision: __________
- Financial and operational approvers: __________
Preserve and prove the original extraction
Use the export functions available in the actual edition and record each report's name, columns, order, encoding, delimiters, row count and control total. Keep an untouched source file and checksum; perform transformation in a working copy. Match the row counts and totals to the QuickBooks screen before transformation so later missing data can be traced to a specific stage.
Log every change to the working copy: date normalization, encoding correction, name splitting, duplicate removal or blank replacement. The log identifies the rule, affected rows, old and new values, operator and reviewer. If a field cannot be exported, choose a documented alternate report, supplementary extraction, reviewed manual entry or explicit exclusion instead of guessing.
- Source filename and checksum: __________
- Report/filter/time-zone details: __________
- Screen-to-file row and amount parity: __________
- Transformation rule and affected rows: __________
- Unavailable field and approved alternative: __________
Test regional date and number formats, long references, multiline memo fields and English/French text. Opening a file in a spreadsheet tool must not silently change account identifiers, leading zeros or decimal separators.
Map accounts and tax treatment with professional review
Map each QuickBooks account by type, purpose, currency, balance and relationship to receivables, payables, banking and inventory. Mixed-use and control accounts need explicit treatment rather than being merged for a shorter chart. The accountant signs the map and explains intentional differences before loading it.
Do not copy a tax name or percentage from an old file as if it decided a new transaction. CRA place-of-supply guidance and supply-type distinctions apply to the new document and its facts. Compare taxable, zero-rated and exempt examples, and review ITC/ITR separately.
Use the CRA rate table for general GST/HST/PST/RST/QST rates, then record evidence for each exception. Manitoba remains RST/TVD despite an Odoo PST label. British Columbia and Saskatchewan PST are reviewed using the BC guide and Saskatchewan guidance. Quebec is not an HST province; QST is calculated on the selling price excluding GST. The combined rate is 14.975% (5% GST plus 9.975% QST), not a 14.975% QST rate. Record the mapping decision in the discovery workbook.
Build durable identifiers and a dependency-safe import
Give every record a unique external ID that includes the company file and record type as needed. A customer name or invoice number alone may repeat between entities or years. Maintain the mapping from external ID to Odoo ID, run version and state so every imported party, document, payment and stock movement can be traced.
Write the dependency sequence explicitly: entities and currencies, accounts, parties, products and warehouses, then documents, payments, reconciliations and stock movements according to the approved design. If a parent record is rejected, stop its dependants or handle them under a documented rule. Never allow an invoice to link to an unintended customer merely because a name matched.
Run a small batch twice in the test environment. The run log must show created, updated, rejected and skipped records and the reason for each outcome. Prove that customers, invoices, payments and stock movements are not duplicated on rerun; deleting everything and reimporting is not the only recovery method.
- External-ID rule and collision review: __________
- Parent rejection and dependant rule: __________
- First-run and rerun control totals: __________
Test CAD expected values before looking at the imported result
Odoo's CAD record uses Cents and 0.01 rounding; calculate expected results independently from the source and accepted rate policy before importing, then compare input, stored value, display, entry and report in the migration workbook.
Test cent-level positive and negative amounts, multi-line documents, discounts, partial payments and large values. Product-price precision, tax computation, discount, payment and cash rounding are separate paths. The federal penny rule applies only to final cash after GST/HST when pennies are unavailable; card, cheque and electronic payments remain at the cent.
- Source amount, document currency and company currency: __________
- Expected CAD amount and calculation: __________
- Actual CAD amount and display: __________
- Debit and credit totals: __________
- Rounding rule, residual and explanation: __________
- Reviewer and acceptance decision: __________
Do not alter the expected value after seeing the imported result without documenting why the source or policy was wrong.
Reconcile foreign currency, open items and bank history
For each foreign-currency document, record source amount, document currency, company currency, rate, rate date, approved source and expected/actual CAD value. Multi-currency documentation explains documents, payments and exchange differences, but it does not choose the client's rate or close policy. Test an invoice with a later payment, a partial payment, a credit note and a bank settlement.
Match every open invoice to its source, currency, applied payments and remaining balance. Do not import an opening receivable or payable balance and then import the same underlying document again. Keep advance and unapplied payments separate and decide how they will be linked without doubling the obligation or collection.
Choose how much bank history to migrate and test manual statement import where needed. Reconcile opening bank balance, transactions, unfinished matches, fees and refunds. Bank synchronization is institution and Enterprise dependent and not real-time; the existence of a provider does not prove eligibility or CAD settlement.
Carry inventory quantity, value and late costs together
Reconcile quantity, unit cost and value by item, location, cut-off date and valuation method. Review units of measure, tracking, service items and accounts, then compare the inventory report to the ledger. If QuickBooks and Odoo present valuation differently, document the conversion instead of hiding the difference in a single adjustment.
Odoo 19 landed costs can allocate eligible charges. Verify AVCO or FIFO where required and use a separately validated path for Standard Price. Build an imported purchase with receiving, a partial sale before the freight bill and another after it.
Record cost before and after the additional charge, quantity sold and remaining, allocation basis, entry, inventory value and ledger. Test a return, inter-warehouse transfer and stock count, and assign each difference to an owner. Opening quantities without values and unexplained late-cost adjustments are not accepted.
Accept bilingual documents while keeping preparation and transmission separate
Create a customer invoice and credit note with English and French item names, long descriptions, mixed references and tax labels. Verify page breaks, PDF layout, print output, tax jurisdiction, totals and the ledger. Visual acceptance is part of document readiness; it does not establish authority or bank acceptance.
Canadian report structures support preparation, not filing. Tax-return documentation and “Mark as Submitted” do not transmit a return. Odoo was absent from the CRA certified software list dated 4 November 2026; record the selected third-party filing method and evidence in the discovery workbook.
Do not turn a migrated tax label into a filing decision. Use the discovery workbook to distinguish Revenu Québec's general administration from the SLFI exception, under which CRA administers both taxes, and to assign the filing-channel and ITC/ITR review.
Run a full rehearsal and sign an operational acceptance pack
Run migration from the preserved raw files in the test environment. Record the mapping version and numbers accepted, rejected, skipped, updated and created. Review every record type and failure, correct the cause and rerun to prove idempotence and link integrity. Difficult records remain visible rather than being removed to improve the apparent result.
The acceptance pack includes trial balance, receivables, payables, open documents, inventory, currencies, banks, bilingual documents and financial/tax reports. Accountant, inventory owner, bank owner and data owner sign within their domains. Every residual receives an explanation, owner and resolution.
Classify gaps as extraction, cleansing, mapping, configuration, procedure, integration or professional decision. Attach the evidence needed to close each and a retest. Do not fix failed acceptance with a larger tolerance, an unexplained total adjustment or silent record skipping.
- Run version and source checksum: __________
- Control totals and exceptions signed: __________
- Open residual and owner: __________
- Retest result and evidence location: __________
Control cutover, learning and rollback
Before cutover, define when entry stops, the final export, approval of files, run order, verification and go/no-go authority. Document a transaction occurring during the cut, read-only access to QuickBooks, who can call rollback and how an old integration is prevented from restoring unapproved data.
Prepare role cards in English and French for routine and exception work, then rehearse sale, purchase, collection and close with synthetic records. After cutover, reconcile the first period, receivables, payables, inventory and banks, and track every defect and residual to closure. Speed of import and a clean-looking dashboard are not the success criteria.
Use the CAD reconciliation workbook for detailed fields, the tax and bilingual discovery workbook for evidence and responsibilities, the branch/POS checklist for physical rollout and the bilingual training plan to prepare each role.
Test your QuickBooks move with your actual records
Identify the edition, company files, locations, classes, inventory, currencies, connected apps and historical period. Bring a trial balance and samples of parties, items, open documents and reports.
Get in Touch
Buhaira Corniche, 43132 Sharjah,
United Arab Emirates
How We Move You from Your Current System to Odoo
Odoo customization services in Canada, engineered by an Odoo Gold Partner Service
Oakland is an official Odoo Gold Partner providing Odoo customization services in Canada for mid-market companies whose processes do not fit stock behavior. We enforce a simple rule: configure first with Odoo Studio, then build custom modules only where a real workflow demands it — flexibility without the technical debt most Odoo projects accumulate.
Read moreServiceOdoo implementation services in Canada, delivered by an Odoo Gold Partner Service
Oakland is an official Odoo Gold Partner delivering Odoo implementation services in Canada for mid-market companies with 50–500 employees. We replace QuickBooks, Sage, NetSuite, SAP, Dynamics 365, or Excel with one Odoo deployment, with local compliance configured in from day one — delivered remote-first from our Dubai headquarters, with senior consultants working your time zone and fixed-scope proposals in CAD.
Read moreServiceOdoo integration services in Canada, engineered by an Odoo Gold Partner Service
Oakland is an official Odoo Gold Partner building Odoo integrations for Canadian companies that run Odoo alongside the rest of their stack — storefronts, payment providers, shipping carriers and EDI trading partners. An ERP that does not talk to the systems around it just recreates the spreadsheet problem at a higher price; integration work is how the data becomes one version of the truth.
Read more