Skip to content
Contact
Distribution warehouse: an aisle between loaded pallet racks and a worker checking inventory.

Industry

Odoo for distribution companies

In distribution, margin is won in each customer's price and lost in the lot that expires in the warehouse or the invoice that never gets collected.

Photo: Tiger Lily on Pexels

A distributor buys in volume, stores by lot and sells to customers who each have their own price, credit and route, whether it moves food, pharmaceuticals or spare parts. In Mexico, goods moved on federal highways also travel with a Carta Porte, the electronic bill of lading issued as a CFDI. Odoo 20 brings purchasing, the warehouse, the fleet, sales and collections into the same database, and the work starts by following an order from the moment it comes in until it is paid, before the first warehouse is configured.

What we solve in the operation

  1. The lot that expires in the warehouse

    The lot that arrived later gets picked while the earlier one expires on the shelf, and the loss shows up at the physical count.

    How Odoo solves it

    Each lot keeps its expiry date from the moment it is received, and picking reserves first the lot whose removal date comes earliest. A lot past its removal date is no longer reserved, and Odoo warns if anyone tries to ship it. With GS1 nomenclature, one scan brings in the product, the lot and the expiry date.

    Modules

    • Inventory
    • Barcode
  2. Each customer's price, kept in a separate list

    Every customer has a negotiated price, and the sales rep looks it up in a list someone updates by hand, or asks before quoting.

    How Odoo solves it

    Sales pricelists set the price for each customer or customer group by product, by minimum quantity and by validity dates, and the quotation applies it on its own. The margin of each line is visible before the order is confirmed.

    Modules

    • Sales
  3. Purchasing decided with last week's stock

    The buyer decides what to order from an old report, and the warehouse ends up overstocked on slow movers and short on the best sellers.

    How Odoo solves it

    Odoo 20 replenishment rules compute each product's daily demand from its history and propose the minimum and the maximum: the minimum from days of coverage, with a traffic light against the replenishment lead time, and the maximum from the replenishment frequency. Each vendor's punctuality is measured against the date it promised when the order was confirmed.

    Modules

    • Purchase
    • Inventory
  4. The Carta Porte for every truck

    Every vehicle that goes out on the highway needs its Carta Porte, and issuing it in a separate system delays the departure or sends the truck out without the document.

    How Odoo solves it

    Odoo 20 issues the Carta Porte 3.1 from the validated delivery as a transfer-type CFDI: it takes the vehicle from Fleet with its plate and model year, and its driver as the operator, who can be changed on each delivery. For federal transport it asks for the distance to destination and the weight of each product.

    Modules

    • Inventory
    • Fleet
    • Sales
  5. The customer already over their credit limit

    A customer with an overdue balance keeps receiving orders, because at the moment of the sale nobody sees how much they owe.

    How Odoo solves it

    Odoo 20 keeps a credit limit per customer that adds up their balance and their confirmed orders still to be invoiced, and warns from the quotation when it is exceeded; branches registered as contacts of the parent company share its limit. Payment follow-ups organize the collection of overdue invoices by reminder level.

    Modules

    • Sales
    • Accounting
  6. The pedimento lost between receipt and invoice

    Imported goods arrive with their pedimento, the Mexican customs declaration, on paper, and when they are invoiced nobody knows which number belongs to each lot.

    How Odoo solves it

    The pedimento number is recorded on the landed cost of each imported receipt, stays linked to the lot and carries over to the lines of the sales invoice for those goods.

    Modules

    • Inventory
    • Purchase
    • Accounting
  7. Delivery runs planned in a spreadsheet

    Every morning someone splits the orders between the trucks by eye, without seeing the weight or the volume of each load.

    How Odoo solves it

    Odoo 20 groups deliveries into batch transfers per vehicle, with the weight and volume of each load, shows them on a map and opens the route from the warehouse in Google Maps. The optimized route, live tracking and digital proof of delivery are added by Dispatch, a product of Nivolty, a company of the group.

    Modules

    • Inventory
    • Fleet
  8. Quotes requested by email

    Every major purchase is quoted by email with several vendors, and afterwards nobody can reconstruct why one of them won.

    How Odoo solves it

    Purchase creates alternative quotations for other vendors and compares them before choosing, and blanket orders keep the agreed price with each vendor.

    Modules

    • Purchase
  9. Incomplete orders and a warehouse without order

    Orders go out incomplete or badly packed, and incoming goods are stored wherever there is room.

    How Odoo solves it

    Delivery in three steps separates picking, packing and shipping, and putaway rules decide where each product is stored when it is received.

    Modules

    • Inventory

Nivolty solutions for this industry

Nivolty is a company in Quantum Garage's group that operates independently: it develops and guarantees its own products for Odoo Enterprise, and offers the CloudCore hosting. Its first AI Agents solution, for WhatsApp, is now available.

All Nivolty solutions 

Guides that apply

Odoo with your industry's processes

We show you how your sector's processes run in Odoo, with the judgment we bring to every project: first the process, then the module.

Frequently asked questions

Can Odoo handle several legal entities in the same database?

Yes, on the Custom plan of Odoo Enterprise, which is the one that allows several companies: each keeps its own accounting and issues its own CFDIs, Mexico’s electronic invoices, and consolidation builds the group’s financial statements.

Does Odoo work for a food distributor?

Yes. It reserves first the lot that expires earliest and blocks the one already expired, reads product, lot and expiry date in a single GS1 scan, applies the price agreed with each customer and issues the Carta Porte for each shipment.

Does Odoo issue the payment complement for invoices on credit?

Yes. An invoice due after the current month is issued as PPD (payment in installments or deferred), and once its payment is reconciled with the stamped invoice, «Update Payments» sends the payment complement, the CFDI that reports the payment, to the SAT and leaves it on the CFDI tab of the invoice and the payment.

How do you migrate to Odoo from CONTPAQi, Aspel or SAP Business One?

By importing data, because a migration from another ERP is outside Odoo’s upgrade service: master data, balances at the cut-off date, such as the trial balance, open invoices, inventory and bank accounts, and what is needed to keep issuing payment complements come over, and the history stays in the old system for reference.

Do warehouse staff need a full license?

According to Odoo’s pricing page, a light user can use the Inventory barcode operator and is billed separately, at their own price; the contract counts as a user every active internal account that is neither a light user nor a portal account.