How to clean ERP data before an Odoo migration
Migration cleanup should focus on duplicates, ownership, reference integrity, obsolete records, and the fields needed for future operations and reporting.
Data cleanup is not a request for users to tidy everything. It is a controlled set of decisions about which records are trustworthy, which values must be corrected, and which historical problems should be archived rather than imported. Create rules before editing data Define duplicate keys, mandatory values, valid formats, and ownership for each data set. For partners, that may include tax identity, email, phone, country, and company relationship. For products, it may include SKU, type, unit, category, valuation settings, and active status. Fix high-impact reference data first Transactions depend on partners, products, taxes, accounts, warehouses, and currencies. If these references are duplicated or mapped incorrectly, every dependent import becomes harder to validate. Do not erase history blindly An inactive supplier or discontinued product can still be required to explain old transactions. Archive status is usually safer than deletion. Keep a traceable mapping from source identifiers to target records so exceptions can be investigated. Assign rejected records Every failed or quarantined row needs a reason and an owner. Separate technical format errors from business decisions. A migration team should not decide whether two legal entities are duplicates without the data owner. Practical checklist Define validation rules and accountable owners per data set. Clean master data before dependent transactions. Preserve source identifiers and transformation mappings. Archive obsolete records when history still depends on them. Track rejected rows with reasons, decisions, and rerun status. Final decision Good cleanup produces repeatable transformation rules, not a one-time edited spreadsheet nobody can explain. The same rules should work during rehearsals and the final cutover.