Deep Vision

Odoo ERP for Wholesale Companies

How wholesale and distribution companies run pricelists, credit limits, field agents, multi-warehouse stock, returns and receivables in Odoo, plus the apps, marking rules, KPIs and a rollout plan.

Published: Updated: 12 min read
Ulgurji savdo uchun Odoo ERP
Short answer: Odoo ERP for wholesale companies keeps orders, pricelists and discounts, credit limits, multi-warehouse stock, deliveries, returns, receivables and accounting in one database. An agent entering an order sees the customer's price, balance and real stock at once, and management sees the margin on every deal. In Uzbekistan you also need e-invoicing through Didox and Asl Belgisi product marking, and Deep Vision has ready-made Odoo modules for both.

Wholesale means many customers, many suppliers and heavy warehouse traffic, with every customer on its own prices and payment terms. Excel, 1C and Telegram groups cope only while the company is small. Then the cracks show: orders sent by agents in Telegram get retyped, stock-outs surface only at picking, and a shop that went over its credit limit weeks ago gets another delivery. Revenue grows, yet nobody can say where the profit goes.

This guide covers how wholesale processes run in Odoo, which apps you need, what marking and e-invoicing require, which KPIs to track and how to roll out in phases.

What problems do wholesale companies typically face?

Most wholesale problems have one root cause: data on prices, debts, stock and margins lives in different places. As the company grows, the same symptoms appear:

  1. Pricing chaos. The price list is a spreadsheet, every rep gives "their own" discount and promotions are agreed verbally.
  2. Uncontrolled receivables. Accounting sees the debts, sales sees the orders. Customers with overdue invoices still get new shipments.
  3. Unreliable stock. "Yes, we have it" often relies on yesterday's data. One item runs out while another sits for a year.
  4. Invisible margins. Nobody knows which customer, product or agent actually makes money.
  5. Orders typed twice. Agents send orders via Telegram or on paper, and an operator re-enters them.
  6. Improvised deliveries. Which truck goes to which district is decided on the phone every morning.
  7. Returns off the books. Returned goods go back on the shelf without a credit note, so the customer's balance stays wrong.
  8. Double paperwork. Invoices are keyed into the Didox portal by hand, and marking codes live in a separate spreadsheet.

If three or four of these sound familiar, the problem is the system, not your people.

What does Odoo bring to wholesale?

Odoo is an ERP in which sales, inventory, purchasing and accounting share one database, so every wholesale order is linked to price, debt, stock and margin at the same moment. The core capabilities:

  • individual pricing and discount policies per customer;
  • automatic control of credit limits and receivables;
  • real-time stock visibility across multiple warehouses;
  • accurate margin and cost calculation for every deal;
  • delivery route and logistics planning.

Practice shows that once cost and margin transparency, credit limits and warehouse control are put in order, distribution companies achieve significant profit growth. In wholesale, profit mostly leaks through things nobody sees (unjustified discounts, uncollected debts, dead stock), and one system makes those leaks visible.

How do wholesale processes work in Odoo?

Pricing: pricelists, discounts and promotions

A pricelist is a set of rules that calculates the price automatically based on customer segment, quantity, date or currency. You might run "Dealer", "Retail shop", "HoReCa" and "Chain" pricelists; each customer carries one, so prices fill in by themselves.

Pricelist rules can include:

  • quantity breaks: one price from 1 case, another from 50 cases;
  • a percentage discount for a product category;
  • a promotional price valid only between two dates;
  • a formula such as cost plus a markup (for example cost + 18%) with rounding;
  • separate pricelists for different currencies.

Promotions like "buy 10 cases, get 1 free" apply automatically through Odoo's discount and loyalty programs. Manual discounts can be capped, with manager approval above the cap. Odoo also converts units of measure: stock is counted in units, while goods are sold by the pack, case or pallet.

Credit limits and receivables

A credit limit is the maximum value of goods a customer can receive while they still owe you money. In Odoo it is set on each customer record. When an order is confirmed, the system adds the current balance to the new order and flags it if the limit is exceeded. Standard Odoo only shows a warning; a hard block or finance director approval is added through configuration or a small customization.

Other receivables tools:

  • Payment terms: 7, 14 or 30 days, or partial prepayment; due dates are calculated automatically.
  • Aged receivables report: debts grouped into 0–30, 31–60, 61–90 and 90+ days.
  • Follow-ups: an automatic reminder once a payment is overdue, then a call task for the rep.
  • Partner ledger and reconciliation statement: mutual balances checked as of any date.
  • Payment matching: bank, cash, Payme or Click payments matched to the right invoice.

Field agents and order taking

