Sell, stock and invoice by actual weight not just piece count
One module tracks catch weight across sales, purchase, invoicing and stock for products like meat, seafood, cheese and produce — with deviation alerts and variance reporting built in.
The problem
Odoo tracks each product in a single unit of measure, but variable-weight goods are bought, sold, stocked and invoiced in two units at once. A case of frozen chicken is counted as one bag for logistics but priced at its actual 12.4 kg. Without native dual-unit support, teams resort to spreadsheets, manual invoice edits and fake units of measure — producing mismatched stock counts, incorrect margins and invoices that do not match what was physically shipped.
The solution
Product Catch Weight adds a second, weight-driven quantity to every order line and stock move. Turn on Catch Weight on a product, pick a weight unit and an average weight, and every sale, purchase, invoice and warehouse operation captures the real weight while pieces keep driving logistics — with deviation alerts and a variance report to catch capture errors before they hit the books.
Everything catch weight touches, in one module
Every capability below is implemented in the module.
Catch-weight toggle & dual UoM
Flag any product as catch-weight and configure its weight unit of measure, average weight and deviation threshold right on the product form.
Weight-driven sales orders
Sales order and quotation lines capture the actual catch weight, and the line and order totals are calculated from that weight, not the piece count.
Weight-driven purchase orders
Purchase orders and RFQs capture catch weight on every line, so procurement can order and reconcile by the actual received weight.
Weight-driven invoicing
Customer invoices, vendor bills and credit notes calculate amounts from the captured catch weight, so invoiced totals match what was physically shipped or received.
Catch weight on every stock move
Receipts, deliveries, internal transfers and detailed operations all capture catch weight demand and done quantity on every move line.
Lot & serial weight tracking
Each lot or serial number rolls up the catch weight captured across its move lines, giving traceable actual weight for food and cold-chain stock.
Configurable deviation alerts
Set an average weight and a deviation threshold per product. Any captured weight that strays beyond it surfaces a non-blocking warning at the point of the operation.
Catch Weight Variance report
A dedicated list, pivot and graph report shows every captured weight against its configured average, highlighting over-threshold operations by product and warehouse.
Group-based access control
Dedicated security groups restrict who can configure and edit catch-weight data, so only authorized roles touch the settings that drive pricing.
How it works
Enable catch weight
Turn on Catch Weight for a product, pick its weight unit of measure, and set the average weight and deviation threshold.
Sell and buy by weight
Sale and purchase order lines capture catch weight, and pricing follows the weight instead of the piece count.
Capture weight in stock
Receipts, deliveries and transfers record the real weight, with alerts firing the moment a capture strays past the threshold.
Review variance
Spot capture problems by product and warehouse in the Catch Weight Variance report before they erode margins.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Any product bought, sold or stocked by count but priced and valued by actual weight — fresh meat, poultry, seafood, cheese, dairy, produce and similar variable-weight goods.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Product Catch Weight
Dual-unit tracking for variable-weight goods across sales, purchase, invoicing and stock moves, with lot and serial weights, deviation alerts and a variance report — counted by unit, priced by actual weight.
Buy on Odoo App Store