WeightSheet: Catch Weight Billing for Odoo, Now on the Odoo Apps Store

The gap in Odoo we kept running into
Odoo is a genuinely good ERP for food distribution — right up until a product doesn't have a fixed weight. Standard Odoo tracks a product in units or in weight, never both at once. For a case of screws that's fine. For a leg of lamb, a side of salmon, or a wheel of cheese, it forces a bad choice: bill from a nominal catalog weight and eat the variance, or run a spreadsheet next to your ERP and re-key invoices by hand.
That gap has a name in the food industry: catch weight. And as of this week, our answer to it is live on the Odoo Apps store: WeightSheet — Catch Weight, for Odoo 18 and 19.
What it does
The model is simple to state: order and pick in pieces, price and bill in pounds.
- On the product: flag it catch weight, set the pricing unit (lb or kg) and the expected min / avg / max piece weight.
- On the sale order: quote and confirm in pieces. The line estimates weight and value instantly — three legs at an 8 lb average and $8.50/lb shows $204 before anything is cut.
- On the delivery: every physical case gets its gross, tare, and net weight captured. A case outside the product's tolerance band blocks validation — the error surfaces at the dock, not on the customer's invoice.
- On the invoice: the sale line trues-up from captured actuals and the invoice bills real pounds. If those three legs came out at 24.3 lb, the invoice says $206.55 — to the cent.
Built core-safe, on purpose
A catch weight module that forks Odoo's tax or invoicing math is a liability you install voluntarily. WeightSheet derives the line price so that Odoo's standard subtotal, tax, and invoicing pipeline runs completely untouched — no overridden accounting, nothing for your accountant or your next Odoo upgrade to fight with. It composes cleanly with what Odoo already does well, like POS scale selling and GS1 weight barcodes, instead of replacing them.
The part nobody else ships: hardware
Most catch weight modules stop at a second quantity field. Weights have to come from somewhere, and in a real plant that somewhere is a bench scale at the pack-out table. WeightSheet ships with a companion weigh-station terminal that drives Mettler-Toledo SICS and CAS indicators over serial, enforces stable readings, works offline-first, and posts every case weight straight onto the right Odoo delivery line. We wrote up the details in From Scale to Invoice.
Part of something bigger
WeightSheet makes every invoice match what left the dock. It's the billing layer of the same platform that plans what the animal should become in the first place — the CutSheet Availability System, which optimizes cut plans and available-to-promise against live orders and market prices. Odoo stays your ERP front end; the planning brain sits behind it.
If you distribute anything sold by the pound, the addon is a two-minute install: WeightSheet — Catch Weight on the Odoo Apps store. New to the concept? Start with What Is Catch Weight? — and if you want to see it against your own products, talk to us.


