Product lines, quantities and receiving controls
Where: the purchase order editor's Lines section.
Who: order create/update permission for drafts; amendment permission for the agreed-order amendment screen.
Line fields
| Field | What it means | Example |
|---|---|---|
| Product | Existing Catalog product, not a new identity created here | Ceramic Mug |
| Ordered quantity | Positive quantity being bought | 200 |
| Unit price | Purchase cost per ordered unit, zero or positive | 2.50 |
| Tax amount | Total tax amount for this line, not a percentage | 100.00 for a 500.00 line at an illustrative 20% |
| Line type | Product, Service, Freight, Charge, Discount or Text | Product |
| Description | Line description | Standard ceramic mugs, boxed |
| Supplier item code | Supplier's own item reference | NW-MUG-01 |
| Unit of measure | Agreed UOM code | EA |
| Discount amount | Total line discount, not a percentage or per-unit discount | 25.00 |
| Requested / Promised delivery | Line-specific delivery dates | 10/11/2026 / 11/11/2026 |
| Allow partial receipts | Whether less than the remaining commitment may be received | Checked for split deliveries |
| Over receipt tolerance % | Permitted excess over the live quantity commitment | 5 |
| Under receipt tolerance % | Shortfall within which receipt progress can be considered complete | 2 |
| Inspection required | Recorded inspection-control flag | Checked for fragile goods |
| Notes | Operational detail | Check handles for cracks |
Defaults on a new line are Product, quantity 1, unit price 0, tax 0 and partial receipts allowed. Set the actual cost before submission. The form has no variant selector or location override; see receiving setup limits.
Line types are not separate specialist workflows
Product, Service, Freight and Charge are quantity-bearing in the current calculation rules. Text and Discount are not receivable or invoiceable through the goods-receipt path. However, the current browser editor still requires a product and positive quantity on every line.
Do not use a Discount line as an assumed negative-price shortcut: the editor requires non-negative unit price. Use Discount amount on the relevant product line. Do not assume a Service classification alone switches off the receipt stock integration. Agree the supported setup before using non-product lines; the examples use Product lines.
Quantity calculations
For an open quantity-bearing line:
Remaining to receive = max(Ordered − Received − Cancelled, 0)
Remaining invoiceable = max(Accepted − Invoiced, 0)
Closing receiving or invoicing explicitly makes that corresponding remaining quantity zero. It does not rewrite the actual quantity history.
Received is not accepted
Suppose 100 mugs arrive, 4 are rejected and 3 of those are damaged:
| Quantity | Value | Consequence |
|---|---|---|
| Received | 100 | Counts against the delivery commitment. |
| Accepted | 96 | Feeds stock addition and invoiceable quantity. |
| Rejected | 4 | Not added to usable stock by the receipt listener. |
| Damaged | 3 | Included in rejected 4; not another quantity to subtract. |
Rejected units still count as received. Receiving 100 of 100 with 4 rejected does not automatically leave a new 4-unit replacement commitment. There is no automatic supplier-return/replacement workflow; resolve it with the buyer.
Tolerance examples
| Setting | Delivery attempt | Expected meaning |
|---|---|---|
| Ordered 200, no cancellation, over tolerance 0% | Receive 201 cumulatively | Refused. |
| Ordered 200, no cancellation, over tolerance 5% | Receive 210 cumulatively | Within the server's maximum of 210, subject to the current screen exposing the line. |
| Same, attempt 211 | 211 | Refused. |
| Ordered 200, under tolerance 2% | Receive 196 | Receipt progress can show Received although arithmetic remaining is still 4. Review whether to close/cancel the residual. |
| Partial receipts not allowed, remaining 200 | Receive 100 | Refused. |
The server applies over tolerance to ordered minus cancelled quantity. When cancellation and tolerance interact, the browser's preliminary check can be less strict than the server; the final server validation decides. Do not treat a successful draft save as a reservation of receiving capacity.
Once there is no remaining quantity, the browser no longer offers that line for another receipt, even if an over-receipt tolerance exists. Tolerance is not a button for reopening completed lines.