Store ledger for advanced/deferred payments. Member registry, cashier, point of sale module, and transaction history.
Find a file
Claude acd8ff3fd0
Add withdrawal feature to cashier tab
Cashiers can process credit withdrawals (cash-back) for members:
- Requires member PIN to authorize
- Always checks sufficient balance (overdraft not allowed for withdrawals)
- Appears as 'withdrawal' type in ledger, statement, and on receipt
- Receipt opens automatically, same as top-up/charge

Backend:
- migrate_db() now also recreates ledger_entries with type constraint
  extended to include 'withdrawal' (existing rows preserved)
- POST /withdrawal endpoint (cashier_user required)
- Receipt label map updated to include Withdrawal

Frontend:
- Cashier tab now shows two panels side-by-side: Top Up and Withdrawal
- Each panel has its own message area so they don't overwrite each other
- Withdrawal panel includes PIN field; top-up panel unchanged

https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7
2026-05-30 14:31:16 +00:00
docs deployment.md: add Part 7 explaining internet isolation and NAT protection 2026-05-30 12:15:46 +00:00
static Add withdrawal feature to cashier tab 2026-05-30 14:31:16 +00:00
.gitignore Initial commit 2026-05-30 12:01:08 +07:00
LICENSE Initial commit 2026-05-30 12:01:08 +07:00
main.py Add withdrawal feature to cashier tab 2026-05-30 14:31:16 +00:00
README.md Initial commit 2026-05-30 12:01:08 +07:00
requirements.txt Add store-credit web app (FastAPI + SQLite) 2026-05-30 05:21:01 +00:00
run.bat WINDOWS ONLY 2026-05-30 20:30:03 +07:00
run.sh run.sh: remove --quiet from pip so install errors are visible 2026-05-30 11:47:23 +00:00

ClubLedger

Store ledger for advanced/deferred payments. Member registry, cashier, point of sale module, and transaction history.