Bottom line first: whenever ERP and WMS inventory numbers refuse to reconcile for weeks on end, the root cause is almost always unsynchronized master data. The interface is fine, the network is fine — the two systems simply disagree on what "the same item" means. You're not reconciling two ledgers. You're translating between two languages that were never aligned.
I've hit this exact wall three times. Once at a 3C accessories distributor in South China, once at a cosmetics fulfillment warehouse in East China, and most recently — this June — at a small-appliance exporter in Foshan. Every time the symptom was identical: IT ran the daily reconciliation, ERP and WMS were off by hundreds or thousands of units, and nobody could explain why. Finance blamed IT, IT blamed the floor, the floor swore the physical count was right. Every time, we lifted the hood and found the same thing: master data drift.
Why Master Data Desync Is the Root of All Evil
In the ERP, an item is finance and procurement's language: item code, description, spec, unit of measure, barcode, dimensions, weight. In the WMS, the same item is the floor's language: same code, but layered with ABC class, putaway rules, rotation logic, pack hierarchy.
The moment any one of those attributes disagrees, inventory splits into two realities. Here are the five failure modes I see most — run through them like a checklist, because one of them is almost certainly your problem:
| Symptom | What ERP says | What WMS says | Actual root cause |
|---|---|---|---|
| Same SKU is always off by a fixed amount | Books in cases | Picks in eaches | Case-to-each conversion factor never maintained in WMS |
| New item can't be scanned at receiving | Barcode exists in ERP | Barcode never pushed to WMS | Barcode field missing from the sync mapping |
| Cycle counts never balance, variance clusters on a few SKUs | Item status is just "active" | WMS has QC-hold, frozen, damaged statuses | Status dictionaries never aligned |
| Pickers keep grabbing the wrong variant | Spec is free text | Floor relies on barcode | Spec field definitions differ between systems |
| Month-end close is a nightmare | Costs tracked by lot | WMS stores mixed pallets | Lot-control attributes defined differently |
Notice: not one of these is a software bug. Every one is a master-data definition mismatch. So upgrading servers, rebuilding interfaces, and swapping middleware is money down the drain. The fix lives in master data governance.
The Playbook: My Go-Live Eve Master Data Checklist
This is the checklist I run before every go-live. No signature until every box is ticked.
Step 1: Crown a single source of truth.
Decide, in writing: ERP owns item master data; WMS consumes it. No manual item creation in WMS, no hand-edited units, no hand-typed barcodes. Everyone nods at this in the kickoff meeting and quietly ignores it by week three. My move: revoke item-maintenance permissions in WMS entirely, leave read-only, and force all new items through ERP-driven sync. This is policy, not a suggestion.
Step 2: Map every field, one by one.
Pull the full item tables from both systems and build a field-mapping sheet. Watch these eight fields like a hawk: item code, description, spec/model, base unit of measure, alternate units and conversion factors, barcodes (unit, inner pack, outer carton), pack hierarchy, lot-control flag. For each field, document three things: what ERP calls it, what WMS calls it, and sync direction plus frequency. The conversion factor deserves its own callout: it causes the vast majority of quantity mismatches I've investigated. One "case = 24 units" coefficient changed in ERP but never synced, and WMS keeps receiving at 12 — the variance will drive you insane.
Step 3: Pick your sync rhythm — scheduled, event-driven, or both.
My standard: item master data syncs on a schedule (nightly full pass, plus event-triggered push on new items); inventory transactions go real-time. Master data doesn't need to arrive in seconds, but it must arrive, guaranteed. On every project I require three things: (1) sync logs you can actually read — which item, when, success or failure; (2) automatic retry three times on failure, then an SMS to the IT owner; (3) an automated "yesterday's master data changes" digest emailed every morning at 8 to both ops and IT.
Step 4: Run a full diff before go-live and clean the dirty data.
Export both item masters, join on item code, diff everything. My rule: if the mismatch rate exceeds 5%, the go-live date moves. Clean first. I say this up front or you'll be firefighting for months. The worst I ever saw: nearly a third of items had mismatched barcodes — years of manual entry errors. Two weeks of cleanup pre-launch, then three straight months above 99% inventory accuracy.
Step 5: Give the floor an escape hatch — with an audit trail.
No process survives contact with reality: rush shipment at the dock, item not yet in ERP. My approach: WMS may create a "temporary item," but it expires in 24 hours, at which point the formal ERP item must replace it or the order auto-locks and the warehouse manager gets copied. Temporary items have an expiry, an owner, and a full audit log. Without a sanctioned escape hatch, the floor invents its own workarounds — and those are far worse.

Two War Stories
Story one: the barcode that never synced, three months of wasted cycle counts. November 2023, a phone-accessories client in Shenzhen. Three months post-go-live, count variances wouldn't come down. Two months of digging later, we found it: the supplier had changed outer-carton barcode rules, ERP was updated, but the interface's field map had no "outer carton barcode" field — whoever built the map thought it was unnecessary. WMS kept receiving against the old barcode, scans failed, staff typed codes by hand, hand-typed codes were wrong. Fix: add the field, run a full resync, reaudit three months of manual receipts. Lesson: one missing field in the mapping sheet means you didn't integrate at all.
Story two: the conversion factor that nearly got finance blamed for theft. This June in Foshan, the appliance maker changed a kettle's pack config from 6 to 8 units per case. Procurement updated ERP; WMS never got the memo. WMS kept receiving at 6, ERP booked at 8 — tens of thousands of units adrift within a month. Month-end close blew up, and for a week people quietly wondered about internal theft. I went on site, pulled both conversion factors side by side, and found it in five minutes. Now every conversion change at that client goes through an approval workflow with dual-system confirmation.
The Counterintuitive Take
Most people assume the hardest part of ERP-WMS integration is the interface technology — which middleware, which protocol, how to handle concurrency. After 30-plus go-lives, I'll say it plainly: the technology was never the hard part. The hard part is getting both business teams to agree on who owns master data.
IT wants to own it; the business says "you don't use it daily, you don't understand it." Procurement creates items with spec descriptions the floor can't read. Finance wants lot granularity; operations wants speed. Until that agreement is signed, the prettiest interface in the world is decoration. That's why the first thing I do at every project kickoff isn't the technical design — it's getting all three sides in a room to sign the master data governance document. Signature first, then we talk.
Go-Live Eve Checklist: Master Data Edition (print it, tick it)
- Single source of truth documented in writing; WMS item-maintenance permissions revoked
- Field mapping sheet complete for all 8 core fields; conversion factors independently re-verified
- Sync logs readable; retry-plus-SMS alerting tested end to end
- Full pre-launch diff under 5% mismatch; dirty data cleansed
- Temporary-item process configured: 24-hour expiry, auto-lock on overdue, audit trail
- All three barcode levels (unit/inner/outer) syncing; 50-SKU spot check passed
- Daily master-data change digest automated; owners confirmed
Tick all seven before you hit "go live." Miss one, and push the date — a one-week delay beats three months of firefighting. I say this on every project. The clients who listen sleep well afterward.
By Lin Xiao, WMS Implementation Consultant









