Home/Case Studies/Energy products distributor (confidential)
Distribution · 2026

Mapping Distributor Operations Onto Odoo, With Custom Scope Fenced

A solution design for a central blending plant selling through a dealer network on Odoo Enterprise. It fences custom work to six modules.

Energy products distributor (confidential)

Mapping Distributor Operations Onto Odoo, With Custom Scope Fenced

Client
Energy products distributor (confidential)
Industry
Distribution
Team

Results

6
Custom modules scoped, everything else standard
6
Rollout phases, each ending on live business flow
3
Order entry channels into one sales flow

The Challenge

A central blending plant selling bulk and packaged goods through dealers breaks standard ERP assumptions. Prices and discounts differ by dealer tier. Stock sits at the plant, at depots and at dealers, and only the first two are visible to the system. Bulk goods lose volume in transit, and credit has to be controlled per dealer. Field sales visits happen on poor networks, so data arrives late and dirty by design.

Distribution illustration

What We Designed

The design runs on one Odoo Enterprise instance. Manufacturing, inventory, sales, purchasing, accounting, quality and a dealer portal cover the core. Order-to-cash is a single flow: dealers order through the portal, field sales through a mobile app, or customer service by hand, and all three land in the same sales order.

  • Forecast to blending order to quality check to tank stock
  • Credit hold with approval and an audit log of who released it
  • Delivery by trip, with compartments and seal numbers
  • Invoice from actual delivered quantity, not ordered quantity
Order-to-Cash Flow
Order-to-cash is a single flow that runs from the dealer order to an invoice on delivered quantity.

Key Design Decisions

Custom code is limited to six items, and each has a stated reason standard Odoo does not cover it. Everything outside that list uses standard configuration, which keeps upgrade cost low. The module list is the main scope control in the whole design.

  • Dealer-tier promotion engine with cumulative volume and deferred rebates
  • Delivery trip management for multi-compartment tankers
  • Bulk loss reconciliation with tolerance rules and investigation cases
  • Territory-based access from region to route
  • Tank-gauge integration to compare book stock with measured stock
  • Offline-first mobile app for visits, orders, stock checks and collections
Six Fenced Custom Items
Custom code stays limited to six items, each with a stated reason standard Odoo does not cover it.

Why the Distribution Side Is Designed First

Four lessons from distribution projects shaped the design. Retail data is slow and dirty, so the mobile app works offline and reconciles later. Promotions drive most change requests, so the engine is configurable rather than hard-coded. Territory access matters as much as function access. Dealer stock reconciliation is the biggest friction between brand and distributor, so it sits in the core design, not in a later release.

Rollout Approach

The plan has six phases, and each ends with real business running on the system, not a demo. Order-to-cash goes first, because it is the lifeblood of a distributor and delivers value from the first phase. Production, advanced distribution, the dealer and field channel, and integrations follow. Data migration has its own acceptance track throughout.

Odoo EnterpriseMRPInventorySalesAccountingB2B PortalOffline-first Mobile SFAPostgreSQL
← All case studies

Got a similar project?

Tell us about it. First consultation is free.

Book a call