Skip to Content

Odoo for FMCG Distribution and Route to Market

June 4, 2026 by
Odoo for FMCG Distribution and Route to Market
Pearl Solutions

FMCG distribution in Pakistan operates on a layered model that most ERP systems were not designed for. A typical mid-size FMCG brand sells to master distributors, who sell to area distributors, who sell to wholesale markets and retail outlets. The brand owner can see their own primary sales clearly what leaves the factory gate. But secondary sales (what moves from distributor to retailer) are often invisible until the distributor places a replenishment order, and tertiary sales (what moves from retailer to consumer) are entirely unknown.

This visibility gap creates a cascade of problems: overloading distributors with stock during schemes, being blind to geographic stockouts until retailers switch to a competitor, and resolving returns with no documentation of what was originally shipped to which location.

This post covers how Odoo structures the distribution chain for FMCG companies managing distributor relationships, pricing, credit, secondary sales reporting, van sales, and returns in a single system rather than across spreadsheets and WhatsApp groups.

Modelling the FMCG Distribution Chain in Odoo

Customer Hierarchy: 

Company to Distributor then Sub-Distributor

Odoo's customer master supports a parent child hierarchy. A master distributor is a company record. Sub distributors under that master are child contacts within the same company. This structure allows you to:

Apply pricing and credit terms at the master distributor level, inherited by sub-distributors

Report on sales at the master distributor level (total group revenue)

Invoice and manage credit limits at the individual sub-distributor level

Track outstanding balances across the entire distribution group

For FMCG brands with large distributor networks, this eliminates the problem of treating each sub-distributor as an isolated customer with no relationship to their master which is what happens in generic accounting software.

Territory and Route Assignment

Sales territories (cities, zones, areas) are defined as segments in Odoo's CRM module. Each distributor is assigned to a territory, and each territory has a responsible sales representative. When a sales rep logs secondary sales data or creates a visit report, it is automatically associated with the correct territory and distributor.

This creates a geographic sales picture that head office can review without waiting for sales rep WhatsApp summaries.

Distributor Pricing — Multiple Price Lists Without Chaos

FMCG distribution typically involves several pricing layers:

Factory gate / primary price (brand owner to master distributor)

Distributor trade price (distributor to retailer notional, for RSP calculation)

Trade scheme pricing (volume discounts, off-invoice discounts, free goods)

Modern trade pricing (separate prices for hypermarkets and chain stores)

Export pricing (if applicable)

Odoo manages all of these through pricelists named price configurations that can be assigned to specific customers or customer groups. A customer tagged as Modern Trade automatically receives the modern trade pricelist when their order is created. A distributor enrolled in a scheme gets the scheme pricing applied automatically to qualifying products and quantities no manual calculation required at the time of order entry.

Free Goods and Buy X Get Y Schemes

Trade schemes in FMCG often include free goods buy 12 cases, get 1 free or buy PKR 100,000 of product, get a value equivalent free item. Odoo's pricelist and promotion engine supports these configurations directly:

Minimum quantity or value thresholds to trigger the offer

Free product SKU and quantity per qualifying purchase

Date ranges for scheme validity

Specific customer or customer group eligibility

When a qualifying order is confirmed, the free goods line is added automatically. The scheme is tracked, and the cost is reportable separately allowing trade marketing to measure the actual cost of each promotion against incremental volume generated.

Credit Management Across the Distributor Network

Credit control in FMCG distribution is a constant operational tension. Distributors with strong sell-through deserve higher limits; distributors sitting on slow-moving stock should not be extended further. Without a system, credit decisions are made on instinct and relationship history.

In Odoo, each distributor is assigned a credit limit. When a new sales order is confirmed:

Odoo checks the distributor's outstanding balance plus the new order value

If the total exceeds the credit limit, the order is blocked from delivery confirmation

A notification is sent to the credit controller or sales manager for manual override

The override is recorded with the approver's name and timestamp

This removes the scenario where a distribution team ships 200 cases to a distributor who already has 90 days of unpaid invoices a situation that is common precisely because no system is enforcing the credit limit at the point of dispatch.

Secondary Sales Data — Making the Invisible Visible

The biggest visibility gap in FMCG distribution is secondary sales what distributors sell to retailers. Without this data, the brand owner is flying blind. They know what the factory shipped they do not know what is actually moving through the channel.

Distributor Sales Reporting in Odoo

There are two common approaches for capturing secondary sales data in Odoo, depending on the sophistication of the distributor:

Option A Distributor data upload: Distributors provide a weekly or monthly sales file (Excel, CSV). This is imported into Odoo using a configured import template, creating secondary sales records linked to the distributor and their customer data. Odoo aggregates this across all distributors into a single secondary sales view by SKU, territory, and period.

Option B Shared Odoo access for distributors: Larger distributors or company-owned distribution entities can be given limited Odoo portal access. They enter their sales and return data directly, eliminating the import step. This is more accurate but requires distributor engagement and training.

Why secondary sales data matters: A brand sees strong primary sales in April 2,000 cases of a flavoured snack shipped to distributors. But without secondary sales data, they do not know that only 800 cases have moved to retailers. The remaining 1,200 cases are sitting in distributor warehouses approaching their three-month sell by date. The brand has unknowingly pushed the problem downstream and now faces returns or write-off requests.

