Skip to content

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.