# Update Purchase Order

**PUT** `/v1/inventory/purchase-orders/:po_id`

Updates a purchase order's details. Cannot edit a PO that is already `received`, `closed`, or `cancelled`.

### Path parameters

| Field | Type | Description |
|---|---|---|
| `po_id` | integer | ID of the purchase order |

### Request fields

| Field | Type | Description |
|---|---|---|
| `supplier` | string | Supplier name |
| `reference` | string | External PO number |
| `note` | string | Notes |
| `expected_at` | timestamp | Expected delivery date |
| `status` | string | Advance status: e.g. `draft` → `sent` when order is placed with supplier |

### Response fields

| Field | Type | Description |
|---|---|---|
| `purchase_order` | object | The updated PO object |
