howto

Odoo migration and CAD reconciliation workbook for Canada

CanadaOdoo 19MigrationCADReconciliation

1. Govern a repeatable migration run, not a one-time upload

Name the source and target owners, migration lead, accountant, data stewards, bank and inventory reviewers. Define environments, access, run versions, backup and rollback authority. A final import is only one step in a chain of preserved evidence, rehearsals and signed reconciliation.

Create tabs for source manifest, cleansing log, mappings, dependency order, run log, rejected records, CAD expected/actual values, FX, open items, bank history, inventory, documents, residuals and sign-off. No credential or private key belongs in these tabs.

Reviewed 6 November 2026. Revalidation owners: migration lead, client accountant, data owners, bank and inventory reviewers before production use.
  • Migration version and environment: __________
  • Source and target owners: __________
  • Run and rollback approvers: __________
  • Evidence repository and access rule: __________

2. Preserve the extraction and make cleansing auditable

For every source report, record system/edition, entity, filters, columns, encoding, delimiter, row count, control total, cut-off and time zone. Preserve the raw file and checksum. Compare it with the source screen before transformation so the baseline itself is trusted.

Keep a working copy and log every rule: encoding correction, date normalization, name splitting, duplicate handling, blank defaults or custom-field conversion. Record affected rows, before/after values, operator and reviewer. An unavailable field requires an alternate report, supplementary extract, reviewed manual entry or documented exclusion, not a guess.

  • Source file and checksum: __________
  • Screen-to-file row and total parity: __________
  • Cleansing rule and affected rows: __________
  • Before/after values and approver: __________
  • Missing-field decision and evidence: __________

Test regional date and decimal formats, leading zeros, long references, multiline notes and English/French text. A spreadsheet preview is not proof that identifiers or numbers survived unchanged.

3. Assign external IDs and enforce dependency order

Use a stable external ID containing the entity and record type where necessary. Names and document numbers can repeat across entities or years. Maintain source ID, Odoo ID, run version and state for each party, account, product, document, payment and stock movement.

Write the dependency sequence for entities, currencies, accounts, parties, items and warehouses, followed by documents, payments, bank records and inventory. If a parent is rejected, stop its dependants or apply a documented repair rule. Never bind an invoice or payment to an unintended party through a fuzzy name.

  • External-ID composition and collision review: __________
  • Dependency order and rationale: __________
  • Parent rejection and dependant stop/repair rule: __________
  • Rejected record, cause and rerun outcome: __________

Run a representative batch twice. Compare created, updated, rejected and skipped counts and inspect the links. Duplicate-free rerun evidence is part of acceptance, not an optional technical convenience.

4. Map accounts and sales-tax decisions separately

Map accounts by type, purpose, currency, balance and relationship to receivables, payables, banks and inventory. Mixed-use and control accounts require explicit treatment, and the accountant signs intentional differences. Avoid merging accounts or parties just to produce a shorter mapping file.

Use place-of-supply rules and supply-type distinctions on the new transaction. The CRA rate table supplies general GST/HST/PST/RST/QST rates, not item treatment. Taxable, zero-rated and exempt samples and ITC/ITR review are separate from account mapping.

Manitoba remains RST/TVD, while BC PST and Saskatchewan PST are jurisdiction-specific. 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. Do not extend Revenu Québec administration to other provinces; resolve any SLFI exception in the discovery workbook.

5. Calculate CAD expectations before importing and investigate every residual

The CAD record uses Cents and 0.01 rounding. Calculate expected values from accepted source, conversion and tax rules before import, then compare input, stored amount, display, entry and report in this workbook.

Test positive and negative cent values, multi-line documents, discounts, partial payments and large amounts. Product price, tax, discount, payment and final 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 settle to the cent.

  • Source amount, document currency and company currency: __________
  • Expected CAD amount and calculation: __________
  • Actual CAD amount and display: __________
  • Debit and credit totals: __________
  • Rounding path and residual: __________
  • Explanation, owner and sign-off: __________

