Skip to main content

Partial deliveries

A partial delivery lets you deliver some of the rows on an order, or part of a row's quantity, before the whole order is delivered. Partial deliveries require a license.

To register a partial delivery, use batchUpdateOrders and set quantityDelivered on the order rows that have been delivered.

Each partial delivery must be sent as a single call. All changes in the call become one delivery (one parcel). An email update can be sent to the customer when the delivery is registered by setting triggerNotification to true in options. This only sends the emails configured in the message center. If none are configured, nothing is sent.

Payment activation​

Each store has an order management setting that controls when payment is activated:

  • Off: payment is activated when the order changes to status 6 (Sent order).
  • On: payment is activated partially as rows are delivered. When all rows have been marked as delivered, the order automatically changes to status 6.

Service fees, such as shipping, are activated on either the first or the last delivery, depending on a store setting.

See ERP for more about order statuses.

Example​

The example below marks 2 items on one order row as delivered and triggers any configured notifications.

Similar to other batch mutations, this returns a job ID which can be used with jobStatus to check the status of your job.

Request:

mutation partialDelivery {
batchUpdateOrders(
input: [
{
id: 23444,
orderRows: [
{id: 112211, quantityDelivered: 2}
]
}
]
options: {triggerNotification: true}
) {
id
status
}
}

Response:

{
"data": {
"batchUpdateOrders": {
"id": 131,
"status": "waiting"
}
}
}