The problem
An online IT retailer sells thousands of products it does not keep on a shelf. Each one comes from a UK distributor whose stock and prices change through the day. Sell something that has just run out, or at a price that has just jumped, and the retailer loses money and its standing with the marketplaces it sells on.
It was paying £350 plus VAT a month for an app that synced supplier stock into its shop. The app kept getting stock wrong and products went missing. The vendor’s own support said the link was still under development.
What replaced it
The retailer built its own sync engine with a developer. It reads the feeds from three UK distributors, matches each product by exact part number and works out the selling price from cost on every feed. AI agents then took over: they run it, harden it and keep adding to it.
The agents also built a best-supplier dashboard. Search by part number, barcode or name and it shows every supplier’s cost, delivery charge, stock and how fresh the data is, then picks the best deal and shows the shop price and profit. It can also work out the cheapest way to buy a whole order. It refreshes every 10 minutes, day and night.
Guardrails: what the system is not allowed to do
Thousands of automatic price and stock changes are only safe if the system knows when to stop. These rules are written down, tested and checked every day.
- Broken prices are held
- Before a product is first published, its price is compared with the cost from a supplier that has the same item in stock. If it is more than three times that cost, or below 30% of it, the product stays in draft for a person to check. On its first day the hold caught a graphics card priced at over £100,000. The hold only applies before first publication, so it does not take live products offline.
- A missing item has to be missing twice
- Only a complete feed counts, at least 90% of the size of the last good one. An item must be missing from two complete feeds in a row before its offer is dropped. Products are archived, never deleted, and a run stops if it would remove more than 300 at once.
- A stock buffer
- Fewer than five in stock shows as none, so the retailer does not sell what a supplier cannot ship. One supplier with reliable stock data is trusted from two.
- Nothing goes live unchecked
- A new product stays hidden until its supplier part is confirmed as exactly the same item and its photos pass a check of the whole gallery. On the first pass, 54 of 184 early listings passed and 77 went back to draft.
- A daily identity check
- Every morning a check compares live products with their supplier records. A proven mismatch goes back to draft, at most five a day, so a fault cannot empty the shop.
The agents as the team
Two AI coding agents, Anthropic’s Claude and OpenAI’s Codex, do the engineering. One builds and a different one reviews. Before any change touches live data it runs as a dry run that lists exactly what would change, and the owner gives the go.
The same team tidied the catalogue: 3,846 products given proper filter data, 70 product titles corrected (with every number checked against the supplier’s text), duplicate listings merged, and the shop’s 273 “image coming soon” placeholders brought down to none.
- Feed arrivesThree distributors’ stock and price files, checked every 15 minutes.
- Complete?A partial or failed feed changes nothing.
- MatchedBy exact part number. A near match is not a match.
- PricedSelling price worked out from the best cost by a fixed rule.
- CheckedBroken prices, short stock and unvetted products are held.
- Live or heldClean changes go live. Everything else waits for a person.
Plain code makes the stock and price decisions. AI writes listings and builds the tools, and a person approves the risky steps.
Who and what does each job
Most of the daily work is plain code. AI is used where reading or writing helps, and checked when it does.
| Part | Tool | Its role |
|---|---|---|
| Sync engine | ToolBuilt with a developer, extended by AI agents | Its roleReads the feeds, matches products, sets prices and updates the shop. |
| Best-supplier dashboard | ToolBuilt by Anthropic’s Claude, through Claude Code | Its roleShows every supplier’s cost, stock and data age, and the best deal. |
| Listings | ToolAn OpenAI model | Its roleWrites titles, descriptions and specifications, only after an exact part number match. |
| Daily checks | ToolPlain code, no AI | Its rolePrice rule check, identity check and a morning summary. |
| Engineering | ToolClaude and Codex | Its roleBuild, review each other’s work and run dry runs before live changes. |
What went wrong, and what we changed
Two things that did not go to plan, and what they taught us.
- AI credit ran out in testing
- An early product-data pilot used up its small AI budget while it was still being tested. The lesson: put a cost per product into the plan from the first day, and agree a monthly budget before scaling up.
- The first checks were strict
- The vetting gate sent 77 of 184 early listings back to draft. That was the gate doing its job: those products waited for a person instead of going live with doubtful details.
What we cannot claim yet
- The £4,200 is the subscription fee replaced. The new system has its own costs (hosting, a server, AI usage and development), so it is not a net saving.
- We do not claim sales results here. This story is about keeping supplier data right, not about revenue.
Any business that lives on supplier data can use the same pattern: plain rules for the decisions, AI for the reading and writing, and a person for anything doubtful.