1886e71 · Gate 2 5/5 · regression 51/51 · no migrationNotion 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.
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.
Cash In/Out Reasons
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.