Never change the expected value after seeing the result without recording the reason and reviewer. No general tolerance erases an unexplained residual.

6. Reconcile exchange rates, open items and bank history

For every foreign-currency document, record source amount, document currency, company currency, rate, rate date, approved source and expected/actual CAD values. Multi-currency documentation explains documents, payments and exchange differences but not the client's rate policy. Test an invoice with later and partial payments, a credit note and a settlement.

Match each open invoice or bill to source, currency, applied payments and remaining balance. Do not import both an opening balance and the same underlying document. Keep advance and unapplied payments separate and define their links without doubling obligations.

Choose the bank-history period and test manual statement import where required. Reconcile opening balance, transactions, unfinished matches, fees and refunds. Bank synchronization is institution and Enterprise dependent and not real-time; eligibility and CAD settlement are proved per account.

  • Document and remaining balance: __________
  • Document currency and company currency: __________
  • Applied payment or credit-note linkage: __________
  • Rate source/date and FX entry: __________
  • Bank statement ID and reconciliation state: __________
  • Residual and owner: __________

7. Reconcile inventory value and late landed costs

Reconcile quantity, unit cost and value by item, location, cut-off and valuation method. Review units of measure, tracking, service items and accounts, then compare inventory to the ledger. Document presentation differences rather than hiding them in one adjustment.

Odoo 19 landed costs can allocate eligible charges. Verify AVCO/FIFO prerequisites where required and use a separate Standard Price path. Build an imported purchase with receiving, a partial sale before freight arrives and another afterwards.

Record values before and after the charge, quantity sold and remaining, allocation basis, entry, inventory report and ledger. Test a return, transfer and count. Opening quantity without value or a late-cost adjustment without an owner is not acceptable.

8. Accept English/French output and preserve the filing boundary

Prepare an invoice and credit note with long English and French item descriptions, mixed references, tax labels and page breaks. Check PDF and print output as well as the entry and report. Retain useful English Odoo labels in French procedures while using TPS/TVH/TVQ, ARC, Revenu Québec, CTI/RTI and TVD du Manitoba correctly.

Canadian report structures and reporting documentation support preparation. Tax-return guidance 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.

Use the discovery workbook to decide whether Revenu Québec's general administration or the SLFI exception applies before selecting a filing channel. ITC/ITR review remains a professional task. A migrated field or visual invoice is not statutory acceptance.

9. Sign a reconciliation and acceptance pack by discipline

Run migration from preserved raw files and record mapping version, accepted, rejected, skipped, updated and created counts. Review every record type and error, correct causes and rerun to prove idempotence. Do not remove difficult records to make the run look cleaner.

The pack includes trial balance, receivables, payables, open documents, advances, inventory, currencies, banks, bilingual documents and reports. Accountant, inventory owner, bank owner and data owner sign within their domains. Every residual has a reason, owner and resolution.

  • Run version and source checksum: __________
  • Control totals and rejected-row review: __________
  • Residual explanation and owner: __________
  • Retest result and evidence location: __________

Classify gaps as extraction, cleansing, mapping, configuration, procedure, integration or professional decision. Attach evidence and a retest rather than enlarging tolerance or making a bulk unexplained adjustment.

10. Control cutover, rollback and handover

Define entry freeze, final export approval, run order, verification and go/no-go authority. Document a transaction arriving during the cut, read-only source access, rollback decision maker and how an old integration is prevented from restoring unapproved records.

Prepare English/French role cards for routine and exception work and rehearse sale, purchase, collection and close with synthetic data. After cutover, reconcile the first period, open documents, inventory and banks, tracking every defect and residual to closure.

Use the tax and bilingual discovery workbook for source and responsibility decisions, the branch/POS checklist for branch rollout and the bilingual training plan for handover. The QuickBooks and Zoho Books comparisons provide source-specific preparation; record an owner and acceptance decision for every residual.

Ready to get started with Odoo?

Tell us about your business — one of our experts will get back to you within one business day.

Free consultation · No obligation