The warehouse stores and prepares goods, the trip delivers them, and the fleet supports the trip. Odoo connects the three parts: the warehouse and fleet are covered by ready-made apps, while a freight business is assembled from standard apps. We state openly that the documentation does not describe a separate management app for a carrier.
Warehouse and fulfillment are covered on a separate page. Freight transport and fleet are on this page, below.
Bin addressing, batches, batch picking, barcode, returns and storage of customer goods (3PL). Warehouse page →
Order, trip, waybill, CMR, subcontracted carrier and invoice. It is stated openly that a ready-made app for a carrier is not described in the documentation. Below, on this page →
Vehicle, driver, leasing, insurance expiry dates, service, odometer and cost analysis: the Fleet app. Below, on this page →
Which apps are needed is determined at the diagnostic. Planning and Documents are part of Enterprise (they are not in the open-source code repository).
The shipper’s request, quotation and work with repeat customers.
Orders for transport and freight forwarding services, contract terms.
Transport and delivery documents, loading dock, grouped loading.
Vehicle, driver, contract, service, odometer.
Subcontracted carrier services, fuel, purchase of repairs.
Driver and vehicle shifts, travel time (Odoo 20).
Contract, copy of the waybill, vehicle documents; in Odoo 20 vehicle documents are sorted by license plate number.
Invoice, subcontractor accounting, analytic accounting per trip.
Claims for lost or delayed cargo, SLA. Part of Enterprise.
A transport company sells a service: transport, freight forwarding, storage. The Odoo documentation does not describe a separate transport management app (TMS) for a carrier, and no freight package appeared in the industry catalog (25 October 2026). There is only a 3PL package: the Odoo S.A. description lists tracking of inbound and outbound shipments, storage fees and service billing, tracking of transport and consignment, and a customer portal. The package requires Enterprise and is available on Odoo Online, Odoo.sh and your own server; according to the Apps Store dependency list, it relies on the Inventory, Purchase, Sales, Quality, Subscriptions, Website, Studio, CRM, Invoicing, Documents, Employees, Knowledge and Manufacturing apps. For this reason a carrier’s business is assembled from standard apps: the order in Sales, the trip in Project or Planning, the vehicle and driver in Fleet, the subcontracted carrier in Purchase, the invoice in Accounting.
Odoo 20 Inventory has load dispatching, but it is designed for a company delivering its own goods in its own vehicles. Products are grouped by carrier, a batch is assigned to a loading dock, and the vehicle’s capacity (maximum weight and volume) is checked. This requires the Fleet app, a Mapbox connection, and weight and volume on every product. The “Map” button appears only on transfers in the “In progress” status.
For the waybill, Odoo 20 fills in the CMR form from the delivery document with the available data and prints it; missing fields are entered manually. In a batch, a separate CMR is produced for each delivery. The electronic waybill and the trip sheet used in Uzbekistan (the driver’s document with trip details) are not mentioned in Odoo’s ready-made documents: they are covered below together with Uzbekistan’s requirements.
The Fleet app keeps the vehicle record (model, category, driver), contracts (leasing, insurance), service and repair records, odometer readings and cost analysis. A reminder is sent before a contract expires. The maximum weight and volume are entered in the vehicle category: this is used for the capacity check when dispatching a load.
The Odoo 20 release notes state that Documents automatically sorts vehicle documents by license plate number and links them to the right vehicle; in a vendor bill the vehicle is selected automatically by approximate match. In Payroll, when an employee’s vehicle changes, the driver in Fleet is updated automatically. Uzbekistan is not mentioned in the list of payroll localizations in the Odoo documentation, so the driver-to-vehicle assignment is kept manually: status of payroll localization.
An honest limitation: among the functions of the open-source Fleet module (20.0 branch), a fuel log (liters and price) was not found as a separate model, and tire records and driver working-time control are not described either. Fuel cost can be entered as a service type; this route is checked on a test database. The data required by the electronic trip sheet (the driver’s medical check, remaining fuel) is not fully covered in Fleet.
The warehouse, fleet records, the CMR form and load dispatching are available in ready-made apps. Carrier management, Uzbekistan’s waybill and trip sheet, and GPS are separate work. The information is based on the Odoo 19 and 20 documentation, release notes and package description; if your version differs, we will check at the diagnostic.
| Goal | In standard Odoo | Extra work (BUline) |
|---|---|---|
| Warehouse, batches, batch picking, barcode | Available: Inventory and Barcode (Enterprise). Warehouse page | Warehouse map and picking method |
| Storage of customer goods and service accounting (3PL) | 3PL industry package in Odoo 19 (Enterprise) | Testing the package, rates and calculation rules |
| Vehicle, contract, service, odometer, costs | Available: Fleet. Contract expiry reminder | Categories, service types, document structure |
| Fuel log, tires, driver working time | Not described separately in the documentation or open-source code | Studio fields or an external system: assessed |
| Load dispatch: carrier, dock, capacity | Available: dispatch in Odoo 20 (requires Fleet, Mapbox, weight and volume) | Entering product weight and volume, dock locations |
| CMR waybill | Available: in Odoo 20 it is printed from the delivery document, the other fields are filled in manually | Field list and template test |
| Uzbekistan’s electronic waybill | Not mentioned in the Odoo documentation | Connection to the operator’s system or the manual entry procedure: assessed |
| Electronic trip sheet | Not mentioned in the Odoo documentation | The terms of connection to the Ministry of Transport system are confirmed in writing |
| Carrier management (TMS): trip, cargo allocation, settlements | No separate app is described; no package appeared in the industry catalog | Assembled from Sales, Project, Planning and Fleet; assessed |
| GPS tracking | Not described in the documentation | Integration through the telematics provider’s API |
The following has been checked against official sources. Rules change often: on the day of the decision we re-open the current wording and confirm it in writing with the Ministry of Transport or a lawyer.
The warehouse process is on the warehouse page. Here it is the trip: every step leaves a record in Odoo.
The shipper’s request lands in the CRM, and the quotation is prepared in Sales as a transport or freight forwarding service.
The order is confirmed and a trip task is opened. In Planning the vehicle and driver are assigned, and the Fleet category provides the capacity.
If goods are involved, a batch is assigned to a loading dock in Inventory, weight and volume are checked, and the waybill and CMR are prepared.
Costs (fuel, road, repairs) are recorded against the trip. The trip sheet is issued separately in the Uztrans system.
The delivery document is confirmed, the electronic waybill is closed in the operator’s system, and copies of the documents are uploaded to Documents.
An invoice is issued for the service. If a subcontractor was used, their bill is reconciled in Purchase.
Revenue and costs are compared by trip, vehicle and customer; the manager sees the margin.
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 documents in this same database.
The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →
We study the service types (transport, freight forwarding, storage), the trip process, the fleet, the document flow, the current software and telematics. Result: a business requirements document (BRD).
We confirm the set of apps, which app will handle the trip (Project or Planning), the fleet structure, the documents and the operator route, and the hosting type.
First, one route or one customer trip is run end to end: order, loading, document, invoice, margin. Then the vehicle fleet and integrations.
The dispatcher, driver, warehouse keeper, chief mechanic and accountant are trained by role. Practice uses your own list of vehicles and customers. Instructions and video lessons are provided.
After launch, 30 days of intensified support, then agreed ongoing assistance. When the rules change, the connection is re-checked.
This list speeds up the diagnostic. We can start even if not everything is ready.
| Mistake | Consequence | How we prevent it |
|---|---|---|
| Expecting Odoo to be a ready-made transport management system (TMS) | The trip and carrier logic only comes to light at the end of the project | Run the trip process through the standard apps during the diagnostic and agree the result in writing |
| Not entering weight and volume on products | The capacity check does not work when building loads | Make weight and volume mandatory when uploading the catalog |
| Assuming the trip sheet and waybill are issued inside Odoo | The document is missing in the operator's system and the ministry's system | Confirm the document route in writing at the architecture stage |
| Expecting driver pay to be calculated in Odoo | Uzbekistan is not mentioned in the list of payroll localizations | Assess payroll calculation separately |
| Leaving the Mapbox connection to the last day | Routing and travel time do not work | Set up the connection in the test database at the start of the project |
The documentation does not describe a separate app for a carrier, and no freight package appeared in the industry catalog either. There is only the 3PL package and the load-building feature in Odoo 20. A carrier business is assembled from Sales, Project or Planning, Fleet and Purchase; the scope is estimated during the diagnostic.
Yes: in Odoo 20 it is printed from the delivery document and filled in with the available data; missing fields are entered by hand. In a batch, a separate CMR is produced for each delivery. A connection to the electronic CMR (e-CMR) is not described in the documentation.
The Odoo documentation does not mention such a connection. The electronic waybill is issued in the operator's system, and the trip sheet in Uztrans, the Ministry of Transport's system. The connection depends on the capabilities of the operator and the system and is estimated separately.
Vehicle card, driver, leasing and insurance contract (deadline reminder), service and repair, odometer, cost analysis. A fuel log, tire records and GPS are not described in the documentation: they are handled with Studio fields or an external system.
When a company delivers its own goods in its own vehicles. It needs Fleet, a Mapbox connection, and weight and volume on the product; vehicle capacity is taken from the category. For a service transporting another company's cargo, this feature needs additional setup, and whether it fits is checked in a test database.
The Odoo documentation does not mention such a connection. E-Permit is a platform of the Ministry of Transport, and its public API documentation could not be confirmed. Permits and TIR documents can be stored in Documents; we request the connection from the ministry in writing.
Standard apps work on Odoo Online. If telematics, an operator or a custom module is needed, Odoo.sh or your own server is chosen. The 3PL package relies on Studio, and its hosting limitation is checked during the diagnostic. Hosting types →
The Odoo license depends on the number of users and apps (terms on odoo.com). The scope of BUline's services depends on the number of vehicles, trips, warehouses and users, apps, 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.