The customer chooses size, color and hardware, the shop floor knows exactly what to make and how much, the warehouse sees raw material shortages in advance, and the manager gets the actual cost of every order.
Every order is different, there are many types of material, and the process has several stages. That is why Excel and paper quickly cause confusion.
The core set for a furniture factory. Shop Floor and Quality are in the Enterprise edition (odoo.com/page/editions). Which apps are needed is determined during the diagnostic.
Quotation and order with variants: size, color, hardware; advance payment and terms.
Bill of materials (BoM), manufacturing order, backorder, by-products (offcuts).
A tablet on the shop floor: starting and finishing an operation, rejects, time tracking.
Stock of laminated chipboard, edge banding and hardware, reservations, shortages; import costs (Landed Costs).
A purchase request for missing material, supplier history, work with subcontractors.
A control point after assembly, defect alerts.
Actual cost, invoices, counterparty accounts, VAT 12% and 0%.
Showroom sales, the online catalog and the warehouse in one database.
A custom field and process: for example, a measurement sheet and the installation date.
Attributes (for example, size, color, finish) are attached to a product, and each combination becomes a variant. There are three modes of creating variants: instantly (Instantly), on order (Dynamically) or never (Never). The mode cannot be changed after it is added to a product, so it has to be chosen correctly at the start. The salesperson picks a variant in the configurator window on the quotation. One bill of materials serves all variants: components and operations have an “Apply on Variants” field, and if it is left empty, the line is used for every variant.
At every stage, the document and its state are kept inside Odoo. A manufacturing order goes through six states from draft to close, so “ready” means the same thing to everyone.
The manager selects size, color and hardware variants and sends the quotation.
The customer confirms, the advance payment is recorded, and the order goes into production.
Using the bill of materials for the selected variant, the availability of laminated chipboard, edge banding and hardware is checked, and a purchase request is prepared for whatever is missing.
Operations are scheduled by work center. If needed, assembly is blocked until cutting is finished. The worker starts and finishes operations in Shop Floor.
Inspection after assembly, with an alert if there is a defect; the finished product is received into the warehouse.
The waybill, installation date and fitters' schedule are linked to the order.
Invoice, debt control; actual cost and margin become visible when the order is closed.
This example is hypothetical, not a real client case. In the morning, the planner looks at the orders for tomorrow's cutting: by default, Odoo shows in Shop Floor as “ready to start” only the orders for which all components are available. One order is short of edge banding, so it does not appear on the shop-floor screen and reaches the storekeeper as a purchase request.
In the bill of materials, a laminated chipboard sheet and edge banding consumption are recorded per part. The Odoo documentation does not describe a tool that builds a cutting map automatically. If the cutting software is separate, its output is imported into Odoo or a custom module is written; this work is assessed during the diagnostic. Offcuts left after cutting are recorded in the bill of materials as “by-products”: the documentation's example accounts for the wood left over from making a chair in exactly this way.
Not everything works out of the box. The list below is clarified against your process during the diagnostic.
| Goal | In standard Odoo | Extra work (BUline) |
|---|---|---|
| Order with variants (size, color, hardware) | Attributes, variants, configurator, sales order | Complex configuration rules or a free-size formula (on request) |
| Material consumption by variant | Linking a bill of materials line to a variant (Apply on Variants) | Size-dependent consumption formula (on request) |
| Cutting map and offcut optimization | Not described in the documentation; offcuts are accounted for as “by-products” | Exchange with external cutting software or a custom module, assessed separately |
| Operation tracking on the shop floor | Work centers, work orders, Shop Floor (Enterprise) | Configuring tablets, work centers and steps |
| Sequence of operations (cutting, edge banding, assembly) | Work order dependencies (Blocked By) | Adapting to your technological sequence |
| Piecework payroll | Working-time and work-order data are available | Calculation rules and the payroll module: a separate project, a ready-made localization for Uzbekistan is not mentioned in the documentation |
| Cost of imported hardware | Adding additional costs to the product cost (Landed Costs), five allocation methods | Configuring your cost types and the allocation method |
| Subcontractor (lacquering, coating) | Subcontracting: three modes, the component is held at the subcontractor in a separate location | Document exchange with the subcontractor and allocation of responsibility |
| Electronic invoice in the tax system | Odoo has an invoice; connection to the tax system is not mentioned in the Uzbekistan localization documentation | Connection to the operator is assessed separately |
If hardware and some boards are imported, freight, insurance and customs costs often arrive later, on a separate invoice. In Odoo, “Landed Costs” adds these costs to the value of the received goods and allocates them in five ways: equal, by quantity, by current value, by weight, by volume. Condition: the valuation method of the product category on the purchase order must be average cost (AVCO) or FIFO.
Showroom sales run in Point of Sale, and stock is shared with the shop floor and warehouse. The online catalog is managed through eCommerce; the attribute display type (button, color, image) makes choosing size and color on the website convenient. In Uzbekistan, a point that accepts cash or card payments must work with an online cash register from the state register or a virtual cash register, and the receipt carries the national catalog code (IKPU/MXIK) (Cabinet of Ministers Resolution No. 943). The Odoo Uzbekistan localization documentation does not mention a connection to the fiscal cash register, so connecting it is assessed separately.
Tax and document requirements are checked for the industry and built into the project plan. Lists change: the current version is re-checked during the diagnostic.
Each integration is assessed and connected separately. We do not promise that a ready-made connector exists.
Reports are built from configured fields and work order data.
The stages follow the general BUline Method; the timeline is agreed in writing after the diagnostic. We study your furniture production process during the diagnostic. Implementation process →
We study the order's path through the workshop: measuring, bill of materials, cutting, assembly, warehouse. Result: business requirements document (BRD).
Apps, variant structure (variant creation mode), bills of materials, roles and integrations are approved.
In the first sprint, 1–2 product groups go through the full cycle, then the rest.
Managers, warehouse staff and workshop foremen are trained by role, followed by a test with a real order.
Enhanced support, then new apps and reports.
This list speeds up the diagnostic; you can start even if not everything is ready.
Yes, which is why we start with the variant structure: size, color and hardware are kept as attributes, and the bill of materials is linked to the variant. A “custom value” lets the customer state a special requirement. If the size is free-form or the configuration rules are complex, they are estimated separately.
Odoo's documentation does not describe a tool for automatically building a cutting map. Leftover pieces can be recorded as a “by-product”. If a map needs to be built, it is estimated either as an integration with your existing cutting software or as a custom module.
The Shop Floor screen is simple: starting and finishing an operation, defects and comments. It is available in the Enterprise edition. Before launch, foremen are trained by role and practice on a real order.
Odoo separates two costs: the planned cost based on the bill of materials (MO Cost) and the actual cost (Real Cost). Both are built up from materials, work center cost and employee time; when the order is closed, the planned cost is aligned with the actual. If the difference is large, the bill of materials is out of date. The valuation method (average or FIFO) is adapted to your accounting policy.
Yes, that is what Landed Costs is for: freight, insurance and customs costs are added to the value of the received goods. Which costs go into the cost of goods is decided by the accounting policy and the accountant.
Odoo Point of Sale keeps cash register sessions and payment methods, but the documentation of Odoo's Uzbekistan localization does not mention connecting to a fiscal cash register. Linking to an online or virtual cash register from the state register is estimated separately during the diagnostic.
No: according to Odoo's documentation, Odoo Online is not compatible with custom modules or Apps Store modules. No-code customization is possible through Studio. If a module with code is needed, Odoo.sh or your own server is chosen.
The Odoo license depends on the number of users and apps (terms at odoo.com). The scope of BUline's services depends on product groups, users, branches, 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.