Dues — Views¶
Read-only commands for inspecting dues state.
/my_dues¶
Anyone (any onboarded brother) can run this to see their own current standing.
Usage: /my_dues
Output: ephemeral. Shows total due, paid, deducted, remaining, overpaid (if any), last payment date.
/my_history¶
Your full payment + deduction history for the current semester.
Usage: /my_history [limit]
| Argument | Required | Description |
|---|---|---|
limit |
no | Max entries (default 15) |
/dues_status¶
Officer-only detail view for one brother. Shows everything /my_dues shows, plus payment count, deduction count, last activity timestamps.
Usage: /dues_status <member>
/dues_leaderboard¶
Paginated ranking of all active brothers.
Usage: /dues_leaderboard [mode]
| Argument | Required | Description |
|---|---|---|
mode |
no | Most owed (default) or Top contributors |
Output: non-ephemeral. Posts a paginated embed with prev/next buttons. 10 brothers per page.
Each row shows: rank, name, owed/total, paid + deducted breakdown.
Use cases:
- "Most owed" — find who's behind on dues each month
- "Top contributors" — rewarding brothers who paid early or out-of-pocket
How dues are computed¶
The math (per brother per semester):
due_amount = either room.price × share_fraction, or the flat /set_semester amount
paid_amount = sum of active /log_payment records
deducted = sum of active /deduct_dues records
credited = paid_amount + deducted
owed = max(due_amount - credited, 0)
overpaid = max(credited - due_amount, 0)
"Active" = undone_at is null. Undoing a payment removes it from the totals immediately.
See How dues are calculated for worked examples.