MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
MoySklad
Odoo
amoCRM
Systematization
Marketing
AI agents
BUline
Home/Odoo/Warehouse and fulfillment
Odooimplemented by BUline
Odoo · Industries · Warehouse and fulfillment

Warehouse and fulfillment — from location addressing to picking and the client's account

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.

Location addressingBatch and expiryPicking: batch, wave, clusterBarcodeWin-back3PL billing
Problems

Typical obstacles in the warehouse and fulfillment

When the location lives in memory and the records in a spreadsheet, the error reaches the customer.

Location and stock level

  • Where goods are stored is in the employee's memory
  • The recorded balance does not match the goods on the shelf
  • Incoming goods are not counted against the document; the shortage shows up during picking

Order and picking

  • For every order the picker walks the whole warehouse from the start
  • A rush order waits in the same queue
  • The packing and dispatch order is drawn up by hand every day

Returns and accounting

  • It is unclear where returned goods should go
  • Customers’ goods get mixed up with your own
  • Storage and service fees are calculated in Excel
In Odoo

Which app solves which problem

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.

Inventory

Warehouses, locations, receipt, putaway, picking and delivery documents, lots and stock balances.

Barcode

Receiving, picking and counting with a scanner. A light user only has access to this app.

Sales

Order, delivery method, backorder and invoicing policy.

Purchase

Request for quotation for receipts, reordering rules, matching the bill to the receipt.

Quality

Control points at receipt and dispatch.

Expiration date

Four dates per lot, first-expired-first-out (FEFO) and alerts.

Subscriptions

A recurring invoice for long-term storage. Used in the 3PL package.

Accounting

Customer invoice, bank reconciliation, income and expense accounting.

Website and portal

Online orders and a customer account. In the 3PL package, a portal where the customer sees stock balances and submits requests.

Process

From receipt to return

Each stage leaves its own document, so the warehouse, sales and the accountant look at the same figure.

01Receiving

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.

02Validation

In three-step receipt, goods are not counted as available for further work until they pass the inspection zone.

03Putaway

A putaway rule suggests a storage location by product or category. The storage category takes the location’s capacity into account.

04Storage and counting

Lot, expiry and location are recorded as work goes on. Cycle counts are carried out by location.

05Order and reservation

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.

06Picking

Orders are picked in groups using the batch, cluster or wave method. Each step is confirmed with a scanner.

07Packing and dispatch

The picked goods are packed, and the delivery method and label are chosen. The invoice and waybill are issued.

08Returns and billing

Returns are handled with a reverse document and a credit note. For warehouse-service customers, storage and handling fees are calculated.

Hypothetical example

Twelve orders, three shelves

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.

  • Batch: one employee takes several orders on a single list, and the orders are separated at the output point
  • Cluster: separation happens during picking, into boxes on the cart. A rush order cannot be moved to the front
  • Wave: an order is split into parts, and the parts are grouped by zone or dispatch time
  • All three start from one setting: “Batch, Wave & Cluster Transfers”. For picking to be a separate step, “Storage Locations” and “Multi-Step Routes” are enabled as well
  • Covered in detail in the articles Picking methods and What is a WMS
—
—
—
Picking methods

Which method fits when

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.

ApproachWhen it fitsLimitation
BatchFew product types, but they are ordered often and demand is stableSeparation is a separate step: space and people are needed at the output point
ClusterThere is no space for separation, or separation produces many errorsA rush order cannot be moved to the front, and groups are formed in advance. Packages are enabled, and boxes are marked as “Reusable Box”
WaveThe warehouse is divided into zones, dispatch deadlines differ, and one order has to fall into several wavesA wave can only include transfer lines of the same operation type
Location addressing

Locations, categories and the putaway rule

The company designs the structure itself. The question comes first, the location second: every new level affects someone’s daily work.

Structure

  • A warehouse is a physical place with an address; locations are built as a tree, for example WH/Stock/Zone A
  • Internal locations are maintained when the “Storage Locations” setting is enabled
  • The location type affects value: when stock moves from an internal location to outside, the inventory value changes, while transit between warehouses does not change the valuation

Putaway rule

  • A rule has three parts: a product or category (or package type), the arrival location, and the storage location
  • “Last Used” suggests the last location used, and “Closest Location” suggests the best fit within the storage category
  • If several rules match one product, the more specific one wins: a package type combined with a product comes first

