Store ledger for advanced/deferred payments. Member registry, cashier, point of sale module, and transaction history.
Find a file
Claude 21b6791f4c
Move overdraft override to per-member setting on member record
Instead of a per-transaction checkbox at point of sale, the overdraft
override is now a persistent flag on each member, set via the Edit Member
modal by the appropriate role.

Schema:
- members.overdraft_override INTEGER DEFAULT NULL
  (NULL = follow global policy, 1 = explicitly allowed, 0 = explicitly blocked)
- migrate_db(): ALTER TABLE members ADD COLUMN ... for existing databases

Charge logic (combining global policy + member flag):
- never:          always block (member flag ignored)
- always:         always allow (member flag ignored)
- staff_override: allow only if member flag = 1
- admin_override: allow only if member flag = 1 (only admin can set it via UI)
- staff_block:    allow unless member flag = 0 (explicitly blocked)

Edit Member modal:
- Shows "Allow overdraft for this member" for staff_override / admin_override
  (admin_override hidden from non-admins)
- Shows "Block overdraft for this member" for staff_block
- Hidden for never / always policies
- Checkbox state pre-populated from current member.overdraft_override value

Removed the per-transaction barOverrideRow that was added in the previous
commit — it has been superseded by this per-member approach.

https://claude.ai/code/session_01JuRTR5Xjx8emQsyerBgGU7
2026-05-30 15:08:19 +00:00
docs deployment.md: add Part 7 explaining internet isolation and NAT protection 2026-05-30 12:15:46 +00:00
static Move overdraft override to per-member setting on member record 2026-05-30 15:08:19 +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 Move overdraft override to per-member setting on member record 2026-05-30 15:08:19 +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.