# Add Box to GRN

**POST** `/v1/inventory/grn/:grn_id/boxes`

Registers a physical box on a GRN. Typically called after scanning the QR code on a box label. The box starts in `pending` status until received.

### Path parameters

| Field | Type | Description |
|---|---|---|
| `grn_id` | integer | GRN to add the box to |

### Request fields

| Field | Type | Description |
|---|---|---|
| `listing_id` | integer | **Required.** Product in this box |
| `expected_qty` | integer | **Required.** Quantity declared on the box label |
| `qr_code` | string | QR/barcode on the box label (used for scan lookup) |
| `lot_number` | string | Lot / batch number |
| `expiry_date` | date | Expiry date (YYYY-MM-DD) |
| `condition` | string | `good` (default), `damaged`, `open_box`, `quarantine` |
| `uom` | string | Unit of measure (e.g. `each`, `kg`, `ml`) |
| `note` | string | Free text |

### Response fields

| Field | Type | Description |
|---|---|---|
| `box` | object | The created box object with `status: "pending"` |