Capacity and limits

  • A storage category limits capacity by weight, by product or by package type
  • Location acceptance mode: empty only, this product only, or mixed
  • Odoo does not split an incoming quantity across several locations on its own: if 12 arrive for a location sized for 10, all of it is routed to that location
Warehouse service for customers

3PL: storing customer goods and billing for services

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.

  • The package relies on Studio, server actions and computed fields. The Apps Store description warns that this may require additional technical work in later updates
  • Whether the billing rules (volume, duration, handling types) fit your contracts is checked on a test database; readiness is not promised in advance
  • Customer goods and your own are kept separate in one warehouse: the owner, location and reporting breakdown are designed during the diagnostic
—
—
—
Honest scope

What Odoo includes as standard and what we add

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.

GoalIn standard OdooExtra work (BUline)
Warehouses, locations, zonesAvailable: Inventory. “Storage Locations”, location types, multi-step routesWarehouse map and naming convention
Putaway rule and capacityAvailable: putaway rules, storage category. An incoming quantity is not split across several locations automaticallyCapacity table, procedure for splitting the excess quantity
Lots and shelf lifeAvailable: lot, four dates, FEFOSetting up product groups with expiry dates
Picking (batch, wave, cluster)Available: enabled in settings, automatic grouping in the operation typeCriteria and fit to the packing area
Barcode scannerAvailable: Barcode (Enterprise), GS1 nomenclature, light userScanner fleet, label formats
Shipping labelsAvailable: international carriers (DHL Express, FedEx, UPS and others). The documentation has no ready-made connection for Uzbekistan’s couriersConnecting via the courier’s API — to be estimated
Win-backAvailable: reverse document (Reverse Transfer) and credit note. Simplified in Odoo 20Return location, rules for intact and defective goods
Marketplace ordersThe 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 billingOdoo 19 has the “3PL Logistic Company” industry package (Enterprise). The documentation has no separate app for itTesting the package, rates and calculation rules
Electronic invoice and waybillNo: 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 documentationThe requirement is determined during the diagnostic
Uzbekistan requirements

Local requirements for warehousing and fulfilment

The items below have been checked against official sources. Those that apply to your line of business, we list in writing at the diagnostic.

Invoice and waybill

  • A seller of goods or services issues an invoice to the buyer, and it is executed in the electronic system (Article 47 of the Tax Code). Storage and handling services fall under the same rule
  • From 19 March 2025, if goods are sold at the time of shipment, an invoice can be combined with an electronic waybill (Resolution No. 168). Combining is not mandatory
  • They cannot be combined if the buyer collects the goods without transport or the goods are not sold at the time of shipment. For transfers between warehouses, only a waybill is issued
  • The goods table requires a national catalogue code (IKPU/MXIK)
  • Combining the invoice and waybill, How IKPU (MXIK) works

Labeling

  • For goods subject to mandatory digital marking, automatic checks were added to the electronic invoice from 1 July 2026: the supplier’s license or permit, registration in Asl Belgisi, validity of the marking codes, and a code-reading device at the retail buyer (Tax Committee notice, Cabinet of Ministers Resolution No. 23, 23 January 2026)
  • On the online cash register receipt, the product’s IKPU (MXIK) code is checked against the marking code
  • An obligation for aggregated packaging codes in the warehouse is not mentioned in the Tax Committee notice: this is checked during the diagnostic
  • A Data Matrix code can only be read by a scanner that captures images: QR and Data Matrix in the warehouse

Buyer rights and returns

  • The Law “On Protection of Consumer Rights” (No. 221-I) applies to individual buyers
  • Under Article 28-1, if goods sold through an information system do not match the sample or description, the consumer may demand a replacement or a refund, and the return costs fall on the seller. If the contract is canceled and the money is not returned on time, a penalty of 1% per day applies (not exceeding the amount to be returned)
  • Article 18: non-food goods of proper quality can be exchanged within 10 days of the purchase date. The goods must be unused, with packaging and proof of purchase.
  • Odoo handles returns with a reverse document and a credit note, and the deadline and cost rules are configured to fit this logic

Data and contract

  • A buyer’s name, phone number and address are personal data. Where the database is hosted: the law and the hosting location
  • If you process the data of your customers’ buyers, your role (database owner or operator) is set in the contract and agreed with a lawyer
