Everything a distributor runs, on one system of record.
Not a dashboard bolted onto a spreadsheet. The order a rep takes in a shop with no signal is the same record that prices the invoice, moves the batch, ages the receivable, and closes the day.
10 modules • 64 capabilities • one source of truth
Offline-first
Reps keep working through dead zones. The outbox syncs on reconnect.
Isolated tenant data
Your catalog, routes and books never share a table with anyone else's.
Multi-language ready
The rep app and back office support multiple languages — adapt to your team's language.
On-site printing
Tax invoices and credit notes printed in the shop, from the handset.
Push notifications
Approvals, assignments and alerts reach the right person, in-app and on device.
Audit trail
Every change attributed, and every deletion reversible from the trash view.
Field sales and the rep app
An offline-first Android app for reps who lose signal the moment they leave the depot.
- Orders, visits, payments and returns all captured without a connection
- Everything queues in an outbox and syncs the moment signal returns
- Credit limits checked before an order is confirmed, not after
- Tax invoices printed on-site from the rep's own handset
- Reps management
- Journey plans
- Check-in and check-out
- Sales targets
- Offline outbox sync
- On-site printing
Shop visit
Nugegoda Superette
Credit check · Rs. 42,000 available · FIFO batch BN-2611
Milk Powder 400g
24 pcs
Rs. 8,400
Tea Leaves 200g
36 pcs
Rs. 5,760
Biscuit Pack 12s
18 pcs
Rs. 4,320
Total
Rs. 18,480
Routes, journey plans and shops
Assign shops to routes once. Every visit after that is planned, logged, and attributable.
- Shop directory grouped by route, territory and visit frequency
- Scheduled journey plans pushed to the rep's app for the day ahead
- Visits logged with timestamped check-in, check-out and photo proof
- Routes reassigned between reps without retraining anyone
- Routes
- Advanced route tracking
- Journey plans
- Shop directory
- Visits
- Visit photos
GPS tracking and duty sessions
A rep clocks on, the van starts pinging, and the day becomes a record you can replay.
- Live map of every rep currently on duty, refreshed as pings arrive
- Any past day pulled back up as a full GPS breadcrumb trail
- Duty sessions bracket the working day with a clear start and end
- Shops plotted on the same map as the reps who serve them
- Live GPS tracking map
- Route history playback
- Customers map
- Duty sessions
- Location pings
Products, batches and suppliers
Every unit traced back to the batch it came in on, and the purchase order that bought it.
- FIFO batch and lot tracking with expiry dates on every product
- Purchase orders received against suppliers and booked into batches
- Categories and units defined once and reused across the catalog
- Expiring stock surfaced before it turns into a write-off
- Product catalog
- Batch tracking
- Suppliers
- Purchase orders
- Categories and units
Milk Powder 400g
FIFO orderBN-2611
Expires 12 Aug 2026
120 units
Assigned
BN-2609
Expires 03 Aug 2026
84 units
In warehouse
BN-2604
Expires 27 Jul 2026
16 units
Low stock
Inventory and stock assignments
Warehouse stock and van stock are the same ledger, not two spreadsheets that argue at night.
Stock assigned to a rep by batch before the van leaves the yard
Rep confirms the load on their handset; discrepancies are logged, not argued
Optional approval workflow before an assignment is released
Every movement written to one auditable stock ledger
- Inventory and stock movements
- Stock assignments
- Assignment approvals
- Stock counts
- Discrepancy log
Orders, pricing and schemes
Price lists and promotions applied the same way on every order, by every rep, every time.
- Shop-specific and route-specific price lists resolved at order time
- Promotional schemes applied automatically, never keyed by hand
- Orders move through draft, confirmed, delivered, completed or cancelled
- Tax-correct invoices generated on the spot and downloadable as PDF
- Orders and invoices
- Tax invoice PDF
- Price lists
- Pricing schemes
Tax invoice
INV-2026-04871
Nugegoda Superette
Rep: S. Perera
Payments and customer credit
Collections recorded where they happen, against a credit ledger the rep can see before selling.
Payments collected and receipted in the shop, not reconstructed at the depot
A running credit ledger per shop, checked before an order is confirmed
Outstanding balances aged so you know what is late and by how long
Collections attributed to the rep and the route that earned them
- Payment collection
- Shop credit ledger
- Receivables aging
Returns and credit notes
Damaged, expired and saleable stock handled through one workflow, with the tax reversed correctly.
- Returns classified by reason at the point of collection
- Photo proof required before a damaged or expired return is accepted
- Stock re-enters inventory only after warehouse verification against its batch
- Credit notes with tax reversal generated without a manual journal entry
- Returns
- Return policies
- Credit notes
- Disposal records
- Supplier claims
Classify
Reason logged at collection: damaged, expired, near-expiry, wrong delivery, or saleable.
Photo proof
Damaged and expired lines require a photo before they can be submitted.
Verify
Warehouse verifies against the original batch before any stock moves.
Credit note
A credit note is issued with tax reversed, only for sellable-disposition lines.
Credit note
CN-2026-0142
tax reversed 115.20
Rs. 1,555.20
Day-end reconciliation and finance
What went out, what sold, what came back, and what is missing — settled before anyone goes home.
- Assigned, sold, returned and remaining counted per product, per rep
- Variance surfaced the same evening rather than at month-end
- Daily operational income and expenses tracked against your own categories
- Cash and stock close out against the orders the field actually entered
- Day-end reconciliation
- Income and expense tracking
- Finance categories
Day-end reconciliation
1 variance| Product | Assigned | Sold | Returned | Remaining | Variance |
|---|---|---|---|---|---|
| Milk Powder 400g | 240 | 198 | 6 | 36 | 0 |
| Tea Leaves 200g | 180 | 150 | 4 | 26 | 0 |
| Biscuit Pack 12s | 120 | 96 | 12 | 10 | +2 |
Multi-tenant platform and admin
Every distributor gets isolated data, its own feature set, and a full record of who changed what.
- Tenant data isolated at the platform level, not by a WHERE clause and good intentions
- Features switched on per tenant at runtime, with no redeploy
- Audit log over every change, plus a trash view to restore deleted records
- Orders exported to CSV, and orders and payments to Tally XML
- Tenant isolation
- Per-tenant feature control
- Users and roles
- Print profiles
- Audit log
- Trash and restore
- Notifications
- CSV and Tally XML export
Rep app
Orders and visits logged offline on the rep's phone, no signal required.
Sync engine
Queues every change and reconciles it the moment the rep is back online.
Tenant warehouse
Each distributor's data lives in its own isolated space, never shared across accounts.
14 reports, none of them a CSV you assemble yourself.
Built from the same records the field enters, so a report never disagrees with the day it describes.
Basic reports
Orders and payments reports.
Aging report
Receivables aging across every shop you sell to.
Credit notes report
Every credit note raised, by reason and by shop.
Visit KPI report
Planned versus actual visits, strike rate and coverage.
Rep performance report
Sales, collections and coverage for each rep on the road.
Product performance report
Best and worst selling products by quantity, revenue and margin.
Profit and loss report
Revenue against cost of goods for a selected period.
Stock expiry report
Batches nearing or past expiry, with value at risk.
Customer performance report
Top and at-risk customers by revenue, frequency and outstanding balance.
Route performance report
Sales, collections and coverage by delivery route.
Scheme effectiveness report
Promotional scheme volume, revenue and discount cost.
Inventory health report
Dead stock, slow movers and turnover ratio.
Stock reconciliation report
Historical rep stock assignment, sales and variance by day.
Returns analytics report
Returns by reason, expiry loss, supplier claim recovery, shop credit and reverse logistics cost.
All 64 capabilities, in one list.
Shipped today, on every plan. What changes between plans is how many reps you run, not which parts of the product you are allowed to open.
Field sales
- Reps management
- Sales targets
- Journey plans
- Shop directory
- Visits and check-in
- Visit photos
- Offline outbox sync
Routes and tracking
- Routes
- Advanced route tracking
- Live GPS tracking map
- Route history playback
- Customers map
- Duty sessions
- Location pings
Catalog
- Product catalog
- Categories and units
- Batch and lot tracking
- Expiry dates
- Suppliers
- Purchase orders
Inventory
- Inventory and stock movements
- Stock assignments
- Assignment approvals
- Stock counts
- Discrepancy log
Selling
- Orders and invoices
- Tax invoice PDF
- Price lists
- Pricing schemes
- Payment collection
- Shop credit ledger
Returns
- Returns by reason
- Return policies
- Credit notes and tax reversal
- Disposal records
- Supplier claims
Day-end and finance
- Day-end reconciliation
- Income and expense tracking
- Finance categories
Reports
- Basic reports
- Aging
- Credit notes
- Visit KPIs
- Rep performance
- Product performance
- Profit and loss
- Stock expiry
- Customer performance
- Route performance
- Scheme effectiveness
- Inventory health
- Stock reconciliation
- Returns analytics
Platform
- Tenant isolation
- Per-tenant feature control
- Plans and feature matrix
- Users and roles
- Print profiles
- Audit log
- Trash and restore
- In-app and push notifications
- Multi-language support
- Orders CSV export
- Tally XML export
Limits on active reps, routes and shops vary by plan. Every module listed above is available regardless of plan — talk to us about which band fits your team size.
See all of it running on your own catalog.
A walkthrough on your products, your routes, your reps. Not a generic slideshow.