Dues Software · membership dues for boosters, PTAs, clubs, and activity programs
Who paid, who owes, who is waived — summed to the cent, per organization and season.
Dues Software runs the membership-dues roster for a booster, a PTA, a club, or an activity program. Every payment ties back to one member’s obligation for one organization and one season: what was assessed, what has been collected, and whether a financial-hardship waiver was granted. The math is exact integer cents — an overpayment is surfaced as a surplus, never a silent negative balance — and the treasurer’s view is sums-only: counts and cent totals per organization and season, with no per-member row and no minor identity leaving the aggregate. The hardship reason a waiver carries is held for the treasurer’s own audit and never appears on a public surface or in a CSV. And no money moves until a human gate says so — the charge is honest-off.
This is the membership-dues product page — the dues roster, the reconcile identity, the hardship-waiver wall, and the sums-only treasurer aggregate. The booster-club and PTA-board operations console is the sibling boosterclub.software; dues taken as a designated giving campaign ride fundraising.software. The full platform story is at homeroom.software. Recurring automatic billing is honest early access, named plainly below.
The six pillars: what is built and what is in early access
Membership dues has six surfaces. The dues roster, the hardship-waiver wall, the sums-only treasurer aggregate, the reconcile identity, and the CSV export are shipped and running. Recurring automatic billing is honest early access. Each is marked plainly.
The dues roster: who paid, who owes, who is waived
Every dues payment reconciles against one member’s obligation scoped to an organization and a season: assessed cents, collected cents, and whether a waiver was granted. A member is exactly one of paid-in-full, balance-due, overpaid, waived, or flagged. The balance is assessed minus collected in exact integer cents — when a member pays more than assessed, the surplus is surfaced as an overpayment and the balance due is zero, never a silent negative. Members, organizations, and seasons are opaque references — never a name, an email, or a grade. Shipped
The financial-hardship waiver, behind the wall
A waiver zeroes a member’s dues only when it is both eligible AND approved — either one alone does not zero the assessment, the fail-closed mirror of the pay-to-play fee waiver. The hardship reason is a closed vocabulary (free or reduced-price lunch, financial hardship, or other) held for the treasurer’s own audit only. It is never emitted to a public surface and never placed in a CSV — there is no reason column in either export shape at all. A family’s hardship stays private by construction. Shipped
The treasurer aggregate: sums only, PII wall honored
The treasurer’s roster view carries counts and cent sums per organization and season — member count, paid-in-full count, owes count, waived count, and the assessed, paid, outstanding, and overpayment cent totals — and NO per-member row. That is deliberate: a booster or PTA treasurer sees the totals, never the roster’s minor identities. The student-data PII wall stays true by construction, because the aggregate simply never carries a member row to leak. Shipped
The reconcile identity: no cent lost or created
Per organization and season, the assessed total minus the paid total equals the outstanding total minus the overpayment total, over the priced (non-flagged) members. Every aggregate sum is guarded against integer overflow and fails closed — an overflowing sum is flagged, never silently wrapped. No cent is lost or created between the roster and its aggregate. The reconcile is a checkable property, not a promise: the software asserts it on every roll-up. Shipped
The dues CSV: aggregate always safe, detail gated
Two export shapes. The aggregate roster — sums per organization and season, no member rows — is always safe to hand a treasurer. The per-member detail emits an opaque member reference by default; a human-readable name appears only when an authorization AND consent gate both pass and a name was actually supplied from behind the access wall — a name is never invented. Neither shape ever carries the hardship waiver reason. Shipped
Recurring dues billing
Automatic per-cycle dues collection — a recurring charge that renews each season without a manual re-assessment — is honest early access. The one-time held-charge intent that proves the exact amount owed is built; the recurring billing leg that would collect it on a schedule is the early-access step. We name that plainly rather than presenting recurring billing as live today. Early access (recurring billing)
How a dues roster reconciles
The dues roster projects forward from opaque obligations to a sums-only treasurer aggregate. Every step is exact integer cents, and the hardship reason never leaves the treasurer’s audit.
- A member is assessed for an organization and a season. An obligation is created for one member, one organization, one season: the assessed amount in exact whole-cent integers. The member, organization, and season are opaque references — never a student identifier, a name, or a grade — so the obligation row carries no student column at all.
- A hardship waiver is assessed, fail-closed. If a waiver request is both eligible and approved, it zeroes the assessment and records the closed hardship reason for the treasurer’s audit. Eligible-only or approved-only does not zero the assessment — both are required. A waived member owes nothing; a waiver recorded against a nonzero assessment is flagged as inconsistent rather than silently accepted.
- Payments are collected against the obligation. As dues come in, the collected cents rise. The balance is the assessed amount minus the collected amount, in exact integer cents. A member who pays exactly is paid in full; short is balance-due with the amount surfaced; over is overpaid with the surplus surfaced and the balance due held at zero — never a negative.
- The obligation lands in exactly one status. Waived, paid-in-full, balance-due, overpayment, or flagged — most-protective first. A bad cent value or an inconsistent waiver is flagged and excluded from the sums rather than corrupting them. The status is a pure function of the obligation, so the same row always resolves the same way.
- The treasurer aggregate rolls up, sums only. Obligations group by organization and season into counts and cent sums — and no per-member row. Every sum is guarded against integer overflow; an overflow is flagged, not wrapped. This is the only member-derived shape a treasurer sees, and it honors the student-data PII wall because it never carries a member identity.
- The reconcile identity is asserted. For each organization and season, the assessed total minus the paid total equals the outstanding total minus the overpayment total. The software checks this on every roll-up. No cent is lost or created between the roster and its aggregate.
- Export or hold a charge — honest-off. The aggregate CSV is always safe to hand a treasurer; the per-member detail CSV shows opaque references unless an authorization and consent gate both pass, and never the hardship reason. A held-charge intent proves the exact balance a real rail would collect — it moves no money and posts no charge. A human gate and the payments rail collect the real dues.
The privacy posture: hardship behind the wall, sums only to the treasurer
Membership dues touch two sensitive facts: who could not afford to pay, and which minor a payment belongs to. Dues Software is built so neither leaks — not by policy, by construction.
The hardship reason is never public
When a waiver is granted, the reason it carries — free or reduced-price lunch, financial hardship, or other — is held for the treasurer’s own audit and nowhere else. It is never emitted to a public surface and there is no reason column in either CSV shape. A family’s reason for needing a waiver does not travel with the roster.
The treasurer sees sums, not students
The treasurer aggregate carries counts and cent totals per organization and season, with no per-member row. A booster or PTA treasurer reads the totals to run the organization’s finances; they do not read the roster’s minor identities. The student-data denial the platform enforces for a booster role stays true, because the aggregate never carries a member row to disclose.
Members are opaque references
An obligation identifies its member with an opaque reference — never a student identifier, a name, an email, or a grade. The obligation is a finance record, walled behind the finance role at the data layer. Because there is no student column, the row does not enter the student-PII census at all: it is minimal by design, not scrubbed after the fact.
A name surfaces only behind two gates
The per-member detail export shows an opaque reference by default. A human-readable name appears only when an authorization gate AND a consent gate both pass, and only when a real name was supplied from behind the access wall — a name is never invented. When the gate is closed, the name lookup is never even consulted, so a name cannot leak through a mis-supplied map.
Money honest-off: the charge is a held intent
Dues Software reconciles who owes what. It does not, today, move the money. The held-charge intent is explicit about this: it returns the exact balance a real payment rail would collect, and it moves no money and posts no charge. A human gate and the payments rail collect the real dues. Every amount the software reports as owed or collected is a reconciliation fact, not a fabricated payment.
This is deliberate honesty, not a limitation to hide. The math is real and exact — assessed, collected, outstanding, overpaid, all in integer cents that reconcile — and the collection is a separate, human-gated step. When a treasurer reads a member as paid in full, that reflects collected cents recorded against the obligation, not a charge the software silently ran.
There are no take-percentages here. Dues Software is the roster and the reconciliation, not a slice of the dues. A member owes what the organization assessed; the organization keeps what it collects. The software’s job is to make the roster honest and the totals reconcile — who paid, who owes, who is waived — not to skim the middle.
Dues is a family of surfaces — named distinctly
There is more than one way an organization handles dues, and Dues Software keeps them distinct rather than blurring them into one vague feature. Each is a real, separate piece.
The dues-roster tie (this product)
A per-member obligation scoped to an organization and a season, reconciled against payments, with a sums-only treasurer aggregate and a two-shape CSV. This is the who-paid-who-owes-who-is-waived roster. It is built and running on the platform substrate.
The club dues ledger
A per-club flat dues ledger — a running record of a single club’s dues — with no organization-and-season roster tie and no sums-only aggregate export. It is a distinct, simpler surface for a club that wants a flat ledger rather than a per-season reconciliation. Named as the club ledger, not conflated with the roster tie.
Dues as a giving designation
A campaign can be typed as membership dues and take gifts on the cross-catalog no-split donation lane — the giving-side path, over at fundraising.software. That designation is how dues can be collected as directed giving; the roster tie is how they reconcile back to who owes what. Two sides of the same coin, kept separate.
The PTA remittance split
A PTA’s dues include a National, State, and Unit remittance split — a separate, PTA-specific accounting that divides a membership payment across the affiliation tiers. It is distinct again from the roster tie and lives on the booster and PTA console at boosterclub.software.
Common questions
What does the dues roster actually track?
For each member, one obligation per organization and season: what was assessed, what has been collected, and whether a financial-hardship waiver was granted. From those, a status — paid in full, balance due, overpayment, waived, or flagged — and a balance in exact integer cents. Members, organizations, and seasons are opaque references, never a name or a grade.
Does any money get charged?
No. The charge is honest-off. The held-charge intent proves the exact balance a real payment rail would collect, but it moves no money and posts no charge. A human gate and the payments rail collect the real dues. Every amount reported as owed or collected is a reconciliation fact, not a fabricated payment.
How does the financial-hardship waiver work?
A waiver zeroes a member’s dues only when it is both eligible AND approved — either one alone does not zero the assessment (fail-closed). The reason it carries — free or reduced-price lunch, financial hardship, or other — is a closed vocabulary held for the treasurer’s own audit. It is never emitted publicly and never appears in a CSV. A waiver recorded against a nonzero assessment is flagged as inconsistent, not silently accepted.
What does a treasurer see?
Sums only. The treasurer aggregate carries counts and cent totals per organization and season — member count, paid, owes, waived, and the assessed, paid, outstanding, and overpayment cent sums — with no per-member row. A treasurer runs the finances from the totals and never reads the roster’s minor identities. The student-data PII wall stays true because the aggregate never carries a member identity to disclose.
Can a member's name ever appear in an export?
Only in the per-member detail export, and only when an authorization gate AND a consent gate both pass and a real name was supplied from behind the access wall. By default the detail shows an opaque member reference. A name is never invented, and when the gate is closed the name lookup is never consulted at all. The aggregate export carries no member row and is always safe to hand a treasurer.
What is the reconcile identity?
Per organization and season, the assessed total minus the paid total equals the outstanding total minus the overpayment total, over the priced members. The software asserts this on every roll-up, and every sum is guarded against integer overflow (an overflow is flagged, not wrapped). No cent is lost or created between the roster and its aggregate.
Is recurring dues billing available?
Not yet — it is honest early access. The one-time held-charge intent that proves the exact amount owed is built. The recurring billing leg that would collect dues automatically each cycle is the early-access step. We name that plainly rather than presenting recurring billing as live today.
How is this different from the club dues ledger or a dues campaign?
The dues-roster tie (this product) is a per-member obligation scoped to an organization and a season, reconciled with a sums-only aggregate. The club dues ledger is a per-club flat ledger with no roster tie and no aggregate export. A dues campaign is the giving-side designation on the donation lane. The PTA remittance split divides a payment across National, State, and Unit. They are distinct surfaces, and we keep them distinct.
Does this make any tax or charitable-status claim?
No. Dues Software is a deterministic reconciliation primitive. It makes no tax-deductible, 501(c)(3), or charitable-status claim, and it is not legal or financial-aid advice. The activity sponsor or treasurer and the school’s fee-waiver policy are the authority; the software reconciles the roster honestly and holds the hardship reason private.
Related surfaces
Membership dues connect to the rest of the platform through the booster console and the giving lane. These destinations cover the adjacent surfaces.
boosterclub.software
The sibling booster-club and PTA-board operations console: the first-class booster role with its own console, the treasurer aggregates, and the student-data PII wall the dues roster honors.
fundraising.software
The sibling cross-catalog fundraising home. Dues can be collected as a membership-dues campaign designation on the no-split donation lane; the roster tie reconciles them back to who owes what.
schoolsoftware.app
The plain-language K–12 module catalog front door: all of the built school-software modules with honest per-module status. Membership dues is one of them; this page is its full home.
homeroom.software
The flagship platform brand home: the full product story and the complete picture of the dues substrate and every other module on the platform.
What is built and what is honest-off
The dues roster — a per-member obligation scoped to an organization and a season, with exact integer-cent balance-and-status (paid in full, balance due, overpayment surfaced not a silent negative, waived, or flagged) — is built and running today. The financial-hardship waiver, gated eligible-AND-approved and fail-closed, with its reason held for the treasurer audit and never public, is built and running today. The sums-only treasurer aggregate — counts and cent totals per organization and season with no per-member row, honoring the student-data PII wall by construction — is built and running today. The reconcile identity (assessed minus paid equals outstanding minus overpayment, overflow flagged) and the two-shape CSV export (aggregate always safe; detail opaque by default, a name only behind an authorization and consent gate, never the hardship reason) are built and running today. The club dues ledger and dues-as-a-giving-designation are built as distinct sibling surfaces. The charge is honest-off: the held-charge intent proves the amount and moves no money; a human gate and the payments rail collect the real dues. Recurring automatic billing is early access, named plainly. There are no take-percentages and no charitable-status claim here. No competitor brand names appear. Money, pricing, and checkout are not on this page.