CountLine
object type
One resolved count line: a StockRecord shard (binId present, lotCode per the shard) or the derived un-binned POOL line (binId absent; whole-LF scope only). BLIND-BY-SHAPE: while the doc is counting, snapshotQty/expectedAtCapture/variance read null — the counter sees WHAT to count, never the expected; the full detail projects once the doc leaves counting (the store + archive always carry it).
Fields
| Field | Type | Notes |
|---|---|---|
lineNo | Int Int! | 1-based position (resolution order at start) — the capture addressing key. |
inventoryItemId | ID ID! | The counted InventoryItem (the (variant x LF) junction). |
binId | ID | The record shard's bin — ABSENT = the un-binned POOL line. |
lotCode | String | The record shard's lot (lot-controlled shards ride the records for free). |
snapshotQty | String | The line's on_hand at START (the audit/blind baseline; NOT the variance base). Null while counting (blind-by-shape). |
countedQty | String | The captured physical quantity (>= 0 — zeros are explicit captures; overwritable while counting). Null until captured. |
expectedAtCapture | String | The line's live on_hand POINT-READ at capture. Null while counting (blind-by-shape). |
capturedAt | String | When the capture landed (UTC ISO-8601; re-captures overwrite). Null until captured. |
variance | String | DERIVED: countedQty − expectedAtCapture; null while counting and on uncaptured lines. |