Orders arrive through agents, phone, Telegram and email, and all land in one Odoo sales list, tagged by source.

  • Agents use the Odoo mobile app or a phone browser to see the customer's price, balance and stock and enter the order on the spot. Odoo works online; offline work needs a separate app.
  • Territories and teams: agents and customers are assigned to territories, with target versus actual per agent.
  • Phone sales: if operators call shops to collect orders, Deep Vision's dooCall turns an ordinary phone into a call-center tool so every call is tracked.
  • B2B portal: regular customers see their orders, invoices and balance and can order themselves.

Multi-warehouse stock, picking and shipping

Multi-warehouse accounting means tracking stock in real time for every warehouse, branch and bin location. When an order is confirmed, Odoo reserves the goods and the warehouse gets a picking task. Useful features:

  • one-, two- or three-step shipping (pick, pack, ship);
  • batch picking of several orders, for example per truck or per district;
  • lot and expiry tracking with first-expired-first-out (FEFO), which matters for food and pharma distribution;
  • barcode scanning for receiving, picking and stock counts;
  • inter-warehouse transfers to replenish branches from the central warehouse.

More on the inventory app: Odoo Inventory: warehouse management.

Delivery routes

Confirmed orders are grouped by delivery date and district and assigned to a vehicle and driver managed in the Fleet app. The driver validates the delivery and records any cash payment. Standard Odoo does not optimise routes on a map; for that, an external routing service is integrated. More: Odoo ERP for logistics.

Returns

Expired, damaged or slow-selling goods come back regularly. In Odoo a return is created from the original delivery, the goods go to a separate location (say "Inspection" or "Damaged"), a credit note is issued and the customer's balance drops automatically.

Purchasing and replenishment

Min/max reordering rules let Odoo create purchase requests automatically, keep vendor prices on file and match receipts against orders. For importers, freight, customs and other extra costs are allocated to product cost (landed costs). More: Odoo Sales and Purchase.

Margin and cost on every deal

Odoo shows cost and margin on each order line, so a rep sees what is left before granting a discount. Cost is calculated by average cost (AVCO) or FIFO, and reports break margin down by customer, product, category, agent and territory.

Which Odoo apps does a wholesale company need?

The core set for wholesale is Sales, Inventory, Purchase and Accounting; other apps depend on the business model.

  • Sales: orders, pricelists, discounts, margins, payment terms.
  • Inventory: warehouses, locations, shipping rules, lots, expiry dates, counts.
  • Purchase: requests for quotation, vendor prices, replenishment.
  • Accounting: invoices, payments, receivables, credit limits, follow-ups.
  • Barcode: scanning for receiving, picking and counts (Enterprise edition).
  • CRM: new dealers and key accounts.
  • Fleet: vehicles and drivers.
  • Portal and eCommerce: B2B ordering and a customer account.
  • Deep Vision modules: e-invoicing through Didox and Asl Belgisi marking.

You don't have to launch everything at once; most companies start with Sales, Inventory and Purchase.

Product marking and e-invoices: what must a distributor plan for?

A distributor of marked goods must accept codes on receipt, show on the electronic invoice exactly which codes went to which customer, and update codes correctly on returns. Asl Belgisi covers groups such as tobacco, alcohol, beer, water and soft drinks, medicines, medical devices and household appliances.

In practice:

  1. On receipt, accept the supplier's codes and check them against the goods.
  2. When a case is opened and sold by the unit, break up the group (aggregation) code in the system.
  3. On sale, list the specific codes on the e-invoice. Under current rules, from September 2025 an e-invoice for marked goods cannot be issued without codes, and wholesale trade in marked goods must be cashless. Check the exact requirements on lex.uz.
  4. On a return, accept the codes back.

Every wholesaler also issues e-invoices carrying the buyer's taxpayer number (STIR), the product's MXIK (IKPU) code and 12% VAT, sent through an operator such as Didox. Standard Odoo has no connection to Uzbek operators, but Deep Vision has ready-made Odoo modules for Didox and Asl Belgisi: the invoice is built from the sales document with its codes, sent automatically, and its status flows back into Odoo.

More: Asl Belgisi: a guide to digital product marking and E-invoicing: Didox, Soliq and ERP integration.

Which KPIs should a wholesale company track?

The health of a distribution business is measured along three lines: margin, cash cycle (receivables and stock) and service quality. Odoo calculates these from daily transactions.

Finance and margin:

  • gross margin by customer, product, agent and territory;
  • average discount below the pricelist;
  • days sales outstanding (DSO): how long it takes to get paid;
  • share of overdue debt in total receivables.

