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

# UpdatePurchaseOrderInput

> The fields to change on a purchase order. Omit a field to leave it unchanged.

<ResponseField name="items" type={<a href="/docs/api-reference/v3/reference/procurement/update-purchase-order-item-input">[UpdatePurchaseOrderItemInput!]</a>}>
  Replaces the order's line items, matched by product. Omit to leave them unchanged. Any product not listed is removed from the order, which fails if that line has received stock. Must not be empty — an order always has at least one item.

  <Expandable title="fields" lazyRender>
    <ResponseField name="productId" type="ID!" required>
      The product being ordered.
    </ResponseField>

    <ResponseField name="quantity" type="Int!" required>
      How many units to order. Must not be negative.
    </ResponseField>

    <ResponseField name="totalTax" type={<a href="/docs/api-reference/v3/reference/common/money-input">MoneyInput</a>}>
      Total tax for this line. Must use the order's currency. Defaults to zero.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The amount as an exact decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unitCost" type={<a href="/docs/api-reference/v3/reference/common/money-input">MoneyInput</a>}>
      Cost per unit. Must use the order's currency. Defaults to zero.

      <Expandable title="fields" lazyRender>
        <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
          The amount as an exact decimal string (e.g. "19.99").
        </ResponseField>

        <ResponseField name="currency" type="String!" required>
          ISO 4217 currency code (e.g. USD).
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="locationId" type="ID">
  The location the ordered inventory is destined for. Send null to clear.
</ResponseField>

<ResponseField name="note" type="String">
  An internal note on the purchase order. Send null to clear.
</ResponseField>

<ResponseField name="orderedAt" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
  The date the order was placed with the supplier. Send null to clear.
</ResponseField>

<ResponseField name="poNumber" type="String">
  Your own purchase order number. Cannot be cleared.
</ResponseField>

<ResponseField name="referenceNumber" type="String">
  An external reference for the purchase order. Send null to clear.
</ResponseField>

<ResponseField name="supplierId" type="ID">
  The supplier the order is placed with. Send null to clear.
</ResponseField>

<ResponseField name="supplierNote" type="String">
  A note shared with the supplier. Send null to clear.
</ResponseField>

<ResponseField name="tags" type="[String!]">
  Replaces the order's tags. Send an empty list to clear them.
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.