Inventory sync errors all present the same way, a count that is wrong somewhere, while the causes sort into five distinct classes, each with its own fix. The fastest path from symptom to cause is knowing the classes and checking them in the order that eliminates the most possibilities per step.
The five failure classes
1. Identity errors (the most common). The tool cannot match your store’s product to the channel listing: missing SKU, mismatched SKU, variant SKUs inconsistent between platforms. Symptom: one SKU never syncs while its neighbors do, or updates land on the WRONG listing (the expensive version). Fix: SKU discipline, re-match, and never let a tool guess.
2. Authorization errors. The channel connection’s grant expired, was revoked, or lost a permission after a marketplace API change. Symptom: an entire channel stops updating at a specific timestamp while others continue. Fix: reconnect the channel’s authorization; a good platform surfaces this loudly rather than letting the channel quietly rot.
3. Timing gaps. Not an error the tool reports, an architecture behaving as designed: interval-based sync leaving minutes of disagreement, the batch-versus-real-time distinction. Symptom: counts are eventually right but wrong exactly during busy windows; oversells cluster on your best days. Fix: event-driven sync; no configuration of a batch tool removes its window.
4. Conflict errors (two writers). A second system, an old plugin, a spreadsheet importer, a platform-native integration left on, also writes counts. Symptom: values change without a corresponding order; corrections revert themselves. Fix: one owner of truth, and disable every other writer, not pause: disable.
5. Silent stalls. The sync process itself died or backed up, and nothing said so. Symptom: everything is stale everywhere; last-success timestamps age uniformly. Fix immediately: restart or reconnect; fix permanently: a tool with per-channel sync health and failure alerting, silence is the defect.
The diagnostic order
- Check the sync log first. Per-channel last-success timestamps split the problem instantly: one channel stale = authorization or that channel’s API; all channels stale = stall; log shows pushes but the channel disagrees = identity or conflict. Unifystock’s per-channel sync health exists precisely for this step.
- Trace one SKU end to end. Pick a wrong count, find its last event (sale, edit, return), and follow it: did the source record it, did the log push it, did the target accept it? The break is between two of those.
- Reproduce deliberately. Edit the SKU’s stock at the source and watch propagation with your own eyes, seconds tells you the pipe works (so the incident was identity/conflict), nothing tells you where it is blocked.
- Audit for second writers if values still shift mysteriously: platform-native channel integrations, forgotten plugins, scheduled imports.
Prevention beats archaeology
- Verifiability: a sync you can audit converts every future incident from mystery to lookup.
- Alerting on failure and staleness, so class 2 and 5 announce themselves.
- Identity hygiene as routine, duplicate and SKU audits quarterly.
- Buffers on thin SKUs so the residual risk of ANY class lands on cushion rather than on a customer, sizing here.
Common questions
My counts are right on the store but wrong on one marketplace - where do I look?
That is the one-channel-stale signature: authorization or that marketplace’s listing identity. Sync log first, then the SKU match for that channel.
Sync worked for months and broke after a marketplace update - why?
Marketplace API changes can invalidate grants or alter payloads; platform-maintained integrations absorb these upstream. If your connector is an unmaintained plugin, this class recurs, an argument for hub architecture.
The tool says synced but the marketplace shows old stock - who lies?
Neither, usually: the push succeeded to the API, and the marketplace’s own processing lagged, or the update landed on a different listing (identity error). The target listing ID in the log settles it.
How often should sync errors happen at all?
Approaching never for classes 1, 4 and 5 in a healthy setup. Transient API hiccups (rate limits, marketplace maintenance) occur and should retry automatically and visibly.
A sync you can interrogate
Per-channel health, event logs, failure alerts, and second-level propagation, so wrong counts become lookups, not mysteries. From $49/month with unlimited orders. See pricing.