# CreateReceiptInput

input type

Create-input for createReceipt.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — 'receipt <N> line(s)'; when supplied it must be non-blank. |
| `purchaseOrderId` | [ID](/types/#scalars) `ID!` | yes | The parent PurchaseOrder (rides the HEADER parentId) — tenant-scoped server-side; must be RECEIVABLE (issued / acknowledged / partially_received — CONFLICT/REF_STATE else). |
| `logicalFacilityId` | [ID](/types/#scalars) `ID!` | yes | The receiving LF this document captures arrivals for — tenant-scoped + ACTIVE; must be named by ≥1 PO line (VALIDATION/INVALID else). |
| `lines` | [ReceiptLineInput](/types/ReceiptLineInput/) `[ReceiptLineInput!]!` | yes | The lines (1..90 — the PER-CALL ceiling, each addresses a PO line destined to THIS LF; one line per (PO line × disposition); lineNo assigned 1..N in input order. A bigger arrival composes: create up to the per-call ceiling, then addReceiptLines up to 1000 lines on the document — the post WALKS, so the transaction budget no longer caps the document). |
| `landedComponents` | [LandedCostComponentInput](/types/LandedCostComponentInput/) `[LandedCostComponentInput!]` | no | Optional landed-cost ESTIMATE components (≤8, amounts in the PO currency — VALIDATION/INVALID naming both else). |

## Used by

- [createReceipt](/reference/inventory-operations/createReceipt/)
