Most production makes one product. But some production yields more than one output: a main product and one or more by-products. Odoo bills of materials can handle this. This piece explains managing by-products in an Odoo BOM.
What a by-product is
A by-product is an additional output that a production process yields alongside the main product. When a manufacturing process runs, it consumes its components and produces its main product, and in some processes it also produces something else, a secondary product, a usable residual, an additional output, that is not the main thing being made but is a real result of the process. That additional output is a by-product.
By-products are common in process manufacturing, where mixing or processing materials can yield more than one usable thing, and they occur in some discrete manufacturing too. A manufacturer whose processes genuinely yield secondary outputs needs to account for them.
Why by-products need to be accounted for
If a process produces a by-product and the system does not know about it, the by-product is invisible: it is produced physically but never recorded as stock, never valued, never available to use or sell in the system. That is a real gap. A by-product that has value, that can be used in other production or sold, should be tracked, so that it enters inventory properly and the business can do something with it. Accounting for by-products is about not losing track of real output.
How Odoo handles by-products
Odoo bills of materials support by-products directly. A BOM can define by-products: alongside the main product the BOM produces, it can list additional outputs. When a manufacturing order for that BOM is produced, Odoo records the by-products as outputs as well as the main product, so the by-products enter stock. By-product management is enabled through the relevant manufacturing setting; once it is on, by-products can be defined on BOMs.
Setting up a by-product
To manage a by-product, the by-product itself has to be a product in Odoo, since it will become stock. With by-product management enabled, the by-product is then added to the BOM as a by-product output, specifying the quantity the process yields. From then on, producing that BOM produces both the main product and the by-product.
By-products and costing
By-products raise a costing consideration worth being aware of. When a process produces a main product and a by-product, the cost of the process, the components and operations consumed, has produced both. How that cost is regarded across the main product and the by-product is a real question, and it is part of why costing in processes with multiple outputs is more involved than costing a single-output process. A manufacturer managing by-products should be conscious that the by-product is not free, it is part of what the process cost produced, and should treat its valuation thoughtfully.
When you do not need by-products
An honest note: if a process produces only the main product, with no genuine secondary output worth tracking, there is no need to use by-products, and the BOM stays simple. By-product management is for processes that genuinely yield additional usable outputs. Adding by-products where there are none just adds complexity.
The takeaway
A by-product is an additional output a production process yields alongside the main product, and Odoo bills of materials support defining by-products so they are recorded as stock when a manufacturing order is produced. Set up the by-product as a product, enable by-product management, and add it to the BOM with its yield quantity. Treat by-product valuation thoughtfully, since the process cost produced both outputs. Use by-products only where processes genuinely yield them. For how we approach Odoo for manufacturers, see our manufacturing work.