IVAN CAPPONI.NET/C# · Microsoft Azure

Stock · Prices · Sync

Sync stock and prices between ERP and sales channels

Last updated: June 20269 min readIntermediate

Stock and price synchronisation between ERP and sales channels
Keeping stock and prices aligned across ERP, storefront and marketplaces without overselling.

Stock and prices are the most "alive" data in multichannel commerce: they change constantly, and a mismatch immediately turns into cancelled sales or wrong margins. Syncing them well between ERP and channels is one of the most critical parts of an integration.

The overselling problem

If the same product is sold on multiple channels, real stock is shared but channels "see" it with a delay. Without safeguards you sell more than available. The main defences are:

  • safety buffer: publish a quantity slightly below the real one;
  • fast updates: propagate changes quickly;
  • reservations: decrement stock at order time, not only at shipping.

Per-channel price lists

Price is not a single number: it can vary by channel, currency, promotion or marketplace rule. Manage per-channel price lists derived from a base price with rules (markup, rounding, minimum prices), so an upstream change propagates consistently.

Push vs polling

ApproachProsCons
Event-driven (push)Fast propagation, deltas onlyRequires reliable ERP events
Periodic pollingSimple, robustDelay and load even with no changes

The best solution is often hybrid: events for immediate changes and a periodic reconciliation cycle that catches any drift.

Work in deltas

Sending the whole catalog every cycle is expensive and saturates APIs. Compute deltas (what changed since the last published state) and send only those, keeping a "known state" per channel.

Architecture on Azure

A near-real-time sync on Microsoft Azure can combine: change capture from the ERP, a queue of stock/price events, per-channel workers that apply buffers and price lists and call marketplace APIs with retries, and a scheduled Function for periodic full reconciliation. Idempotency and "last state wins" prevent out-of-order updates.

Common mistakes

  • no safety buffer and overselling on slow channels;
  • a single price that ignores per-channel rules and currencies;
  • slow polling only, with no fast propagation;
  • updates applied out of order without version/timestamp.

Conclusion

Syncing stock and prices is a matter of speed and consistency: buffers against overselling, per-channel price lists, delta processing and a hybrid push + reconciliation approach. That keeps channels aligned with real warehouse stock, with no surprises on availability and margins.