Returns & stock
A catch-weight line is returned by weight: the supplier enters the weight of each box that came back, marked Reshelf or Discard. The credit is returned weight × the line's price per pound, and it can never be more than the line was charged. Stock tracks catch-weight products twice: by box count and by weight on hand.
Who uses it
- Supplier staff record returns in the returns dialog and check stock and weight on hand on the product.
- Restaurants see the credit on the invoice ("Subtotal After Return").
How it works
Returning a catch-weight line
In the returns dialog, each catch-weight line asks for the returned quantity and the weight of each returned box, split between Reshelf (back into stock) and Discard (thrown away).
| Original line | Weight needed for the return? | Why |
|---|---|---|
| Was weighed (e.g. 12 LB) | Yes | The credit is priced on the returned weight |
| Was never weighed (billed $0.00) | No | There's nothing to price, and the line charged nothing |
Validation
| Situation | Message in the returns dialog | Server message |
|---|---|---|
| Weighed line, quantity entered but no weight | "Please enter the individual weights for all catch weight items." | (none: see Known limitations) |
| Returned weight more than the line weight (+0.01 LB allowance) | "Total reshelf + discard weight cannot exceed the original line weight." | "Returned weight (13) exceeds available weight (12) for item …" |
| Returned boxes more than were sold | "Returned quantity (4) exceeds the ordered quantity (3) for Whole Fish." | "item … returned quantity (…) exceeds the quantity sold (…)" |
| A returned box of 0 LB | "Must be > 0" | "…must each be greater than zero." |
Calculations
Return credit = returned weight × the line's unit price, rounded to the cent, capped so a line's returns never credit more than the line was charged. Reshelved and discarded weight on one line print as one return row, and a line returned in full credits exactly what it was charged. See Money & rounding.
Worked examples
Whole Fish, 3 boxes weighed 4 + 5 + 3 = 12 LB at $6.00 / LB = $72.00.
| Return | Credit | Line nets |
|---|---|---|
| 1 box, 5 LB, Reshelf | 5 × 6.00 = $30.00 | $42.00 |
| 1 box 5 LB Reshelf + 1 box 3 LB Discard | 8 × 6.00 = $48.00 | $24.00 |
| All 3 boxes, 12 LB | $72.00 | $0.00 |
| 13 LB | Refused: more than the line weight | |
| 12.01 LB | Allowed (within 0.01 LB), credit capped at $72.00 | $0.00 |
Chicken thigh, 10 LB at $2.599 / LB = $25.99, returned as two 5 LB returns on different days:
| Exact | Credited | |
|---|---|---|
| First return, 5 LB | 12.995 | $13.00 |
| Second return, 5 LB | 12.995 | $12.99 (capped) |
| Total | $25.99, exactly what the line charged |
Knock-on effects: returning 5 LB of fish to the shelf
Order ICE-000042: Whole Fish 12 LB ($72.00) and 4 Canned Tomatoes ($8.00). Delivered and unpaid. One 5 LB fish comes back and is reshelved.
| Before | After | |
|---|---|---|
| Subtotal on the invoice | Subtotal $80.00 | Subtotal After Return $50.00 |
| Return row on the invoice | Whole Fish, 1 EA, 5.00 LB, $6.00/LB, -$30.00 | |
| Balance Due | $80.00 | $50.00 |
| Whole Fish stock | (as before) | +1 box, weight on hand up by the line's average box weight, 4 LB (12 LB ÷ 3 boxes). See Known limitations |
| If it had been Discarded | Same credit. No stock change | |
| If the invoice was already paid | The credit becomes refundable or store credit. See Returns & cancellations and Store credit |
Stock and weight on hand
A catch-weight product has two stock figures: quantity (boxes) and On hand total weight.
| Event | Boxes | Weight on hand |
|---|---|---|
| New product created with "Weight (LB)" filled in | as typed | as typed |
| Order confirmed (Packing) | − boxes ordered | − weight, once weighed |
| Weight entered or changed on a packed order | unchanged | − the difference |
| Return marked Reshelf | + boxes returned | + the line's average box weight × boxes returned |
| Return marked Discard | no change | no change |
| Order canceled after Packing (stock restored) | + boxes | + weight |
| Order canceled while still Pending | no change | no change (nothing was taken) |
| Purchase order marked Delivered | + boxes received | + received weight |
- Stock movements for catch-weight products are valued per weight unit: 12 LB at $6.00/LB is a $72.00 movement, not 3 × $6.00. (#2152)
- Weight on hand never shows below 0, even if more weight left than was recorded.
- Weight on hand can only be typed when the product is created. After that, only stock movements change it.
Where it shows up
Returns dialog · Invoice ("Subtotal After Return", return rows) · Product detail (On hand total weight) · Stock history.
Permissions
Anyone who can record returns on the order (see the returns pages under Orders). Weight on hand can't be edited directly after the product is created.
Decisions
- A return needs a weight only if the line was weighed. An unweighed line billed $0.00, so there's nothing to credit. (#2115)
- Returned weight can't exceed the line weight, with a 0.01 LB allowance for rounding.
- Credits are capped at the line. Rounding alone can't credit more than the charge. (#2150, #2341)
- Stock is valued per weight unit. (#2152)
Known limitations
- The server doesn't always insist on a return weight. A return of a weighed line without box weights is priced from the line's own box weights in order (or an average). Only the returns dialog insists.
- Reshelved weight uses the line's average box weight, not the returned boxes' actual weights, while the credit uses the actual ones. Weight on hand can then drift from the weight that really came back.
- The returns dialog's over-weight warning was reported cut off on narrow screens (QA observations, May 2026).
FAQ
Why does the returns dialog ask for weights on one line but not another? It asks only for lines that were weighed. A line billed at $0.00 because it was never weighed can be returned without a weight.
The customer returned 5 LB but the credit is $12.99, not $13.00. The line had already credited $13.00 on an earlier return, and returns can't credit more than the line's $25.99. See Money & rounding.
Why didn't weight on hand go up? The return was marked Discard. Only Reshelf puts the boxes and the weight back into stock.
Specs
Scenarios CWO-011 to CWO-013 cover returns. They're on Ordering & weighing.