Warehouse and stock:

  • inventory turnover and days of stock;
  • dead stock: items with no movement for 90+ days;
  • picking errors and count discrepancies.

Sales and service:

  • active customer base: customers who bought at least once in the month;
  • average order value and order frequency;
  • on time in full (OTIF) rate;
  • returns rate as a share of sales.

Record them before go-live to have a baseline.

How do you roll out Odoo in a wholesale company step by step?

Wholesale companies usually implement Odoo in phases: sales, inventory and purchasing first, then accounting and integrations, then agents, the portal and analytics. A full project typically takes 2–6 months, and the standard Sales and Inventory apps often go live in 6–8 weeks.

  1. Diagnostics. Map the chain from order to cash: order taking, pricing, credit check, picking, shipping, invoice, payment, return.
  2. Master data. Clean up products (SKUs, units, packaging, MXIK codes, barcodes), customers (STIR, price segment, payment terms, credit limit) and suppliers.
  3. Phase one: Sales, Inventory, Purchase. Set up pricelists, warehouses and shipping rules; load opening stock and customer balances.
  4. Phase two: Accounting and integrations. Invoicing, bank, Didox and, if needed, Asl Belgisi.
  5. Phase three: agents, portal, routes, dashboards. The agents' mobile workplace, the B2B portal, KPI dashboards.
  6. Training and go-live. Each role (agent, operator, warehouse keeper, accountant, manager) trains on its own scenarios.
  7. Hypercare. In the first weeks bugs are fixed and reports fine-tuned.

If you run 1C today, plan the transfer of stock, balances and master data separately: Moving from 1C to Odoo. The whole network doesn't have to switch at once either: Timsoll first launched in its Namangan, Andijan and Fergana branches.

Pre-implementation checklist

Prepare answers before the project starts:

  • How many warehouses, branches and delivery zones do you have?
  • Are price segments and discount rules written down?
  • Who sets credit limits, and on what criteria?
  • Which channels do orders come through: agents, phone, Telegram, email?
  • Will agents have stable internet in the field?
  • Which of your products are subject to marking?
  • What system do you use now (1C, Excel), and how much data must move?

How does Deep Vision help wholesale companies?

Deep Vision is an official Odoo Gold Partner in Tashkent; we implement sales, inventory, purchasing and accounting for wholesale and distribution companies in a single Odoo system. Our team has 7 certified Odoo specialists, and 26 of our client projects are listed in the Odoo partner directory (official partner page).

  • Implementation: from diagnostics to go-live and support. Details: Odoo implementation service.
  • Local integrations: our ready-made modules for Didox e-invoicing and Asl Belgisi marking.
  • Data migration: products, customers, stock and balances from 1C and Excel.
  • dooCall: call tracking for operators and reps who sell by phone.

An example from our work: Timsoll sells car spare parts through more than 18 branches and manages over 7,000 SKUs in Odoo. Setting up a new batch of products went from 6–8 months to 2–3 days. Read more: The Timsoll story: how Odoo ERP manages 7,000+ SKUs.

Curious how Odoo would fit your business? Fill in a short brief and we'll suggest where to start.

Frequently asked questions

Is Odoo a good fit for wholesale and distribution?

Yes. Sales, Inventory, Purchase and Accounting handle pricelists, credit limits, multi-warehouse stock and receivables in one database; Didox, Asl Belgisi and MXIK codes come through integrations.

Can Odoo set a different price for each customer?

Yes. Each customer has its own pricelist with rules by quantity, date, product category and currency, and the price fills in automatically on every order.

Will Odoo stop an order if the credit limit is exceeded?

Standard Odoo shows a warning. A hard block or manager approval is added through configuration or a small customization.

Can field agents use Odoo on their phones?

Yes, through the mobile app or a browser, with price, balance and stock visible. Odoo works online; offline mode needs a separate solution.

Does Odoo work with Didox and Asl Belgisi?

Not out of the box. Deep Vision has ready-made Odoo modules for Didox e-invoicing and Asl Belgisi marking, configured to your processes during the project.

What happens to stock and balances when we move from 1C?

Stock and partner balances as of go-live are migrated as opening balances, after the master data is cleaned up.

How long does an Odoo implementation take in a wholesale company?

A full project usually takes 2–6 months. Sales and Inventory often go live in 6–8 weeks, with integrations and the agents' workplace added later.

Conclusion

In wholesale, profit leaks through the gaps between orders, prices, debts and stock. Odoo pulls it into one system: price, limit and stock are checked on every order, the invoice goes out through Didox automatically, and management sees the margin on every customer and deal.

Let's work out where to start: fill in the brief for a free consultation or call +998 77 093 00 07.