PUT
Edit a purchase delivery
Company space For: Buyer, Stock keeper · Permission: purchase_deliveries.update Conditions
  • The delivery must still be editable: a draft delivery or a delivery marked in transit. A confirmed one is refused.
  • reference, when sent, must not already be used by another reception of the company (the reception itself is ignored).
  • cash_register_id, when sent, must be a cash register of the company that has a cash account.
  • items and costs cannot be sent here; use the line and cost endpoints.
  • recoverable_vat_total and vat_total are refused.
  • delivery_rate_id, when sent, must be an active delivery rate of the purchase’s supplier; delivery_fee and delivery_fee_label are refused in the same request.
  • delivery_fee_label alone is refused with 422 when the delivery uses a predefined rate (the label is a snapshot), and when no custom fee amount is sent or already set it cannot be given a label.
  • Sending delivery_rate_id and delivery_fee both as null clears the fee and makes the delivery free.
What else happens
  • Replaces only the fields that are sent; fields left out keep their value.
  • Changing delivery_rate_id re-copies the new rate’s amount and label as a snapshot; sending a custom delivery_fee removes the link to the predefined rate.
  • Nothing else changes; costs are spread over the lines only at confirmation.
Part of Receive purchased goods.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

purchase_delivery
string
required

Identifier of the purchase delivery (27-character KSUID).

Query Parameters

response
enum<string>
default:none

Response mode. Default none; none answers 204 No Content.

Available options:
none,
resource
fields
string

Comma-separated JSON keys of the root resource (id is always rendered). Available: id, type, purchase_id, cash_register_id, reference, status, additional_cost_strategy, delivery_rate_id, delivery_fee, delivery_fee_label, delivery_fee_paid_by_company, purchase_cost_leftover, received_at, expected_at, notes, created_at, updated_at.

include
string

Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: items, items.item, items.damageStockableUnit, costs.

Response

Resource (only with response=resource).

id

Identifier of the reception (27-character KSUID).

type

Kind of reception: "delivery" here. Set by the server from the route.

purchase_id

Identifier of the purchase this reception brings goods for. Set at creation and not changeable.

cash_register_id

Cash register recorded on the reception, or null. It must belong to the current company and organization and have a cash account. It is only stored.

reference

Optional free reference, unique among the company's receptions (pickups and deliveries together). Null when none.

status

State of the reception: draft (being prepared), in_transit (deliveries only: the supplier's truck is on its way, still editable) or confirmed (goods received, stock added). Set by the server.

additional_cost_strategy

How the extra costs are spread over the lines at confirmation: average (equally) or prorata (in proportion to each line's base cost).

delivery_rate_id

Identifier of the supplier's predefined delivery rate the fee was copied from, or null for a custom fee or a free delivery.

delivery_fee
number | null

Delivery fee in major units, copied from the rate or entered as a custom fee. Null when the delivery is free. It is added to the landed cost spread over the lines at confirmation.

delivery_fee_label

Label of the delivery fee (copied from the rate, or custom), or null.

delivery_fee_paid_by_company
boolean

true (default) when the company pays the fee itself; false when the fee is owed to the supplier and added to the purchase's payable once the delivery is confirmed.

purchase_cost_leftover
number

Rounding leftover of the purchase's cost that was added to this reception's lines at confirmation, in major units. 0 until the reception is confirmed.

received_at

Date and time of confirmation (ISO 8601). Null until the reception is confirmed.

expected_at

Date the goods are expected (YYYY-MM-DD), or null.

notes

Free notes, or null.

created_at

Date and time the record was created (ISO 8601, UTC).

updated_at

Date and time the record was last changed (ISO 8601, UTC).

items
array

Lines of the reception. Present only when requested with include=items.

costs
array

Extra costs of the reception. Present only when requested with include=costs.