Inventory shrinkage can
interrupt production, trigger rushed purchasing and delay customer orders.
For Canadian manufacturers facing changing input costs, tight margins, and
labour limits, it can interrupt production, trigger rushed purchasing, and
disappoint customers waiting for finished goods. We help you treat Odoo
inventory management as an operational record that makes losses visible before
they become larger financial problems.
The first question is simple: was the loss a known event, or is it an unexplained variance? Damaged material and documented production waste need a different response than a mismatch between system quantities and a physical count.
Separate Known Losses From Unexplained Variances
Known losses should be recorded through Scrap Orders. In Odoo Inventory, your team can go to Inventory → Operations → Scrap to document damaged raw materials, defective components, expired goods, quality failures, and production waste.
A scrap record should identify:
- The product and quantity lost
- The source location where the loss occurred
- The scrap location
- The operational context that requires review
A scrap record helps us spot repeated quality issues, handling problems or waste in a specific work centre. Users with administrator access can review scrapped quantities under Inventory → Reporting → Moves History by applying the Scrapped filter.
Inventory Adjustments serve a different purpose. They reconcile the recorded On Hand quantity with the physical quantity counted when the cause is unknown or still under review. An adjustment improves inventory accuracy, but it should not end the investigation. We recommend requiring an approved reason, supporting evidence, and manager review for material variances.
Capture Every Inventory Movement
Reliable Odoo inventory management begins with complete transaction capture. Receipts, customer deliveries, internal transfers, manufacturing consumption, and returns all affect what your system says is available. Periodic counts matter, but they cannot fix a process where movements are recorded late or not at all.
Odoo 20’s Physical Inventory page, found under Inventory → Operations → Physical Inventory, gives teams a place to enter counted quantities and compare On Hand and Counted values. After validation, an Inventory Adjustment can reconcile the difference. Applying an inventory adjustment also creates a stock movement record in Moves History. Users can review adjustment details through the History option on the Physical Inventory page.
Your internal process should also document why the adjustment happened. Mandatory reason fields, approval steps, and reason-code reporting may need additional configuration or tailored development. They should not be assumed to be standard functions.
Odoo’s Inventory and Inventory Adjustments documentation provides useful guidance on these workflows. Before rollout, we recommend confirming that Physical Inventory, Scrap Orders, Moves History, tracking functions, and related controls are available in your specific Odoo 20 deployment and licence.
Use Barcodes and History as Evidence
Barcode scanning can reduce errors caused by paper records, delayed entry, and selecting the wrong product. When receiving, put-away, transfers, picking, and counts are confirmed closer to the physical movement, stock records are more likely to reflect reality.
Still, scanning only works when the basics are consistent:
- Product labels and warehouse locations are clear
- Staff follow the same receiving and transfer process
- Restricted stock areas have controlled access
- Cycle counts verify what scans cannot explain
Cycle count frequency can be configured separately for each storage location. By default, no recurring count frequency is set for individual locations, while the scheduled date for the annual inventory count defaults to December 31 unless changed in Inventory settings.
Moves History and inventory adjustment history provide the evidence needed to investigate discrepancies. We can review whether stock was transferred without confirmation, whether one component is repeatedly scrapped, whether the same team makes frequent adjustments, or whether production consumes more material than expected.
Your internal process should also document why an adjustment happened. Odoo allows users to enter a reference or reason in the Physical Inventory pop-up when applying multiple adjustments. The Inventory Reason field is pre-filled with “Physical Inventory” and can be edited before the quantities are updated. Mandatory reason enforcement, approval workflows, and advanced reason-code reporting may require additional configuration or custom development.
Connect Overconsumption to Inventory Value
Consider a manufacturer whose bill of materials (BoM) specifies 100 electronic components for a production order, but operators record that 112 components were actually consumed. When the Manufacturing Order (MO) is produced, Odoo 20 displays a Consumption Warning if the recorded component quantities differ from the expected quantities. Users can choose to confirm the existing consumption or update the quantities to match the production quantity. If the additional consumption reflects actual usage, the recorded quantities should be reviewed and confirmed rather than automatically adjusted to the BoM.
The production manager should investigate why consumption exceeded the expected amount. Possible causes include incorrect material usage, damaged components, rework, or production waste. Comparing the BoM quantities with the components recorded on the MO, stock movements, quality findings, and operator notes helps identify where the difference occurred.
Known production losses must be recorded separately from unexplained stock discrepancies. For example, if eight components were damaged during assembly and were not already included in the MO’s recorded consumption, the team should create a Scrap Order for those eight units from the manufacturing process. If four additional components remain unexplained after reviewing production records and stock movements, an Inventory Adjustment may be needed to reconcile the remaining physical stock difference. The underlying cause should remain under investigation.
This distinction prevents the same loss from being recorded twice. Actual component consumption belongs on the MO, known damaged materials are recorded through Scrap Orders, and Inventory Adjustments reconcile unexplained differences between recorded and counted stock.
Odoo inventory valuation helps leadership understand the financial impact of these losses. Recording scrap or applying an inventory adjustment changes stock quantities, while valuation and accounting settings determine how the financial impact is reflected. Finance and operations teams should review material adjustments and scrap trends together, especially for high-value or constrained components.
Lot and serial tracking can also support controlled investigations by showing where a component moved and where it was consumed. Odoo’s Product Tracking guidance helps frame this traceability work.
Make Smart Tracking a Daily Discipline
Reordering rules and replenishment processes help maintain appropriate stock levels, but they do not detect inventory shrinkage or explain a variance. Smart control comes from recording known losses as scrap, validating unexplained differences through adjustments, and reviewing movement history for recurring causes.
A practical routine includes scheduled cycle counts
for high-risk items, clear receiving and scrap procedures, timely transaction
recording, controlled inventory access, and monthly reviews of adjustment and
scrap trends. Odoo Studio-based workflow changes are Enterprise functionality,
while custom modules are tailored development.
Assigning clear
ownership for corrective action turns inventory records into meaningful
operational control.
Strengthen Inventory Control With Clearer Odoo Insights
Kodershop helps manufacturers align inventory processes, reporting, and accountability with the realities of daily operations. Our Odoo inventory management services can help you gain more reliable visibility into stock movement and exceptions. To discuss priorities for your operation, contact us for a practical conversation with our team.