← All postsCatch weight

What is catch weight, and why your margins are probably wrong without it

iotoms team · August 13, 2026 · 3 min read

If you distribute produce, meat or anything else that is bought by the container and sold by weight, you already know the problem even if you have never heard the term: no two crates weigh the same.

The purchase order says 50 crates of tomatoes at 20 kg each — 1,000 kg. The truck arrives. Some crates are 18.4 kg, some are 21.2 kg. If your system posts 1,000 kg to stock, everything downstream is now slightly wrong: your stock level, your cost per kg, and eventually your margin report, which will tell you a story that never happened.

The catch weight model

Catch weight (sometimes called variable weight) is the inventory model built for exactly this. The ordering unit and the stocking unit are deliberately different:

  • You order in containers — crates, boxes, bags. The PO stays readable and matches how your vendor thinks.
  • You stock by measured weight — at goods receipt, each container crosses the scale, the tare (the weight of the crate itself) is netted out, and the measured net weight is what posts to stock.
  • Cost follows the real weight — the invoice amount divided by measured kilograms is your true landed cost per kg, not the theoretical one.

The difference between expected and measured weight is not noise to be ignored — it is a signal. A vendor whose crates consistently arrive 4% light is quietly charging you 4% more per kilogram. With catch weight, that variance is flagged on every receipt, per vendor, with history.

What goes wrong without it

Most generic inventory systems force a choice: track crates (and lose weight accuracy) or track kilograms (and type in a fiction at receiving). Both paths end the same way:

  1. Paper margins drift from real margins. A light delivery inflates your margin on paper because your cost per kg is understated.
  2. Stock counts never reconcile. The system says 240 kg; the cold room says otherwise, and nobody can say when the drift started.
  3. Vendor claims have no evidence. Without per-receipt measured weights, a shortage claim is your word against theirs.

How iotoms does it

In iotoms, catch weight is not a bolt-on — it is how the units of measure system works. One item can be bought by the crate, stocked by the kilogram and sold by the gram, on the same stock pool, with one price and rounding contract from the van to the ledger:

  • The PO is written in crates; the goods receipt captures per-crate scale readings with tare netted out.
  • Expected-vs-measured variance is computed on every receipt and kept per vendor.
  • The field app sells in any unit — a whole crate to one shop, loose kilograms to the next — against the same measured stock.
  • Day close reconciles to the cent, because the same measured quantities flow through sales, stock and accounting.

If your scale and your software disagree today, the scale is right. Catch weight makes your software agree with it.

See your own routes running on iotoms

Book a demo