The problem
A retailer selling on Amazon, Noon, Noon Minutes, Sharaf DG, and Carrefour sees the same product five different ways: five SKU formats, five spreadsheets, five versions of the truth. Stock decisions get made on numbers that disagree with each other, and reconciling them by hand is a full-time job that still gets it wrong.
The system
Every incoming listing runs a four-step identification waterfall (internal SKU, platform listing memory, barcode, lazy create) while a parallel pgvector merge engine measures cosine similarity across channels and flags likely duplicates above an 85% threshold for one-click human review. Matching SKUs stops being someone's full-time job.
On top of the golden record sits Sentinel, a two-tier async insight engine: SQL anomaly detection catches dead stock and restock-adjusted velocity swings, then an LLM tier enriches each finding. Everything is deduplicated, debounced, and idempotent. A streaming conversational agent answers questions over live inventory with seven tools and a RAG knowledge base that ingests the retailer's own documents.
YOU Which products on Noon are about to run out?
query_inventory({ platform: "noon", lowStock: true })→ 3 rows
Three products on Noon are under their low-stock threshold:
The Galaxy is selling fastest. At its current velocity it is out in about two days.
The proof
A real retailer has run on Invenro every day since March 2026, so every bug is a production incident. When a revenue figure looked wrong, I traced it to a single bad cell in one uploaded file and corrected it the same day. When the client asked to see stock as it stood on a past date, the reconciliation view shipped within a day of the message. Schema changes go out expand-then-contract, so nothing goes down while they work.
When the numbers had to be trusted, I audited the whole read path and ran a data-correctness campaign until dashboards, ledgers, and the agent agreed to the unit. Ninety-five permanent regression tests hold it there. Since then the product has become portable: timezone, currency, and channels are per tenant, so the same code can serve a retailer outside the UAE.
- 600+
- active SKUs under management
- 5
- sales channels, one golden record
- 95+
- permanent regression tests