> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CompletePurchaseOrderCommandRequestInput

> Completes a purchase order by hand, also with quantities still undelivered: they are no longer expected, but the line items stay as they are (use 'CancelPurchaseOrder' to reduce them). The requested delivery date becomes the day of completion. An order sent to the fulfillment network is closed there first. Raises the workflow events 'completed' and 'changed'. Errors arrive as GraphQL errors with the code in 'extensions.code'; a refusal because of the current state also lists every reason in 'extensions.blockers'. Codes: PURCHASE_ORDER_NOT_FOUND (the order was not found); PURCHASE_ORDER_NOT_RELEASED (an order to a warehouse that is not released); PURCHASE_ORDER_NOT_SENT (a drop shipping order that was not sent); PURCHASE_ORDER_COMPLETED (the order is completed already); PURCHASE_ORDER_FULFILLMENT_INBOUND_NOT_CLOSED (the order cannot be closed in the fulfillment network). - Request



**Kind**: `input`

## Fields

**`purchaseOrderId`**: `ID!` (required)

The ID of the purchase order.

---

**`disableAutomaticWorkflows`**: `Boolean`

Suppresses the automatic workflow triggers of this call. Defaults to false when omitted.

---

**`idempotencyKey`**: `String`

Client-supplied idempotency key. When provided, a repeated request with the same key and payload replays the original result instead of re-executing the mutation.

