> ## 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.

# UpdatePurchaseOrderLineItemCommandRequestInput

> Patches one position of an existing purchase order. Every field is optional — an omitted field leaves its column unchanged. Field editability depends on the ORDER's status and is graded: quantity, price and delivery date only while the order is Open or Released; the four supplier-confirmation fields in every status except Completed; the note always. Quantity and delivery date additionally apply only to positions of type FreePosition or Item — a charge or discount position has neither. Returns the full re-queried order, so the caller sees what the write did beyond the position itself (recalculated open quantities, and any stock consequence). - Request



**Kind**: `input`

## Fields

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

ID of the purchase order the position belongs to.

---

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

ID of the position to patch. It must belong to the order named in the route; a position of another order is rejected exactly like an unknown one, so the API never confirms the existence of a document it otherwise denies.

---

**`disableAutomaticWorkflows`**: `Boolean`

Indicates whether automatic workflows should be suppressed for this write. Defaults to false when omitted.

---

**`quantity`**: `Decimal`

Ordered quantity; must be greater than zero. Editable only while the order is Open or Released (structural tier), and only on a position of type FreePosition or Item.

---

**`netPurchasePriceAmount`**: `Decimal`

Net purchase price per unit. Editable only while the order is Open or Released (structural tier). Zero is allowed — it is the column's own default — on every position type, including the charge and discount types, whose amount this field carries.

---

**`deliveryDate`**: `DateTime`

Expected delivery date of this position. Editable only while the order is Open or Released (structural tier), and only on a position of type FreePosition or Item. An explicit null clears the date.

---

**`note`**: `String`

Free-text note on the position, at most 2000 characters. Editable in every status including Completed (annotations tier).

---

**`confirmedQuantity`**: `Decimal`

Quantity confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means "no confirmation present".

---

**`confirmedDeliveryDate`**: `DateTime`

Delivery date confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means "no confirmation present".

---

**`confirmedPrice`**: `Decimal`

Net price confirmed by the supplier. Editable in every status except Completed (confirmations tier). An explicit null means "no confirmation present".

---

**`isLineItemConfirmed`**: `Boolean`

Whether the supplier confirmed this position. Editable in every status except Completed (confirmations tier), and bidirectional — an explicit false is a valid reset, while null means "no confirmation status set", a state distinct from false. Fully independent of the order header's IsConfirmed: setting this never changes the header flag and never raises the confirmation event.

---

**`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.

