2026 RELEASELive Demo
KatixoAIERP
FMCG & Distribution Domain Pack

FMCG Field Sales, Routes & Van Distribution

Built specifically for consumer goods, beverages, dairy, and food distributors. Manage geographical customer beats, weekly route schedules, morning van stock transfers, GPS store check-ins, spot billing, and end-of-day cash reconciliation.

1. Module Overview: The FMCG Distribution Engine

In Indian FMCG distribution, success depends on field execution: keeping retail shelves stocked, servicing thousands of retail kirana stores on strict weekly schedules, and eliminating cash leakage. Katixo ERP provides an integrated, mobile-ready field sales system:

Beats & Routes

Clusters of retail outlets organized geographically and assigned to days of the week (e.g. Monday Market Beat).

Live Van Stock

Real-time inventory balances per vehicle. Spot deliveries instantly deduct from van stock without warehouse delays.

Day-Close Audit

Evening cash counter reconciliation: balances opening float + collections - expenses against physical cash deposited.

2. How to Set Up Masters (Beats, Routes & Vans)

Step 1: Create Beats (Customer Clusters)

Navigate to Field Sales > Beats > "New Beat". Name your beat (e.g., "Old City Kirana Beat"), and assign customers in visit sequence (Shop 1, Shop 2, Shop 3). Set visit frequency (Daily, Weekly, Bi-weekly).

Step 2: Build Routes (Weekly Schedules)

Go to Field Sales > Routes > "New Route". Link one or more beats to a route and specify the active days of the week (e.g., Route A runs on Mondays and Thursdays).

Step 3: Register Vans & Assign Sales Personnel

Under Field Sales > Vans, register your delivery vehicles with registration numbers, driver details, and maximum payload capacity. Then create a Field Sales Assignment linking Sales Officer + Route + Van.

3. The Daily 4-Stage Operational Workflow

STAGE 1: 07:00 AM — Morning Van Stock LoadingWarehouse Depot

The warehouse supervisor creates a Van Stock Transfer (LOAD). Items are selected from central inventory, loaded onto the van, and verified. Both the warehouse supervisor and salesperson confirm the transfer. Stock is transferred to van_stock_balance.

STAGE 2: 08:30 AM — Starting Route ExecutionMobile / Tablet

The salesperson opens the Katixo app and clicks "Start Route Execution". The app generates the day's scheduled visits in optimal order from the route's assigned beats. Status changes to IN_PROGRESS.

STAGE 3: 09:00 AM - 05:00 PM — Customer Store VisitsRetail Outlets

• GPS Check-In: Verifies latitude/longitude against customer master coordinates.

• Spot Delivery: Delivers stock immediately from van inventory; prints thermal receipt or sends WhatsApp bill.

• Advance Order Booking: Takes orders for next-day warehouse truck delivery if items exceed van capacity.

• Payment Collection: Collects Cash or displays dynamic UPI QR code; issues instant receipt.

• GPS Check-Out: Records visit duration, store feedback, or skip reasons (e.g. store closed).

STAGE 4: 06:30 PM — Day-Close Wizard & Cash ReconciliationDepot Cashier

When the van returns, the salesperson opens the Day-Close Wizard:

1. Stock Return: Unsold goods are transferred back to the central warehouse (`van_stock_transfer.RETURN`).

2. Cash Audit Formula: Opening Float + Cash Collections - Field Expenses = Expected Cash.

3. Cashier Verification: Physical cash handed over is counted. Zero variance completes the audit. Supervisor approves.

4. Salesman Targets & Performance Analytics

Motivate field sales officers with transparent target tracking:

Revenue Target

Monthly sales volume with tiered commission incentives (e.g. 1.5% bonus on reaching 100%).

Outlet Coverage

Tracks percentage of scheduled beat visits actually completed vs skipped.

New Outlet Onboarding

Incentivizes expanding retail footprint by registering new kirana accounts on the go.

Developer & API Integration Reference

JWT Bearer Required

Field sales endpoints for mobile app sync, GPS tracking, and automated van transfers:

GET/api/v1/field-sales/routes/today
POST/api/v1/field-sales/route-executions/{id}/start
POST/api/v1/field-sales/visits/{id}/check-in
POST/api/v1/field-sales/van-transfers/load
POST/api/v1/field-sales/day-close/submit
# GPS Check-in for a customer visit via cURL
curl -X POST https://api.katixo.com/api/v1/field-sales/visits/v1a2b3/check-in \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 18.5204,
    "longitude": 73.8567
  }'