01must proveProposed | Receipt against a return authorization is idempotent under its receipt key, with retries returning the recorded receipt without stock movement. no proof recorded yet | invariant | service, database | test |
02must proveProposed | Receiving rejects quantities above each line's remaining authorization and rejects additional receipts on completed returns. no proof recorded yet | validation | service | test |
03must proveProposed | Receiving advances the return to partially received or received without stock movement, requesting money on receipt only when the policy allows it and every authorized unit has arrived. no proof recorded yet | policy | service | test |
04must proveProposed | Inspection records one of five conditions and any discrepancy for each received line, marks the receipt inspected once all lines are inspected and advances the return to inspecting. no proof recorded yet | lifecycle | service, database | test |
05must proveProposed | Restocking records a return-restock movement at the requested location, otherwise the original shipping location or first sellable warehouse location, and restores original layer cost. no proof recorded yet | calculation | service | test |
06must proveProposed | Quarantine records restock followed by quarantine movement without available stock or restored cost, while scrap and return-to-customer dispositions leave stock and cost of goods sold unchanged. no proof recorded yet | calculation | service | test |
07must proveProposed | Disposition rejects quantities above received units, unsupported replacements and choices prohibited by the return policy. no proof recorded yet | validation | service, database | test |
08must proveProposed | A fully dispositioned receipt permits return completion, with credit memo and refund processing after the disposition commit. no proof recorded yet | lifecycle | service | test |
09must proveProposed | An issued return label creates a one-parcel packed shipment toward the warehouse using the outbound account, otherwise an active carrier or manual carrier, and withdrawal before receipt cancels and pulls it. no proof recorded yet | lifecycle | service | test |
10Proposed | Return receipts retain unique numbers and idempotency keys and cannot be deleted. | invariant | database | test |
11must proveProposed | Receipt creation, inspection and disposition require their return-receipt permissions and reject readers and portal callers. no proof recorded yet | permission | api | observed |