Your sales rep takes an order over WhatsApp at seven in the evening. The next day the truck leaves with boxes missing, the invoice uses the old price list and, a month later, the customer pays late. Nobody knows whether that order made any margin.
It's not a lack of effort: the process is scattered across spreadsheets, chats and accounting software that can't see the warehouse.
In this guide you'll learn what a distributor is, its B2B flow, what Odoo handles natively and what it doesn't, which KPIs to track and how to implement it.
What is a distributor: types and what it needs to manage
A distributor is a company that buys products in volume from manufacturers or importers, stores them and resells them to other businesses (shops, restaurants, companies or institutions) in smaller quantities. Its value lies in logistics, credit and sales service. Its margin depends on buying well, turning inventory quickly, shipping complete orders and collecting on time.
The most common types are:
- Consumer goods: grocery stores and convenience stores, with presales and daily delivery.
- Food and perishables: lots, expiration dates and, sometimes, cold chain.
- Industrial or technical: spare parts or supplies, with thousands of SKUs.
- Importer or brand representative: few suppliers and import costs.
All of them manage five fronts: pricing and credit, stock, delivery, tax documents and collections.
The complete flow: presales, order, picking, delivery guide, invoice and collections
Each step flows from the previous one, with no re-keying:
- Presales or order taking. Through a visit, WhatsApp, email or a B2B store. In Odoo it's recorded as a quotation with the customer's price list.
- Sales order. When you confirm it, Odoo reserves stock and generates the delivery order.
- Picking. It's prepared in one, two or three steps, in waves and, in Odoo Enterprise, with the Barcode app.
- Delivery guide. When you validate the delivery, Odoo lets you create the electronic guide that travels with the truck.
- Invoice. With the invoice delivered quantities policy, you invoice what shipped, not what was ordered (Odoo documentation).
- Collections. The credit invoice stays in receivables until it's paid and reconciled.
The electronic delivery guide in Chile
The electronic delivery guide (guía de despacho electrónica, DTE 52) is the tax document that supports the movement of goods. Since January 17, 2020 it must be electronic, under Law 21.131 (SII, Chile's tax authority).
In Odoo it's issued by the Chile - E-Invoicing Delivery Guide module (l10n_cl_edi_stock), part of the official localization in Odoo Enterprise (reviewed in October 2026). It requires the Inventory app, your own CAF (folio authorization files issued by the SII) for delivery guides and approved SII certification. The documentation warns that a guide shouldn't exceed 60 product lines (Odoo for Chile). If you don't have the certification yet, see SII certification and the guide to electronic invoicing.
Customer and channel price lists, volume discounts and credit control
A customer-specific price list is a set of rules that overrides the base price depending on who buys, how much and when. In Odoo each rule applies by product, category or variant, with a minimum quantity (volume discount) and validity dates, and calculates a discount, a formula or a fixed price. The list is assigned on the customer's record. Odoo 20 adds rules by period or day of the week and prices by packaging type, such as case or pallet. If you also configure products with options or approve discounts by tier, you're in CPQ territory.
Credit control is native too: you set a limit per customer and Odoo warns you on the sales order and the invoice when it's exceeded. But it doesn't block anything: holding the order until finance approves it requires an additional rule or development.
Multi-warehouse inventory, lots, expiration dates (FEFO) and replenishment
Odoo manages stock by warehouse and location, with lots and serial numbers (see the Odoo Inventory guide).
FEFO (first expired, first out) is the strategy that ships the lots with the nearest removal date first. It requires enabling lots and expiration dates; in food or pharmaceuticals it reduces shrinkage.
Replenishment uses min/max rules. Odoo 20 suggests those levels based on demand history, adds a stock aging report and lets you assign landed costs (such as freight or import charges) to specific products (Odoo 20 release notes). These features aren't available in earlier versions.
Presales and van sales: what's native in Odoo and what requires third-party apps
In presales, the salesperson takes the order and another team delivers it later. In van sales (route sales), the truck leaves loaded and the salesperson sells, delivers and collects payment in the same visit.
| Need | Native in Odoo | With third-party apps or development |
|---|---|---|
| Order with the customer's price list | Yes, from a browser or phone | — |
| Routes and visits per salesperson | No | Route modules |
| Truck stock | Modeled as a location | Van sales app |
| Sell, deliver and collect during the visit | Not as a dedicated flow | Van sales app |
| Working without a signal | Odoo 20 creates and edits records offline | Offline app |
If you use third-party modules, check that they exist for your version and who maintains them. At KPB we evaluate them or develop whatever is missing, and for operating without a signal we offer Keep Operating, an offline app that syncs data automatically.
Distributor KPIs with formulas
| KPI | Formula | What it tells you |
|---|---|---|
| Fill rate | Units shipped ÷ units ordered × 100 | How much of what's ordered you deliver |
| Inventory turnover | Cost of goods sold ÷ average inventory value | How many times you sell through your stock |
| Days of inventory | Days in the period ÷ turnover | How long your stock lasts |
| Stockout rate | Active products out of stock ÷ active products × 100 | What share of your assortment you can't sell |
| Margin by customer or product | (Net sales − cost) ÷ net sales × 100 | Which customers and products make money |
| Days sales outstanding (DSO) | Accounts receivable ÷ credit sales × days in the period | How long it takes you to collect |
With Keep BI you see them in prebuilt dashboards inside Odoo, such as “Sales One-Pager,” “Profitability,” “Shipping Status & Performance” and “Collections.” There are plans with 3, 5 or 10 dashboards (10, 15 or 25 UF + VAT per month; the UF is Chile's inflation-indexed unit of account), with setup in 7 days.
Alerts and automation: low margins, maxed-out credit, stockouts and orders that come in by WhatsApp or email
Keep Checking, our alerts module for Odoo, includes these for distributors:
- “Sale with a margin below X%” and “Customers with no available credit”
- “Out-of-stock products” and “Products projected to run out of stock”
- “Late deliveries,” “Incomplete pickings” and “Sales orders not yet invoiced”
Plans range from up to 10 to up to 100 alerts (3 to 10 UF + VAT per month), with setup in 7 days. In the quote builder you put together your selection and request your quote. To define thresholds, read automated threshold alerts.
Another leak is orders that arrive by WhatsApp, email or PDF: with KPB's custom AI assistants and agents, an agent reads the message, identifies the customer and products, and leaves the sales order as a draft for a person to confirm (the PDF case is covered in AI document processing). We also integrate Vambe (AI agents that sell and serve customers over WhatsApp, connected to Odoo CRM) and Fintoc (bank connectivity and automatic reconciliation in Odoo). To automate collections, see finance automation.
Why Excel and accounting software aren't enough, and how to implement Odoo in stages
Excel doesn't reserve stock and accounting software can't see the warehouse, so someone keys in the same data three times. Check the signs you need Odoo and the Odoo vs Excel comparison.
An ERP for distributors is best implemented in stages:
- Master data: products with packaging, customers with their RUT (Chilean tax ID), payment terms, credit limit and price list.
- Sales, warehouse and delivery: sales orders, picking and delivery guides, with SII certification in place.
- Invoicing and collections: invoice what shipped and reconcile payments.
- Field sales and channels: presales or van sales, a B2B store and WhatsApp.
- Control: alerts and dashboards built on reliable data.
For timelines and costs, read how to implement Odoo in Chile and how much it costs. If you sell to consumers, see Odoo for retail.
Why work with KPB Solutions
We're an Odoo Gold Partner, with 40+ KPBeers (as we call our team) and 70+ active clients in 6 countries. We design your distribution workflow, guide you through SII certification and add alerts, dashboards and integrations once the foundation is working. Learn about our Odoo implementation service.
Want to get your distribution business in order, from presales to collections? Book a meeting and we'll review your operation.