← All tests

#34/#35 — Cash In/Out Reasons (one shared list) (prod)

SHIPPED 2026-06-07 · nix-cafe 1886e71 · Gate 2 5/5 · regression 51/51 · no migration

Notion test-run #34/#35. The POS Cash In/Out dialog used hardcoded direction-specific reason presets that didn’t match the configurable settings list (that’s the #34 mismatch). Per Narong: use one shared list, easier to maintain. Verified on lumiere-coffee.

#35 — renamed “Payment Diff Reasons” → “Cash In/Out Reasons”

Settings nav + page heading + add-modal renamed. One shared list (cafe.payment_diff_reasons) now drives both the POS Cash In/Out dialog and the close-shift difference dropdown. Route path + table kept — no migration.

Settings nav showing 'Cash In/Out Reasons'
Settings → Payments → Cash In/Out Reasons

#34 — POS Cash dialog reason chips come from the shared list

The Cash In/Out dialog’s quick-pick chips are now sourced from the configured list (fetched on open via a new pos.view-gated action), the same list the close-shift difference dropdown uses — same chips for Cash In and Cash Out; the field stays free-text for one-offs. Gate 2 opened a shift on lumiere and asserted every active configured reason (including a just-added ZZReason34Test) renders as a chip; the test session was force-cleaned after.

Cash In/Out dialog with reason chips from the shared list
Cash dialog chips = configured Cash In/Out Reasons