Integrations

Delivery and sales channels

Each connection is assessed and built separately. We do not promise that a “ready-made connector exists.”

Delivery

  • Carriers in the Odoo 20 documentation: DHL Express, FedEx, UPS, USPS, bpost, Sendcloud, EasyPost, Envia.com, Shiprocket, Starshipit. They are not in the open-source repository, which means they are part of Enterprise
  • The documentation has no ready-made connection for Uzbekistan’s couriers. The Yandex Delivery API documentation does not confirm coverage of Uzbekistan: we ask the courier’s manager

Marketplace and website

  • Uzum Market: the Apps Store has a third-party module (Odoo 18 and 19). It imports and confirms FBS (seller-fulfilled) orders and sends stock and price. FBO (marketplace-fulfilled) orders are read-only; stock and price are shared and are not allocated by warehouse
  • The module author states that they are not an Uzum reseller or an accredited integrator. We test the module or connect through the Uzum API
  • Online store page →

Equipment and documents

  • Scanner and label printer (Zebra, ZPL format)
  • Dispatch management by vehicle capacity: the Fleet app and a Mapbox connection are required, and products must have weight and volume
  • Electronic invoice and waybill operator, migrating balances and locations from the old warehouse system (Excel, 1C, MoySklad)
For managers

What the manager sees

Reports are not copied into a separate spreadsheet; they are generated from the documents in the same database.

Warehouse

  • Balances by location, lot and expiry
  • Batches nearing and past expiry
  • Stock aging report (Odoo 20)

Order

  • Orders arriving after the delivery date (Late Availability filter, Odoo 19)
  • Outstanding orders
  • Status of picking groups

Customer billing (3PL)

  • Storage volume and duration by customer
  • Service invoices and payment status
  • Share of returns and defects
The BUline Method

How we implement it in the warehouse

The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →

01Diagnostic1–2 weeks

We study the warehouse map, the order mix, the receipt and return procedure, and customer contracts. Result: a business requirements document (BRD).

02Architecture1–3 weeks

The location structure, receipt and delivery stages, picking method, separation of customer goods and the document flow are approved.

03Sprints8–16 weeks

First one zone or one customer goes through the whole flow, then the remaining zones, scanners and integrations.

04Training

Receivers, pickers, storekeepers, the dispatcher and the accountant are trained by role. Scanner work is practiced on site.

05Post-launch support30 days + ongoing

Enhanced support, then adding new customers, zones and reports.

Preparation

What to gather before we start

This list speeds up the diagnostic. We can start even if not everything is ready.

Warehouse and goods

  • Warehouse plan, zones, number of shelves and bins
  • Catalogue, barcodes, IKPU (MXIK) codes, dimensions and weight
  • Groups with expiry dates and marking

Process

  • A week of orders: number of lines and recurring products
  • The current receiving, picking, packing and return procedure
  • List of scanners, printers and vehicles

Customers and documents

  • Contracts with customers and service terms
  • Courier and marketplace accounts
  • Electronic document operator and signature holders
Mistakes

Common mistakes and how to avoid them

MistakeConsequenceHow we prevent it
Starting with locations that are too fine-grainedEach new level adds work to receiving, picking or countingThe question comes first: is the zone level enough
Assuming the quantity splits on its own when a storage category is fullAll of the quantity is routed to one locationA procedure for splitting the excess manually
Not considering the reservation method together with the picking groupIn “Manual” mode, unreserved lines stay in the groupCheck the method in the operation type in advance
Not preparing the separation area and boxes for batch or clusterGoods stay on the cart while orders waitFirst test manually on one operation type
Mixing customer goods with your ownStock balances and warehouse value come out wrongDesign ownership and the reporting breakdown at the start
FAQ

Frequently asked questions

Does Odoo have a WMS (warehouse management system)?

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.

What is the difference between batch, wave and cluster?

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.

Can customers’ goods (3PL) be tracked separately?

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.

Does Odoo calculate storage and handling fees?

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.

Is there a connection to courier services and marketplaces?

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.

How do we handle returns?

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.

Odoo Online, Odoo.sh or your own server?

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 →

How much does the service cost and how long does it take?

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.

Free diagnostic

Let’s decide together which Odoo apps to start with

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.

Free diagnostic