Where goods are stored, in what order an order is picked and how the fee for storing a client's goods is calculated are all kept in one database. Odoo has a separate industry package for 3PL, but the documentation has no ready-made integration for Uzbekistan's couriers.
When the location lives in memory and the records in a spreadsheet, the error reaches the customer.
The core set for a warehouse. Barcode, Quality and Subscriptions are part of Enterprise (they are not in the open-source repository). Which apps are needed is determined during the diagnostic.
Warehouses, locations, receipt, putaway, picking and delivery documents, lots and stock balances.
Receiving, picking and counting with a scanner. A light user only has access to this app.
Order, delivery method, backorder and invoicing policy.
Request for quotation for receipts, reordering rules, matching the bill to the receipt.
Control points at receipt and dispatch.
Four dates per lot, first-expired-first-out (FEFO) and alerts.
A recurring invoice for long-term storage. Used in the 3PL package.
Customer invoice, bank reconciliation, income and expense accounting.
Online orders and a customer account. In the 3PL package, a portal where the customer sees stock balances and submits requests.
Each stage leaves its own document, so the warehouse, sales and the accountant look at the same figure.
A receipt document is opened for a purchase order or for an incoming delivery of a customer’s goods. Receipt can be one-, two- or three-step: input area, quality zone, storage.
In three-step receipt, goods are not counted as available for further work until they pass the inspection zone.
A putaway rule suggests a storage location by product or category. The storage category takes the location’s capacity into account.
Lot, expiry and location are recorded as work goes on. Cycle counts are carried out by location.
When an order is confirmed, the goods are reserved. The method is chosen in the operation type: at confirmation, manually or before the scheduled date.
Orders are picked in groups using the batch, cluster or wave method. Each step is confirmed with a scanner.
The picked goods are packed, and the delivery method and label are chosen. The invoice and waybill are issued.
Returns are handled with a reverse document and a credit note. For warehouse-service customers, storage and handling fees are calculated.
The example is illustrative. Twelve orders leave the warehouse, each with two lines; there are three products, stored on three shelves. If orders are picked one by one, the picker stops at the shelves 24 times. With batch or cluster picking, one walk past the three shelves is enough. The actual saving depends on the warehouse layout; this calculation only shows the logic.
The comparison is based on the Odoo 20 documentation descriptions. The decision depends on the warehouse layout and the order mix, so a week of orders is analyzed.
| Approach | When it fits | Limitation |
|---|---|---|
| Batch | Few product types, but they are ordered often and demand is stable | Separation is a separate step: space and people are needed at the output point |
| Cluster | There is no space for separation, or separation produces many errors | A rush order cannot be moved to the front, and groups are formed in advance. Packages are enabled, and boxes are marked as “Reusable Box” |
| Wave | The warehouse is divided into zones, dispatch deadlines differ, and one order has to fall into several waves | A wave can only include transfer lines of the same operation type |
The company designs the structure itself. The question comes first, the location second: every new level affects someone’s daily work.
3PL (third-party logistics) means a company stores other companies’ goods, picks and ships them, and charges a service fee for it. Odoo 19’s release notes announce a new industry package for this: “3PL Logistic Company”. Its author is Odoo S.A., the license is OEEL-1, which means Enterprise is required. The Apps Store listing shows Odoo Online, Odoo.sh and On Premise.
According to the Apps Store dependency list, the package relies on the Inventory, Purchase, Sales, Quality, Subscriptions, Website, Studio, CRM, Invoicing, Documents, Employees, Knowledge and Manufacturing apps. As described, it automates billing by storage duration, volume and handling services, lets you set service fees by location type, issues recurring invoices for long-term storage and gives the customer a portal with stock balances and requests.
Standard Inventory has an Owner field on goods: when the “Consignment” setting is enabled, the owner is specified on the receipt document. The documentation describes this for a supplier’s consignment goods. Whether this mechanism is enough for storing customers’ goods is checked on a test database.
Most of warehouse accounting is available in ready-made apps. Courier connections, marketplaces, product marking and 3PL rates are separate work. The information is based on the Odoo 19 and 20 documentation, release notes and the package description; if your version differs, we check it during the diagnostic.
| Goal | In standard Odoo | Extra work (BUline) |
|---|---|---|
| Warehouses, locations, zones | Available: Inventory. “Storage Locations”, location types, multi-step routes | Warehouse map and naming convention |
| Putaway rule and capacity | Available: putaway rules, storage category. An incoming quantity is not split across several locations automatically | Capacity table, procedure for splitting the excess quantity |
| Lots and shelf life | Available: lot, four dates, FEFO | Setting up product groups with expiry dates |
| Picking (batch, wave, cluster) | Available: enabled in settings, automatic grouping in the operation type | Criteria and fit to the packing area |
| Barcode scanner | Available: Barcode (Enterprise), GS1 nomenclature, light user | Scanner fleet, label formats |
| Shipping labels | Available: international carriers (DHL Express, FedEx, UPS and others). The documentation has no ready-made connection for Uzbekistan’s couriers | Connecting via the courier’s API — to be estimated |
| Win-back | Available: reverse document (Reverse Transfer) and credit note. Simplified in Odoo 20 | Return location, rules for intact and defective goods |
| Marketplace orders | The documentation does not mention a connection to Uzum Market. The Apps Store has a third-party module (Odoo 18 and 19) | Testing the module or connecting via API |
| 3PL: customers and service billing | Odoo 19 has the “3PL Logistic Company” industry package (Enterprise). The documentation has no separate app for it | Testing the package, rates and calculation rules |
| Electronic invoice and waybill | No: not mentioned in Odoo's official Uzbekistan localization (Fiscal Localization → “uz Uzbekistan”) | Connection to the operator's system is estimated |
| Digital product marking (Data Matrix) | GS1 nomenclature is available. A connection to Asl Belgisi (the national product-marking system) is not mentioned in the documentation | The requirement is determined during the diagnostic |
The items below have been checked against official sources. Those that apply to your line of business, we list in writing at the diagnostic.
Each connection is assessed and built separately. We do not promise that a “ready-made connector exists.”
Reports are not copied into a separate spreadsheet; they are generated from the documents in the same database.
The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →
We study the warehouse map, the order mix, the receipt and return procedure, and customer contracts. Result: a business requirements document (BRD).
The location structure, receipt and delivery stages, picking method, separation of customer goods and the document flow are approved.
First one zone or one customer goes through the whole flow, then the remaining zones, scanners and integrations.
Receivers, pickers, storekeepers, the dispatcher and the accountant are trained by role. Scanner work is practiced on site.
Enhanced support, then adding new customers, zones and reports.
This list speeds up the diagnostic. We can start even if not everything is ready.
| Mistake | Consequence | How we prevent it |
|---|---|---|
| Starting with locations that are too fine-grained | Each new level adds work to receiving, picking or counting | The question comes first: is the zone level enough |
| Assuming the quantity splits on its own when a storage category is full | All of the quantity is routed to one location | A procedure for splitting the excess manually |
| Not considering the reservation method together with the picking group | In “Manual” mode, unreserved lines stay in the group | Check the method in the operation type in advance |
| Not preparing the separation area and boxes for batch or cluster | Goods stay on the cart while orders wait | First test manually on one operation type |
| Mixing customer goods with your own | Stock balances and warehouse value come out wrong | Design ownership and the reporting breakdown at the start |
The Odoo documentation describes the Inventory app as both stock tracking and warehouse management. WMS capabilities are not a separate product; they are enabled through settings: locations, multi-step routes, putaway rules and grouped picking. Scanner work requires the Barcode app (Enterprise). In a small warehouse, many steps become unnecessary paperwork.
All three are based on picking orders in groups. Batch collects whole orders into one list, and separation happens after picking. Cluster moves separation into the picking itself, into boxes on the cart. Wave first splits an order into parts, then groups the parts. Which one fits depends on the warehouse layout and the order mix.
Odoo 19 has the “3PL Logistic Company” industry package (Enterprise). Standard Inventory also has an owner field on goods. Which one suits you, whether reports can be broken down by customer and whether warehouse value stays unmixed is checked on a test database.
The 3PL package description says this billing is automated and that recurring invoices are issued through Subscriptions for long-term storage. Your rates and contract terms are turned into rules and tested.
Odoo’s ready-made carrier connections are for international companies (DHL Express, FedEx, UPS and others). A ready-made connection for Uzbekistan’s couriers is not mentioned in the documentation. For Uzum Market, the Apps Store has a third-party module. Each connection is estimated separately.
A return is opened from the delivered document with a reverse document, and if an invoice was issued, a credit note is added. The Odoo 20 release notes say the return process was simplified; the appearance of buttons may vary by release. We write the rule for where returned goods go and in what condition together.
Standard warehouse apps work in Odoo Online. If a custom module or an Apps Store module is needed (for example, a marketplace connection), Odoo.sh or your own server is chosen. The 3PL package relies on Studio, and its hosting restriction is checked during the diagnostic. Hosting types →
The Odoo license depends on the number of users and apps (terms are on odoo.com). The scope of BUline’s service depends on the number of warehouses and zones, users, customization, integrations, data volume and training. The exact cost and timeline are given in a written proposal after the free diagnostic.
During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.