CashEntry
object type
ONE posted cash-drawer ledger fact: the SIGN is the direction (positive = cash INTO the drawer). sysId-LESS (the class); IMMUTABLE — NO update or doom op exists (corrections are NEW compensating entries); posted ONLY by openTillSession (float_in), recordCashEntry (the manual subset), closeTillSession (count_adjust), and the tender writers (cash_sale/cash_refund/change_given) — each in ONE transaction with the drawerTotals cache stamp.
Fields
| Field | Type | Notes |
|---|---|---|
id | ID ID! | No further notes. |
type | String String! | No further notes. |
caption | String String! | The derived display caption — entryType + currency + signed minor; never editable. |
status | String String! | The FSM state: active | doomed (doomed = VOIDED, reserved for a future void-family flow). |
parentId | ID ID! | The parent TillSession. |
rootId | ID ID! | No further notes. |
entryType | CashEntryType CashEntryType! | The canned entry type (SPEC_REGISTRY — the sign law rides it). |
currency | String String! | The entry currency (the per-currency drawer; FX capture fields arrive with the writers). |
amountMinor | Int Int! | The SIGNED minor-unit amount — the sign IS the drawer direction. |
reason | String | The reason — REQUIRED on the manual ops; auto-generated on float_in/count_adjust. |
glCategory | String | The GL expense/income category — rides paid_in/paid_out only. |
refs | String [String!] | Provenance document refs (bounded free strings — typed refs land with their writers). |
fx | CashEntryFx | The FX capture (foreign cash_sale entries only). |
overdrawn | Boolean | Present (true) EXACTLY when this entry drove its currency's drawer total negative. |
createdAt | String String! | No further notes. |
updatedAt | String String! | No further notes. |
revision | ID ID! | No further notes. |
revisionNum | Int Int! | No further notes. |