Odoo Data Migration Checklist for Australian Businesses
The Odoo data migration checklist we use on Australian projects: what to clean, what to leave behind, GST mapping, opening balances and cutover timing.
By Josh Craig, Director, Auboros · · Updated
Most of the hard work in an ERP move has nothing to do with configuring software. It’s the data. 36% of mid-sized Australian businesses are looking to upgrade their core business systems, and the projects that hurt usually hurt at the same point: getting years of accumulated records out of the old system and into the new one in a state anyone can trust.
We’ve published detailed guides on moving from Xero to Odoo and moving from MYOB AccountRight to Odoo. This post is the checklist that sits underneath both, and underneath our ERP migration service more broadly. It’s the sequence we work through on every Odoo data migration, whatever the source system.
Decide what you won’t migrate
Start here, because this decision shapes everything that follows.
You have three realistic options for historical transactions. Bring the full history across, bring opening balances plus open items only, or post monthly summary journals for the prior year or two. Full history sounds appealing and is almost never worth it. Every historical invoice you import has to carry the right GST code, the right contact, and the right account mapping, and one systematic error multiplied across five years of transactions is a very expensive cleanup.
The ATO requires you to keep business records for at least five years, but nothing in those rules says the records have to live inside Odoo. A complete export of the old system, kept somewhere accessible, satisfies the requirement. Most of our clients keep read-only access to the old platform for a few months and an archived export after that.
Master data: the part worth being fussy about
Master data is what you’ll live with for the next decade, so this is where the cleaning effort belongs.
- Customers and suppliers. Merge duplicates before export, not after import. Check ABNs, billing contacts and payment terms. If a record hasn’t transacted in two years, ask whether it needs to come across at all.
- Products. Confirm units of measure are consistent and decide your costing method now. FIFO or average cost is a setup decision in Odoo, and changing it after you’re live is painful.
- Chart of accounts. Migration is your one clean chance to restructure. Collapse the 40 unused accounts your old file collected. Odoo’s Australian chart is a sensible starting point; map to it rather than recreating the old mess.
- GST tax codes. Odoo’s Australian localisation ships with standard GST codes wired to BAS reporting. Map every tax code in your old system to its Odoo equivalent before you import a single transaction. This one spreadsheet tab prevents most BAS problems later.
Opening balances and open items
Your trial balance at the cutover date needs to land in Odoo to the cent. That part is mechanical. The detail that catches people is open items: unpaid customer invoices and supplier bills should come across as individual records, not one lump balance, because incoming payments need real invoices to match against. The same goes for unpresented bank transactions sitting in your old reconciliation.
The migrations that go badly are almost never a software problem. They’re a deciding problem. Nobody agreed early on what the new system didn’t need to hold, so everything came across, mess included.
Josh Craig, Director, Auboros
Test your Odoo data migration before the real one
Odoo imports master data and balances from spreadsheets, and the import tooling is usable by non-developers for master data. That makes it tempting to go straight to the real load. Don’t.
Load your files into a staging database first. Reconcile the trial balance against the old system, open ten customers and check their details end to end, raise a test invoice and confirm the GST lands in the right BAS field. Then wipe it and run the real migration with the corrections applied. Capterra’s Australian research found fewer than one in three businesses successfully adopt new software, and mistrusted data is one of the quiet reasons. If the sales team’s first search in the new system returns a duplicated customer with an old address, you’ve lost credibility you’ll spend months earning back.
Your first bank reconciliation in Odoo is the moment of truth. If the migration was clean, it’s boring. Boring is the goal.
Time the cutover to a BAS quarter
The cleanest cutover date in Australia is the first day of a BAS quarter: 1 July, 1 October, 1 January or 1 April. Each BAS then comes entirely from one system, and your accountant will thank you. Cutting over mid-quarter means splitting a BAS across two systems, which is doable and never fun.
One caveat we apply on every project: payroll is its own workstream with its own timeline. We scope payroll cutover separately from the finance and operations migration, and it often makes sense to run it on a different date.
The checklist in one place
- Scope the history. Decide what comes across: opening balances and open items for most businesses.
- Archive the source. Full export of the old system, stored where you can reach it for five years.
- Clean master data. Duplicates merged, ABNs checked, dead records culled.
- Map GST codes. Every old tax code matched to an Odoo equivalent, reviewed by your accountant.
- Test load. Staging database, trial balance reconciled to the cent, sample records checked.
- Real load and cutover. First day of a BAS quarter, open items imported individually.
- Verify. First bank reconciliation clean, first BAS reviewed against the old system’s final one.
Planning an Odoo migration and not sure what your data will throw at you?
Our Brisbane team runs migrations for Australian businesses moving off Xero, MYOB and older ERPs as part of our Odoo implementation work, using the checklist above. Book a free consultation and we’ll tell you honestly how messy your migration is likely to be, and what we’d leave behind.
FAQ
Frequently asked questions
Do I have to migrate all my transaction history to Odoo?
No. Most Australian businesses migrate opening balances and open invoices only, and keep a full export of the old system to meet the ATO's five year record keeping requirement. Full history migration is possible but rarely worth the cleanup effort.
How long does an Odoo data migration take?
For most small and mid-sized Australian businesses, allow 2 to 6 weeks inside the wider implementation timeline. The biggest variable is data quality: clean master data loads quickly, while heavy duplication and inconsistent GST coding add weeks.
Can I import data into Odoo myself?
Master data like customers, suppliers and products can be imported from spreadsheets using Odoo's built in import tools. Opening balances, open transactions and GST mapping are worth doing with a partner, because errors there flow directly into your BAS.
When is the best time to cut over to Odoo in Australia?
The first day of a BAS quarter: 1 July, 1 October, 1 January or 1 April. Each BAS then comes entirely from one system. Avoid cutting over mid-quarter unless you have a strong reason.