Daily register
Start the day, then log entries any time as they happen.
Opening a date other than today, or reopening a day you already closed, requires a code.
For settling up outside a day's register — like when someone pays off what they owe at the end of the month. This never touches any day's register totals, it only updates the ledger.
Everyone who's bought on credit or paid something back, across every day. Names are matched automatically regardless of how they're typed — "Ali" and "ali" are always the same person. Once someone is fully settled, they drop off this list automatically.
Pick a start and end date and it adds up every closed day in between (inclusive), laid out the same way as a daily closing sheet.
Mark today's attendance, review history, and each person's own credit/debit ledger. Once a day's attendance is marked, it can be corrected for 24 hours — then it locks for good.
Every closed register, most recent first.