Trade catalog with live stock and pricing

A catalog of eleven thousand products with customer-specific pricing, pulling stock from an ERP that was never designed to be queried live.

Trade customers each have their own negotiated pricing, and stock changes through the day. The old site showed neither, so every order arrived by phone to be checked.

Approach

Rather than query the ERP on every page view, we built a sync layer that keeps a read model warm and degrades to a cached figure when the ERP is slow. Pricing resolves per logged-in account at render time.

Result

Roughly two thirds of orders now come through the site without a phone call, and the pages stay fast at peak.

Why live pricing and stock is harder than it looks

A catalog with customer-specific pricing has a problem most stores do not: the same page has to show a different number to every logged-in buyer, and that number comes from a system built for accounting rather than for web traffic. Query it on every page view and the site is only as fast as the slowest ERP report.

The pattern that works is to stop asking the source system in real time. A sync layer holds a read model the site can hit instantly, with a sensible fallback when the source is slow or briefly unavailable. Buyers get a fast page and a price they can trust, and the ERP is not carrying traffic it was never designed for.

The commercial case is usually simple. Every order placed on the site instead of by phone is time returned to the sales team, which is the same argument behind most of the work we take on.

Read what clients say on Trustpilot