Purchase orders
When a supplier buys a catch-weight product from a vendor, the purchase order follows the same rules as a sale: order in boxes, leave the weight blank until the goods arrive, enter the received weight, and pay on weight × the vendor's per-pound price. A purchase order can't be marked Delivered until every catch-weight line has a weight.
Who uses it
Supplier staff who place purchase orders with vendors and receive the goods.
How it works
| Step | What happens |
|---|---|
| Create the PO | Add catch-weight lines by box count. The weight can be left blank. A blank line is priced at $0.00 |
| Goods arrive | Enter each box's weight, or the line weight, on the purchase order |
| Mark Delivered | Blocked while any catch-weight line has no weight |
| Delivered | Boxes and weight are added to stock (weight on hand) |
| Return to the vendor | Needs a returned weight only if the line was weighed, capped at the line weight |
Messages
| Situation | Message |
|---|---|
| Mark Delivered with an unweighed line (app) | "Enter weights for all catch-weight items before marking as delivered" |
| The same, from the server | "Cannot mark delivered: catch-weight item(s) Whole Fish have no weight entered." |
| Return against a weighed line without a weight | "Return for catch-weight item "Whole Fish" requires a weight because the original line was weighed" |
| Returning more than the line | "items[0]: returned quantity (…) exceeds line quantity (…)" |
The purchase order stays Pending when Delivered is refused.
Calculations
The same as a sale. Line total = received weight × unit price, rounded half up to the cent. The vendor's price can have up to 4 decimals. Each recorded return is its own row, and the rows are capped one by one.
| Line | Received | Price | Line total |
|---|---|---|---|
| Lamb rack, 6 CS | 21.4 LB | $16.299 / LB | $348.80 |
| Whole Fish, 3 EA | not weighed yet | $5.10 / LB | $0.00 |
| Whole Fish, 3 EA | 12 LB | $5.10 / LB | $61.20 |
Knock-on effects: receiving a catch-weight PO
PO ICE-PO-000322: Whole Fish 3 EA at $5.10/LB, weighed on arrival at 12 LB, then marked Delivered.
| Before | After weighing | After Delivered | |
|---|---|---|---|
| Line total | $0.00 | $61.20 | $61.20 |
| PO total | $0.00 | $61.20 | $61.20 |
| Status | Pending | Pending | Delivered |
| Whole Fish stock | 10 boxes, 40 LB | unchanged | 13 boxes, 52 LB |
| Due date | (none) | (none) | The PO invoice date + vendor terms. See Dates & time zones |
Where it shows up
New purchase order dialog · Purchase order detail · PO invoice PDF (WEIGHT column, per-box weights) · Stock history · Accounts Payable.
Permissions
Anyone who can create and receive purchase orders (verify role list).
Decisions
- Purchase orders follow the same weight rules as sales orders. One mental model for both sides of the business. (#1996, #2115)
- The gate is Delivered, the point where goods are received into stock.
Known limitations
- An unweighed line prints "0.00 LB" on the PO invoice PDF, where a sales invoice leaves the weight blank.
- The PO invoice screen shows the weight per unit but not each box's weight, while the PO invoice PDF lists boxes (QA observations, May 2026) (verify current state).
FAQ
Why can't I mark this purchase order Delivered? A catch-weight line has no weight. Weigh the goods and enter the weight first.
The vendor's invoice says $16.299/LB. Can I enter that? Yes. Purchase order prices take up to 4 decimals.
Specs
Scenarios CWO-014 to CWO-017 cover purchase orders. They're on Ordering & weighing.