The truth about what actually sold.
Distributor data arrives messy — inconsistent outlet names, fragmented SKU codes, files in every shape. Dexor turns it into territory-level truth your whole organization can defend, without ever losing the original.
Any file. Any distributor. One pipeline.
Distributors upload raw sell-out and stock CSVs through secure, provenance-stamped uploads — or push sell-out via API key from their own systems. Every batch is validated, mapped, and canonicalized into analytics-ready data, while the byte-exact original is preserved for audit and replay. Messy in; defensible out.
Three spellings. One outlet. Zero guesswork.
A multi-stage engine reconciles distributor names and codes to your canonical masters. A deterministic normalizer handles the clean majority. A fuzzy scorer — token-set, trigram, and phonetic — ranks the rest. And a human match queue gives your data steward the final word: approve, override, or reject. SKU crosswalks map every distributor code to a canonical product, so brand rollups mean something.
Human-in-the-loop by design: no sale is ever silently attributed to the wrong outlet.
- “ABC Med Store” → ABC Store (Saddar)trigram 0.94approve
- “A.B.C. Medico” → ?token-set 0.71review
- SKU “BX-500” → Brand A 500mgcrosswalkmapped
Fix the mapping. Keep the history.
When a territory mapping is corrected, historical restatement re-projects already-ingested lines onto the newly approved territory — without rewriting the immutable source facts. The analytics move; the audit trail doesn’t.
Net sales, not gross noise.
Net secondary sales — returns and credits netted out — per distributor and per territory, broken down by SKU. While a batch is still ingesting, the number carries an honest “provisional” flag: never a silent undercount. Stock rollups add days-of-cover (stock ÷ run-rate) and near-expiry flags, so inventory health rides alongside sell-out.
provisional batch #4821 still ingesting — flagged, never silently undercounted.
See why rows fail. Then stop them failing.
A rejection Pareto shows exactly why rows were rejected; match-rate per distributor and period shows where reconciliation is weak; duplicate-outlet detection catches master-data drift — all filterable by distributor. Your sell-out numbers stay trustworthy because someone can actually see the pipeline.
Match-rate this period: 91% · 2 duplicate outlets detected.
Partners see their own numbers. Structurally.
A dedicated distributor login shows only that distributor’s sell-out and upload statuses — the scope comes from the login token itself, never a query parameter — using the exact same rollup math you see. Fewer “did my file go through?” calls, and zero risk of one partner seeing another’s data.
- july_sellout.csv4,120 rows · matched 91%processed
- stock_wk27.csvingestingprovisional
Same rollup math the principal sees · other distributors are unreachable.
Targets & forecasting
Join reconciled sell-out to per-SKU targets for precise attainment and a forward-looking quarter verdict.
Targets & forecastingPlatform & admin
Distributor, outlet, and SKU-crosswalk masters, seat governance, and a tamper-evident audit trail.
Platform & admin