Dues
Filter cycle dues, manage auto-pay enrollments, review the all-payments ledger, record manual payments, and open payment history from a member profile.
Filter dues by cycle
- Open Dues from the admin sidebar.
- Stay on the By Cycle tab.
- Choose a Season filter when you need a season other than the default.
- Turn on Show archived when you need cycles from archived seasons.
- Open a cycle name to review per-member payment status for that program.
The index shows Paid / required as the number of required members who have paid, out of all members required to pay for each cycle.
Review dues history
- Open Dues and choose Dues history.
- Review the current season by default, or choose another Season. Search by Player or concert cycle, then filter by Determination or Reason.
- Read the two notes at the top: Opal uses a player's current designation and dues exemption for today and future cycles, and fills in missing determinations automatically. Past cycles keep the decision recorded at the time. Reason shows why dues were or weren't required. Designation at the time shows the designation used for that decision.
- Read Required if playing or Not required, the Reason, the Designation at the time, and Last written time. Past rows show Locked with the explanation “Won’t recalculate — this cycle is in the past.” Archived players, cycles, and seasons remain visible when their determinations match the selected season or search.
- Review Missing determinations above the history table. A healthy page says No past determinations are missing and does not offer reconstruction. Owes dues means the normal dues rule requires payment. Exempt because inactive and Exempt because conductor come from the captured designation. Exempt because admin override comes from the player-level dues exemption flag.
- When an interrupted update, import, or other data issue left a past determination missing, the missing section explains that Opal won't guess at past cycles. Choose Reconstruct history and confirm the approximate total. The reconstruction uses each player's current details, leaves existing determinations unchanged, and records the repair in the audit log.
Deployment creates determinations automatically, so admins do not perform routine reconciliation after ordinary profile edits. Reconstructing a past-cycle gap uses current Player data; the confirmation calls out that historical limitation.
Review all payments
- Open Dues and choose the All payments tab.
- Choose a Season filter when you need a season other than the default.
- Choose a Status filter when you need to narrow the ledger. By default, it includes Pending, Succeeded, Failed, Refunded, and Voided, and excludes Abandoned.
- Choose an archived season from Season when you need its payments; archived seasons are included when selected.
- Scan Player, Amount, Kind, Payment method, Status, Season, Cycle, and Paid. The payment method distinguishes Automatic payment, Online payment, Manual payment, and Imported payment.
- Open a name in the Player column to jump to that member’s Dues tab for the payment’s season.
- For a failed or abandoned online payment, open its row actions and choose Remove from ledger. Confirm to permanently delete the unused payment row. Imported and auto-pay rows cannot be removed this way.
Yearly payments show — in the Cycle column. Sort by Paid, Amount, Player, Status, or Kind when you need a different order.
Review active auto-pay enrollments
- Open Dues and choose the Auto-pay tab.
- Review whether Auto-pay is available for new member opt-ins in the page summary.
- Open the page actions menu and choose Edit settings to control the organization-wide service and charge timing.
- Review each enrolled member and the date they authorized auto-pay.
- To stop future charges, select one or more members, choose Cancel auto-pay, enter an internal reason, and confirm.
Pausing Auto-pay prevents new member opt-ins organization-wide. Existing enrollments keep running until a member or admin cancels them.
Understand how auto-pay stays in sync
For each enrolled member, the app keeps scheduled Stripe draft charges in sync with who still owes dues for upcoming concerts.
That sync creates missing drafts for eligible concerts, updates drafts when the amount, label, or charge date changes, and removes drafts that should no longer exist — for example after Cancel auto-pay, a recorded manual payment, a removed card, or when the member is no longer signed up for that concert.
Review per-player status and ledger
- Open Dues and choose a concert cycle.
- On the cycle Dues tab, scan Status for Awaiting response, Not required, Unpaid, Paid, or Refunded.
- Use Search players, Section, Designation, and Status filters to narrow the table.
- Open row actions on any row. Choose Go to player dues to open that member’s Dues tab with this cycle’s season already selected.
- Choose Reset to clear filters.
Awaiting response means the member has not answered or chose Not sure; it is not an unpaid balance. Unpaid means a signed-up member still owes dues. The summary line shows how many members paid and how many remain unpaid on the roster. Row actions also offer Record payment, Refund auto-pay invoice, or Void auto-pay invoice when that member is eligible.

Review per-member dues status and ledger entries for the cycle.
Record a manual payment
| Payment type | When to use |
|---|---|
| Yearly | Cover the full season in one payment |
| Per cycle | Pay for this concert cycle only |
| Remaining season | Pay for all unpaid cycles left in the season |
- On a cycle Dues tab, find a row with Unpaid status.
- Open row actions and choose Record payment.
- Select Payment type and confirm the Amount.
- Add optional Notes such as a check or wire reference.
- Choose Record payment.
Manual payments must match the list price exactly. Online card payments from members appear automatically after Stripe checkout.

Record check, cash, or other offline payments in Record payment.
Review payment history from player detail
- Open Players and choose a member, or choose Go to player dues from a cycle Dues row.
- On the member profile, choose the Dues tab.
- Choose a Season when you need a season other than the default current season.
- Review the auto-pay line, cycle status, and payment table for that season. The auto-pay line shows whether enrollment is on, off, or was never set up, with authorization or disabled details when available.
- Review each cycle for scheduled, processing, paid, failed, or voided automatic-payment state. Payment scheduled and Processing replace Unpaid when a healthy automatic payment owns the balance. A scheduled row also shows the charge date. Completed ledger rows are labeled Automatic payment.
- On a payment row, open actions when they appear:
- Succeeded manual payments offer Edit notes and Void payment (confirmation only).
- Failed or abandoned online payments offer Remove from ledger (confirmation only).
- Pending Stripe Checkout rows offer Resolve checkout.
- Eligible auto-pay rows offer Refund auto-pay invoice (paid Stripe invoice) or Void auto-pay invoice (finalized open invoice), each with an internal reason and acknowledgement.
- Choose Record payment for a manual entry, or View all dues to return to the cycle index.
The Dues tab on the member profile mirrors the same ledger as the cycle Dues tab. Manual void and Stripe refund/void are separate rails — do not use one in place of the other. For the full profile tab workflow across tabs, see Players.
Common questions
What does auto-pay keep in sync?
For each enrolled member, the app matches scheduled draft charges in Stripe to the concerts that member still owes. It creates, updates, or removes those drafts when signup, payment, enrollment, or card status changes. Drafts that have already charged or finalized are left alone.