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

# CreatePurchaseOrderInput

> The input for creating a new purchase order.

<ResponseField name="currency" type="String!" required>
  ISO 4217 currency the supplier bills in. Every item's costs must use it.
</ResponseField>

<ResponseField name="items" type={<a href="/docs/api-reference/v3/reference/procurement/create-purchase-order-item-input">[CreatePurchaseOrderItemInput!]!</a>} required>
  Line items to order. Must name each product at most once, and must not be empty.

  <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.
</ResponseField>

<ResponseField name="note" type="String">
  An internal note on the purchase order.
</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.
</ResponseField>

<ResponseField name="poNumber" type="String">
  Your own purchase order number. Auto-generated as PO-#### when omitted.
</ResponseField>

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

<ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/procurement/purchase-order-create-status">PurchaseOrderCreateStatus</a>}>
  Lifecycle status to create the order in. Defaults to DRAFT.
</ResponseField>

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

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

<ResponseField name="tags" type="[String!]">
  Free-form tags to apply to the purchase order.
</ResponseField>


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