From van load to distributor claim, in one platform.
FMCG isn't one workflow - it's twenty workflows that have to interlock by 5 p.m. or the next day's load is wrong. Vendix runs the full chain end-to-end: NSM forecasts, RSM territories, ASM routes, distributor van loads, sales rep outlet visits, free-issue promos, returns, payments, and the principal claim that ties it all up.
- 5
- Hierarchy levels
- BXGY
- Free issues
- RPL
- Distributor pricing
Indirect channel · sales hierarchy
5 roles · territory-scoped · ManagerId ladder for approvals
Six a.m. start. Five p.m. close. Audited the whole way.
Day Start
Van stock loaded against route plan. SalesRep checks in at the depot - GPS-verified. Route downloaded to Android (works offline from this point on).
Day Start block · v1 shipped 2026-04-14
First outlet
Geofence triggers ENTER. Rep takes order via voice or Compose UI. Free-issue rules evaluate (BXGY mutual exclusion enforced). Invoice generated, GPS-stamped, written to Room as PENDING - instant UI.
Voice · Free Issues · Pipeline Engine
No coverage
6 invoices, 2 returns, 1 visit log all sit in Room. Status badge shows "Offline · 9 pending". Rep keeps working.
Offline-first · WorkManager queues
Coverage returns
WorkManager fires. 9 transactions push FIFO. Server pipeline runs (validate, allocate FEFO, persist, audit). Badge clears. Rep doesn't notice.
ClientTxnId idempotency · server-validated
Day End
Van Stock Reconciliation auto-runs. Daily Sales Report (DSR) auto-generated. Variances flagged for ASM review. Rep checks out.
Day End block · DSR auto-gen · v1 shipped 2026-04-14
ETL + claim
Hangfire ETL refreshes ReportDb. Distributor Claim worksheet rolls up the day's sales for the principal. Reports update themselves.
Reports · Claims · 15-min ETL
Every line item your team mentioned in the RFP.
Distributor hierarchy
Indirect channel with proper RPL/DPL pricing layers, distributor product mappings, sales-rep product mappings - both filters apply on every order.
Route plan + geofence
Routes assigned per rep, daily plan downloaded to Android, geofence ENTER/EXIT logged. Route compliance KPI per rep per day.
Free Issues (BXGY)
Plain-English rules compiled to a deterministic engine. Slabs, caps, mutual exclusion, cross-SKU, default products, season tags. All evaluated server-side.
Sales Order → Invoice
PickList, LoadSheet, DispatchNote, GatePass - full lifecycle with stock reservation. Or skip directly to invoice for van-sales.
Collection + aging
CustomerPayment with allocation, cheque Pending→Cleared/Bounced lifecycle, aging buckets (0-30/31-60/61-90/90+).
Returns + Claims
SalesReturn (post-delivery), CreditNote (auto-issued on approval), DistributorClaim (distributor → principal reimbursement).
Sales Targets
Per-rep monthly/weekly targets with achievement % live. Both indirect (rep) and direct (DS rep) channels.
Outlet GPS tagging
Pin exact store location during first visit. <50m accuracy gate. Variance reports for outlets that "moved".
Demo data on tap
20 product configs, 10 outlets, 3 routes, full credit-approval ladder, 4 price lists with 60 revisions, 2 free-issue schemas pre-activated. Idempotent.
15 min
Sales freshness
ETL refresh cadence. The dashboard at 9 a.m. shows data from 8:45.
100m
Geofence radius
Default per-outlet radius for visit verification. Tunable per outlet.
FEFO
Inventory allocation
First-Expiry-First-Out batch picking on every invoice. Quarantine for recalls.
See your van fleet on a sandbox tenant.
Bring a route plan, a price list, and a free-issue rule that broke your last system. We'll wire it in front of you and show you the audit trail.