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

# Get Purchase Order

> Retrieve a purchase order with its line items, delivery terms, and financing state.

### Overview

Returns the PO and, if it has been financed, the state of that financing — including which funding
milestones have released.

### Path

<ParamField path="id" type="string" required>
  The purchase order identifier, e.g. `po_67890`.
</ParamField>

### Response

<ResponseField name="purchase_order_id" type="string" required>
  PO identifier.
</ResponseField>

<ResponseField name="status" type="string" required>
  `DRAFT`, `REQUESTED`, `APPROVED`, `IN_PRODUCTION`, `COMPLETE`, or `CANCELLED`.
</ResponseField>

<ResponseField name="supplier_id" type="string" required>
  Supplier [DID](/stateset-commerce-api-reference/dids).
</ResponseField>

<ResponseField name="buyer_id" type="string" required>
  Buyer DID.
</ResponseField>

<ResponseField name="amount" type="string" required>
  Total PO value.
</ResponseField>

<ResponseField name="currency" type="string" required>
  `USDC` or `ssUSD`.
</ResponseField>

<ResponseField name="line_items" type="array" required>
  What was ordered — SKU, quantity, and unit price per line.
</ResponseField>

<ResponseField name="delivery_terms" type="object" required>
  Incoterm, expected delivery date, and delivery address.
</ResponseField>

<ResponseField name="financing" type="object">
  Present only if the PO has been financed.

  <Expandable title="properties">
    <ResponseField name="financing_id" type="string">
      The financing position.
    </ResponseField>

    <ResponseField name="advance_amount" type="string">
      Total advanced against the PO.
    </ResponseField>

    <ResponseField name="funding_schedule" type="array">
      Milestone-gated tranches. Each carries a `milestone`, an `amount`, and either a `funded_at` if
      it has released or an `estimated_date` if it has not.
    </ResponseField>

    <ResponseField name="repayment_due" type="string">
      When the advance must be repaid.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl 'https://api.stateset.com/v1/purchaseorder/po_67890' \
    -H 'Authorization: Bearer <token>'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "purchase_order_id": "po_67890",
    "status": "IN_PRODUCTION",
    "supplier_id": "did:stateset:supplier:xyz789",
    "buyer_id": "did:stateset:buyer:abc123",
    "amount": "100000.00",
    "currency": "USDC",
    "delivery_terms": {
      "incoterm": "FOB",
      "expected_delivery": "2024-08-15"
    },
    "financing": {
      "financing_id": "pof_9x3kLm8nR5",
      "advance_amount": "80000.00",
      "funding_schedule": [
        { "milestone": "ORDER_CONFIRMED", "amount": "40000.00", "funded_at": "2024-06-25T12:10:00Z" },
        { "milestone": "PRODUCTION_COMPLETE", "amount": "40000.00", "estimated_date": "2024-08-01" }
      ],
      "repayment_due": "2024-10-15"
    }
  }
  ```
</ResponseExample>

<Note>
  A tranche with `estimated_date` and no `funded_at` has **not** released. Milestone funding is gated
  on the milestone actually being reached — treat the estimate as a forecast, not a commitment.
</Note>

### Related

* [List Purchase Orders](/stateset-commerce-api-reference/purchaseorders/list)
* [Finance Purchase Order](/stateset-commerce-api-reference/purchaseorders/finance)
* [Complete Purchase Order](/stateset-commerce-api-reference/purchaseorders/complete)