Van Sales and Field Sales Force Management

For FMCG companies with their own van sales operations company owned vans serving retail outlets directly Odoo supports van sales workflows through its mobile sales application.

Van Load-Out and Return

Each morning, the van is loaded with stock. Odoo records this as an internal stock transfer: warehouse: van (a virtual warehouse location in Odoo). The van driver has a mobile device running Odoo's sales app in offline mode.

During the day, the driver:

Creates a sales order for each retail stop

Records partial deliveries (a retailer orders 10 cases, only accepts 7)

Records cash collected per stop

Notes any returns picked up from the retailer

At end of day, the device syncs. Odoo records: stock sold out of the van, cash collected per driver, returns received, and remaining van stock. The evening van audit matches the physical count against the system discrepancies are flagged immediately.

Retail Outlet Listing and Visit Scheduling

Each retail outlet is a customer record in Odoo, tagged by type (general trade, modern trade, institution, wholesale) and geography. Sales routes which outlets a van visits on which day of the week are configured as route plans. Odoo's scheduling shows whether each outlet on today's route was visited and whether an order was captured.

This replaces the sales manager trying to verify via WhatsApp whether Salesman X actually visited 35 outlets or just 20 the system has a visit record with timestamp and GPS location if the mobile app's location features are enabled.

Trade Returns and Damaged Goods

Returns in FMCG distribution are a consistent operational headache expired product brought back from retailers, damaged cases from transit, incorrect deliveries. Without a system, returns are recorded informally and often result in credit notes being issued without verification of the return quantity or condition.

In Odoo, returns are processed as reverse transfers:

  1. A return is created against the original delivery order preserving the link to the original sale
  2. Returned items are received into a quality check location, not directly back into sellable stock
  3. The quality team inspects and decides: return to sellable stock, quarantine, or write off
  4. A credit note is generated against the original invoice only after the return is confirmed

This prevents the scenario where a distributor claims a credit for 50 cases returned but only 30 physically arrive at the warehouse the return quantity in the system must match the physical receipt before the credit note is issued.

Multi Warehouse Distribution Across Cities

FMCG companies with city level distribution typically operate multiple warehouses a main production warehouse plus regional distribution centres. Odoo supports multi-warehouse configurations natively:

WarehouseFunctionStock Visibility
Main Production WarehouseFinished goods storage, primary dispatchFull all lot and expiry data
Regional Distribution Centre ACity level stock holding for local distributorsFull receives from main, ships to distributors
Regional Distribution Centre BSecondary city coverageFull same as RDC A
Van (Virtual Warehouse)Field sales stock loaded and returned dailyFull loaded out and reconciled each evening

Each warehouse has its own stock, its own incoming and outgoing operations, and its own replenishment rules but head office sees consolidated inventory across all locations in a single dashboard. Stock transfer between warehouses generates an inter warehouse transit record, so stock in transit is never double counted.

Reporting That Distribution Managers Actually Use

Generic accounting software produces financial reports. What distribution managers actually need are operational reports that Odoo generates natively:

Stock age report: Which lots are approaching their removal date, by warehouse

Distributor performance: Primary sales, secondary sales, and outstanding balances per distributor

SKU velocity: Which products are selling fast in which territories used to adjust production planning

Scheme uptake: Which distributors are participating in the current scheme and at what volume

Return rate by SKU: Which products are generating the most returns and from which distributors

Sales rep coverage: Which territories are being visited and converting to orders

Operational visibility in practice: Monthly distributor review used to take half a day of data compilation from Excel files and WhatsApp messages. With Odoo, the distribution manager opens a single dashboard: distributor by distributor primary sales vs target, outstanding balance vs credit limit, expiring stock in each distributor's holding. The review meeting can focus on decisions, not data collection.

FBR Integration for Distributor Invoicing

For FMCG companies selling to registered distributors in Pakistan, FBR compliant invoicing is a requirement. Odoo can be configured to connect to the FBR PRAL system for real-time invoice reporting. Sales invoices issued to distributors are submitted to FBR at the point of posting no separate entry into the FBR portal.

This is particularly relevant for Tier-1 FMCGs supplying modern trade, where the retailer is a registered taxpayer and the supply chain needs to be fully documented for input tax credit purposes.

When Is the Right Time to Implement a Distribution ERP?

Most FMCG companies move to an ERP when one or more of the following becomes unmanageable:

More than 5 active distributors credit and pricing management outgrows Excel

More than 3 SKUs or product lines secondary sales tracking becomes a manual job in itself

First return dispute no documentation makes resolution impossible

First audit or compliance inquiry reconstructing who received which lot requires days of work

More than 2 salespeople route coverage and order capture can no longer be managed by phone calls

If your distribution operation has crossed any of these thresholds, the operational cost of manual systems is already measurable in time spent on reconciliation, errors in credit notes, stock that expires in distributor warehouses, and distributor relationships damaged by disputes over returns.

Share this post

Our latest content

Check out what's new in our company !

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provide both a filter and a template to use.
Tags
Archive