3 senior engineers available this monthhello@buildtosolve.com
Case StudiesE-commerce
E-commerce

Multi-Channel Inventory Sync Across 5 Platforms

Mid-market e-commerce retailer · 8,000+ SKUs

99.4%stock accuracy (up from 72%)
8 weeks delivery
Node.js, PostgreSQL, React

The challenge

With stock levels managed separately across 5 platforms, overselling was a weekly occurrence. Reconciliation took a full day every Monday. A large Christmas season oversell had resulted in 400 cancelled orders and significant reputational damage.

Our solution

We built a centralised inventory management hub that acts as the single source of truth. It syncs stock levels across all 5 channels in real time, handles order reservations atomically, and provides a unified dashboard for stock management.

The Problem

Selling across multiple channels is a growth strategy — until inventory becomes a liability. Each platform had its own stock number, updated on different schedules, with no awareness of what was happening on other channels. When a high-demand item sold out on Amazon, Shopify was still showing it as available.

The Christmas oversell was the breaking point: 400 cancelled orders generated hundreds of negative reviews, refund costs, and a temporary Amazon seller rating suspension.

Our Approach

We built a centralised inventory service in Node.js with PostgreSQL, acting as the master record for all stock levels. When a sale occurs on any channel, the service receives a webhook, decrements the inventory atomically (using database transactions to prevent race conditions), and broadcasts the updated quantity to all other channels via their respective APIs.

We handled the complex edge cases: Amazon's FBA stock vs. merchant-fulfilled stock, eBay's out-of-stock vs. ended listing states, and Shopify's variant-level inventory tracking.

The Outcome

In the first month after go-live, not a single oversell was recorded across any channel. The operations team's Monday reconciliation was replaced by an automated daily digest. The Christmas season following the implementation processed over 12,000 orders across all channels without a single inventory conflict.