Receive Purchase Order Lines
Receives purchase order lines into stock. Raises on-hand quantities, writes
inventory layers, recomputes landed cost and records activity — the same
bookkeeping as reconciling a delivery in the app.
Rejects the whole request if any line or location cannot be resolved.
Only a purchase order in `PAID`, `PARTIALLY_RECEIVED` or `RECEIVED` status can
be received, and any other status returns `409`. A purchase order that has
already been fully received also returns `409` — undo receiving first.
A line may be received in a larger quantity than was ordered, but a line
whose received quantity already equals or exceeds its ordered quantity
returns `409` — undo its receipt first.
Requires scope: `purchase_orders:write`
Authentication
API_KEYstring
API Key authentication via header
Path parameters
id
Purchase order ID.
Request
This endpoint expects an object.
items
Lines being received. At least one, at most 500.
Response
This endpoint returns a list of objects.
id
Unique identifier for the received record.
createdAt
ISO 8601 timestamp when the record was created.
updatedAt
ISO 8601 timestamp when the record was last updated.
purchaseOrderItemId
The purchase order line this was received against.
material
The material received.
variation
The variation received.
location
Where it was received.
quantity
Quantity received.
price
Unit cost paid.
costForClient
Unit price charged to the client.
note
Note recorded with the receipt.
serialNumbers
Serial numbers received.
Errors
400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Rate Limit Error