Technical Lab · 0030

Data Cleaning Before Odoo Go-Live — the 10-point checklist.

Data migration is the phase that most Bangladesh ERP projects underestimate and most implementations regret. The week-eight discovery that your Tally vendor master has 400 duplicates — and your opening AP balance doesn't reconcile — is avoidable. Every item on this checklist is something that has actually blocked a go-live.

I have seen Odoo implementations where the system was correctly configured, the team was trained, and the go-live date arrived — but the launch was delayed by three weeks because the opening inventory didn't match the physical stock count, and the accounts team had only just discovered that two of their major customers had been entered in Tally under four different names. The configuration was ready. The data was not.

Data migration is not an IT task. It is a business task that requires active participation from accounts, warehouse, procurement, and HR. The Odoo consultant cannot clean your data for you — they don't know which of the four "ABC Garments" entries is the correct one. You do. This checklist tells you where to look and exactly what to fix.

Dirty data imported into a clean system doesn't get cleaner. It creates reconciliation debt that compounds daily after go-live.

Why data quality determines go-live success

Every data problem that exists in your legacy system at the time of migration will exist in Odoo after go-live — at scale, with new transactions layered on top. Problems that were manageable in a familiar legacy system become critical incidents in a new system where the team is still learning. Specifically:

Note · Distribution business, Chattogram~6 weeks post-go-live
A distributor went live with its Tally customer master imported as-is. One of its largest buyers existed in Tally under four spellings, and the outstanding balance had been split across all four records. After go-live, a BDT 7 lakh payment was matched against one of them while collections staff kept chasing a phantom "due" amount sitting on another. It took the accounts team most of a day to unpick — and the same pattern recurred for three more customers over the following month. None of this would have survived a deduplication pass before import. The cost of skipping that pass is not saved time — it is reconciliation work moved to after go-live, when the team is least able to absorb it.

Conduct your data audit first

Before starting any cleanup, generate these counts from your legacy system. These numbers tell you how much cleaning work is ahead and where to focus effort.

Customer records
?
Count unique customer/party ledgers. Expect 15–30% to be duplicates or inactive in a Tally system older than 3 years.
Vendor records
?
Count unique supplier ledgers. Flag all vendors without TIN — these need classification before import for correct TDS treatment.
Product / SKU records
?
Count stock items. Common issues: items without UoM, items without category, duplicate items with different names.
Open AR invoices
?
Outstanding customer invoices to migrate as opening receivables. Confirm aging with the accounts team before migration.
Open AP bills
?
Outstanding vendor bills to migrate as opening payables. Confirm against vendor statements before migration.
Stock locations
?
Number of distinct storage locations (warehouses, transit locations). Map each to Odoo location structure before import.

The 10-point checklist

Bangladesh-specific data fields — the ones projects miss

These fields are specific to Bangladesh compliance requirements and are not present in standard Odoo out-of-the-box import templates. Confirm your implementation vendor has included them in the import templates before data cleaning begins:

For more on migrating data from Excel-based systems and Tally, see our Excel to Odoo migration checklist with detailed field mapping templates.

Cutover day sequence

The cutover sequence below is for a Friday evening → Sunday morning go-live window (Bangladesh weekend). Adjust for your specific dates. Every step has a named owner and a verification checkpoint before the next step begins.

Thu 17:00
IT Admin
Final backup of legacy system database. Confirm production Odoo server is accessible and backup schedule is active.
Thu 18:00
Accounts
Legacy system freeze — no new transactions entered after this time. Communicate freeze to all staff. Extract final trial balance, AR aging, AP aging.
Fri 09:00
Warehouse
Physical stock count — final count of all items in all storage locations. Count sheets signed by warehouse manager.
Fri 14:00
Consultant
Import master data into production Odoo: customers → vendors → products → chart of accounts → employees. Verify record counts match import file row counts.
Fri 17:00
Consultant + Accounts
Import opening balances: AR (individual invoices) → AP (individual bills) → other journal entries (bank balances, equity). Trial balance check #1.
Fri 20:00
Consultant + Warehouse
Import opening inventory using physical count quantities and weighted average unit costs. Inventory valuation check against financial opening balance.
Sat 09:00
Accounts
Final trial balance reconciliation: Odoo trial balance vs legacy system closing trial balance. Resolve any variance before Sunday go-live. Sign-off form completed.
Sun 08:30
All teams
Go-live. First live transactions begin. Consultant on-site. Issue log open. Legacy system read-only for reference for first 30 days.
Bottom line

Data migration is where good projects separate from mediocre ones. The 10 items in this checklist are not optional — each one represents a category of problem that has delayed or derailed a real Bangladesh ERP go-live. For the full implementation context around your data migration phase, see the 12-week Odoo implementation roadmap — data migration maps to Phases 3 and 4 in that plan. Need help structuring your data migration? Let's talk →

Frequently asked questions

How long does data migration take for Odoo in Bangladesh?

For a Bangladesh SME, data migration typically takes 3–5 weeks of elapsed time. Week 1: data extraction and audit. Weeks 2–3: cleaning and deduplication (most time-consuming). Week 4: test import and error resolution. Week 5: final import and opening balance reconciliation. The most common delay is accounts team unavailability — explicitly block their time in the project plan for the reconciliation steps.

What data needs to be migrated to Odoo from Tally in Bangladesh?

Required data categories from Tally: master data (customer ledgers, vendor ledgers, stock items, chart of accounts, employees); opening balances (trial balance as of cutover date, AR aging, AP aging); opening stock (quantity and cost per product per warehouse from physical count); and open transactions (purchase orders not yet received, sales orders not yet shipped — recommended to re-enter manually rather than migrate for most SMEs).

What is the most common data migration problem in Bangladesh ERP projects?

Duplicate and inconsistent master data from Tally. A single customer may appear as 4–6 different ledger entries with slightly different name spellings. When migrated without deduplication, this creates split AR balances that cause incorrect customer statements and payment matching problems. The deduplication step for a company with 200–500 active counterparties typically takes 1–2 full working days.

What Bangladesh-specific data fields are required in Odoo?

Required for compliance: BIN number on customer/vendor records (for Mushak invoice printing), TIN on vendor records (for TDS rate classification), NID on employee records (for PF and payroll compliance), bank routing numbers (BEFTN code) for electronic payment files. These fields are not in standard Odoo import templates — confirm your vendor has included them before data cleaning begins.