Inventory migration from Excel: catalog, count and cutover
Uploading a file is only one step. Duplicate products, boxes treated as pieces and movements missed during cutover can leave the new system wrong from the start.
What do you need to migrate besides the product file?
If you have already recognized the signs your business has outgrown Excel, the next step is to decide what moves into the system and how to verify it arrived correctly. You do not need to copy every saved spreadsheet; you need the information that lets the team keep operating and explain its balances.
| Information | What must be clear | Acceptance check |
|---|---|---|
| Catalog | Product identifier, name, unit and approved conversions | Each identifier points to the correct product and retains leading zeros |
| Opening stock | Product, location, lot where applicable, state and quantity at cutover | Matches the reconciled count and retains its evidence |
| Pending documents | Reserved orders, purchases awaiting receipt, transfers and open returns | Importing them does not deduct or receive stock a second time |
| Required history | Movements and documents you need to consult or audit | A sample can be traced to its original document |
Separating these layers prevents an order from being imported as stock and deducted again at fulfillment. History can remain in a separate lookup if that meets your operational needs; it does not all have to become new stock movements.
How do you clean identifiers, duplicates and units?
Treat product identifiers as text even when they look numeric. Microsoft explains how to preserve leading zeros and long numbers; formatting later does not recover digits already lost. Check a test export to confirm that product 00025 remains 00025.
Keep a record’s identity when updating it. Odoo’s import documentation warns that changing or removing an external identifier can create a duplicate instead of updating a record. Other software may use a different field: ask which combination identifies each record and how it is reused when a file is imported again.
The same SKU can legitimately appear in different warehouses, lots or states. That differs from two catalog products created for the same item. Before combining rows, establish their origin and product–location–lot–state combination. Do not guess a box-to-piece conversion: its factor must match that product and packaging.
Worked review: which rows pass and which must stop?
| Case | Input | Required outcome |
|---|---|---|
| M01 | TOR-M6: 120 recorded pieces and 120 counted | Accept 120 pieces at their location and retain the evidence |
| M02 | Another TOR-M6 row with 30 pieces, flagged as a possible duplicate | Hold until its origin is established; do not automatically add or discard it |
| M03 | ACE-01: 4 boxes; approved factor of 12 pieces; count of 48 pieces | Convert 4 × 12 = 48 pieces and retain the original unit and factor |
| M04 | 2 boxes without a known conversion factor; count of 24 pieces | Hold the row; a count does not authorize inferring and saving a factor of 12 |
| M05 | 10 recorded and counted pieces, but no product identifier | Hold the row; matching quantities do not identify the item |
| M06 | EMP-02: 20 recorded pieces and 18 counted | Explain the -2 difference and approve the opening balance; do not ignore it |
| M07 | ETQ-03: recorded and counted balance of 0 pieces | Retain zero when the catalog and cutover are approved; do not delete the product |
| M08 | PINT-01: -3 recorded liters and 0 counted | Investigate the +3 discrepancy; do not replace the negative with zero to clean the report |
Download the migration example CSV and test-pack instructions. The CSV helps discuss rejected rows and approvals; adapt its fields to the selected system. A resolved difference must retain who authorized it and why.
How do you record movements during cutover?
Define the instant represented by opening stock. Then identify every movement between counting, exporting and starting the new record. If 10 pieces arrived after counting, decide whether they are already in opening stock or will enter as a later movement: record them once, with their reference.
- Before cutover: back up the original file, retain its date and version, and test the import in a separate environment. The warehouse owner reviews count differences.
- During cutover: pause movements for the chosen scope or use a controlled log with reference, time, product, unit, origin, destination and operator. Assign who records it and who confirms completeness.
- At startup: load the approved opening balance, record later movements in order, and reconcile pending documents. Compare by product and location rather than a single grand total.
- Afterwards: identify which system accepts changes. Excel can remain a backup and lookup; unrestricted entry into both produces two versions of the operation.
Cutover can be scoped to one warehouse or product group if the process allows separation. Agree on the window and dependencies around your movements and vendor; this guide does not promise interruption-free migration or a fixed duration. For goods moving between locations, also review inventory between warehouses.
Which tests must pass before you accept the migration?
| Test | Expected result | If it fails |
|---|---|---|
| Import the same sample again | Updates or rejects under the agreed rule; does not duplicate products or quantities | Review record identity and the import procedure |
| Receipt and issue after cutover | Each reference changes stock once and remains traceable | Stop acceptance of that flow and reconcile the movement log |
| Count by product, location and applicable lot | Approved balances and explained differences agree | Resolve the difference with evidence and authorization |
| Pending order or transfer | Keeps its state; is not received or fulfilled without the corresponding movement | Review how balances and documents were imported |
| Permissions and evidence lookup | Only authorized people adjust stock; the team can explain a quantity’s origin | Correct access or traceability before operational use |
An agreed recovery plan does not mean there is an undo button. Odoo warns that imports are permanent. Confirm which backup, restore or correction options your vendor offers. If you must return to the previous record, first preserve and reconcile new movements: restoring an old copy without them loses real operations.
Do you need custom software to do this?
Not necessarily. Existing software that imports your catalog correctly, respects units and passes your tests may be enough. Custom work is justified when your rules, connections or approvals do not fit that configuration. Compare scope and inventory-system costs, including data cleanup and startup support.
In Polymer for Sumiplas, information previously kept in Excel moved into a system connecting production and inventory. That case supports data migration and connected operations; it does not turn these synthetic records into results from that factory.
Bring a catalog sample, a real count difference and a list of pending documents to the consultation. Use the scope worksheet to agree on imports, tests and acceptance responsibility. See our inventory system and manufacturing approach.
Primary sources reviewed October 5, 2026. These examples and tests propose an operational review; adapt the procedure to your system and the people responsible for your business.
Frequently asked questions
Not always. Separate the catalog, opening stock, pending documents and history needed for lookup. Some history can remain available for consultation if it meets your operation and the obligations you review with the responsible people. Importing it as new movements can duplicate quantities if those uses are not distinguished.
No. It may be a duplicate or a valid row for another warehouse, lot or state. Check the combination identifying the record and its originating document before merging, discarding or adding. In example M02, the row stays on hold until its origin is established.
Review pending movements, units and count evidence. Document the difference and obtain the responsible person’s approval before setting opening stock. Example M06 has 20 recorded pieces and 18 counted: the -2 difference needs an explanation rather than being hidden.
It depends on scope and the cutover procedure. Agree on a pause for the selected group or a controlled movement log during the transition. Define one authority for changes and reconcile those movements before accepting the new balance; an interruption-free transition is not promised.
Sources
Last updated:
