# TransferReceiptInput

input type

One receipt landing: a line (by lineNo) x a landing bucket — on_hand (the default) or held (reason-coded, strict both ways). One receipt per (line, landing bucket) per call; a line may split across both.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `lineNo` | [Int](/types/#scalars) `Int!` | yes | The line being received (1-based, as stored). |
| `quantity` | [String](/types/#scalars) `String!` | yes | The quantity landing NOW — strictly positive; cumulative receipts never exceed the line shipped quantity (over-receipt refuses CONFLICT/DISCREPANCY). |
| `toBucket` | [StockBucket](/types/StockBucket/) | no | The landing bucket — on_hand \| held ONLY (DEFAULTED to on_hand when omitted; a foreign bucket refuses). |
| `heldReason` | [String](/types/#scalars) | no | The canned held reason — required iff toBucket is held. |
