Distribute fundraising proceeds to the cent.

TeamLedger's fundraising splits raised money equally or by custom shares across selected players, using the same cent-perfect rounding that prevents penny disputes anywhere else in the system.

U12 Sharks
Statement · Brianna Patel
Statement date · 2026-04-25
Owing $120.00
Total owed
$245.00
Total paid
$125.00
Remaining
$120.00
2026-03-15Spring Tournament+$100.00−$100.00
2026-04-01Pizza fundraiser credit+$15.00+$15.00
2026-04-10Uniforms+$120.00−$120.00
2026-04-25Venmo from Nirali Patel−$25.00+$25.00

From cash box to ledger in three minutes.

The form refuses to save until your splits sum to the total, no more “where did $0.13 go?” arguments at season-end.

01

Record the total

Pizza fundraiser raised $400 from 12 parents. Type the amount, pick a date, add optional notes about who organised it.

02

Pick who gets credit

Distribute across the active roster, a hand-picked subset, or every player who actually participated. Coaches sit outside fundraising splits.

03

Equal or custom shares

One click for equal distribution. Switch to custom for participation-weighted shares, parents who worked the event get more.

04

Save · credits land instantly

Each player's share lands in their Fundraising / Discount section, reducing what they owe on future charges. Audit log writes the entry.

Any fundraiser

Pizza sale, car wash, sponsor donation, raffle.

Fundraisers in TeamLedger are deliberately generic, total amount, date, free-text notes, and the list of players who get credit. The same record handles a $400 pizza sale, a $1,500 sponsor donation, or a $87 bake sale. You don't pick a "fundraiser type" because the math is the same regardless: raised money flows out as credits to player ledgers.

  • Total amount, date, optional notes, three fields
  • No fundraiser-type taxonomy, the math is the same regardless
  • Standalone fundraisers don't need a paired event
  • Filter the master event list by category to see all season fundraisers
  • TeamLedger never collects the money, record what you already have in hand
Fundraisers · 2026 spring season
$2,272.00 raised
Pizza fundraiser
Apr 1, 2026 · 12 players
$400.00
Car wash
Mar 8, 2026 · 7 players
$285.00
Sponsor, Rivera Co.
Feb 22, 2026 · 10 players
$1,500.00
Bake sale
Feb 10, 2026 · 6 players
$87.00

Equal or custom

Distribute by participation, not just headcount.

Equal distribution is the default, divide the total across selected players, cent-perfect. Custom distribution is for the parents-who-actually-worked scenario: the four families who scrubbed cars get a $50 share each; the rest get $25. The form refuses to save until your custom amounts sum to the fundraising total exactly. Switching modes preserves entered values, no data loss.

  • Equal distribution, one click, cent-perfect across selected players
  • Custom distribution, per-player amounts for participation-weighted splits
  • Sum-equals-total validator turns green only when math is airtight
  • Switch between modes without losing entered amounts
  • Same rounding utility as events, payments, and refunds, deterministic
Pizza fundraiser · $400.00
12 players · custom shares
EqualCustom
Alex Garcia$45.00Worked
Brianna Patel$45.00Worked
Cameron Nguyen$45.00Worked
Devon Kim$45.00Worked
Elena Rodriguez$25.00
Finn O'Brien$25.00
+ 6 more players…
Distributed: $400.00 / $400.00

Cent-perfect math

$100 ÷ 3 = $33.34 / $33.33 / $33.33.

Equal splits round each player's share down to the nearest cent, then distribute the remainder one cent at a time in last-name-ascending order until the sum equals the total exactly. $100 across three players: Alvarez gets $33.34, Brown gets $33.33, Chen gets $33.33. Sums to $100.00. Mathematically airtight, deterministic across re-runs, and preserved in the audit log forever.

  • Round-down-then-distribute-remainder algorithm
  • Last-name-ascending order picks who gets the extra penny
  • Deterministic, same inputs always produce same outputs
  • Sum of shares always equals the fundraising total exactly
  • Same algorithm everywhere, events, payments, refunds, fundraising
Equal split · $100.00 ÷ 3 players
$33.333… → $33.34 / $33.33 / $33.33
Alvarez, K.
$33.34
+ extra penny
Brown, M.
$33.33
Chen, J.
$33.33
Last-name ascending picks who gets the extra penny$100.00

Audit trail

When a parent disputes their share, you have proof.

Every fundraising distribution writes a FUNDRAISING_RECORDED entry to the append-only audit log, total amount, per-player allocations, timestamp, and the TM identity who saved the entry. Three months later when a parent says "I never got my $33", you can prove the credit landed on October 14th and reduced their balance from $128 to $94.67. Append-only at the database level: no UPDATE, no DELETE for the application role.

  • FUNDRAISING_RECORDED audit log entry on every distribution
  • Per-player allocations preserved alongside the total
  • Timestamp + TM identity, provenance is locked in
  • Append-only at the database level, DB role enforced
  • Filter the audit log to surface every fundraiser of the season
Audit trail · fundraising
Apr 01 · 19:14FUNDRAISING_RECORDED
Pizza fundraiser · $400.00 · 12 players
Custom shares · 4 worked-extra, 8 base share
Apr 01 · 19:14CREDIT_APPLIED
Brianna Patel · −$45.00
Reduced player balance from $120.00 to $75.00
Apr 01 · 19:14CREDIT_APPLIED
Devon Kim · −$45.00
Reduced player balance from $0.00 to $-45.00 (credit)

Append-only · DB-role enforced (no UPDATE / no DELETE).

A common workflow

Pizza fundraiser raised $400.

Twelve parents helped. Four steps to credit all twelve player ledgers, cent-perfectly.

1

Record the total

Pizza fundraiser · $400.00 raised · 2026-04-01.

2

Split equally across 12 players

One click. $33.34 to four players, $33.33 to eight (last-name-ascending picks the cents).

3

Review allocations

See every share before saving. Custom-edit any one if a parent worked extra.

4

Save · credits land instantly

Each player's ledger gets a Fundraising credit. Audit log writes FUNDRAISING_RECORDED.

What you get instead.

We focus on the part that’s hard to get right: splitting the money fairly. The rest of the fundraising stack stays in the tools you already trust.

You keep the collection model that already works.

Donors and parents pay you the way they always have, cash, check, Venmo, or whatever the fundraiser used. TeamLedger records the total once it lands in your hands.

A clean audit trail your treasurer can build on.

The audit log captures every fundraiser total and every distribution. Your treasurer issues the receipts, the 501(c)(3) acknowledgements, and any tax documentation, against numbers that already balance.

Fair team-side splits, focused and simple.

TeamLedger handles the part that's genuinely hard: splitting the proceeds across players to the cent. Donor lists and stewardship workflows live in a CRM if you need one.

Works with any fundraising platform you choose.

Snap! Raise, GoFundMe, anything else, run the campaign on whichever platform fits the team. Once the funds land in your account, record the total and split it fairly.

Fundraising questions.

What kinds of fundraisers can I record?

Anything where money comes in and you need to credit it back to player ledgers, pizza sales, car washes, restaurant nights, sponsor donations, raffle ticket sales. TeamLedger records the total, the date, optional notes, and lets you pick who gets credit and how it splits.

Equal split or custom, which should I pick?

Equal split is the default for parents-shared events (pizza sale where everyone helped). Custom is for participation-weighted events, the parents who actually worked the car wash get a bigger share than the ones who didn't. Both modes use the same cent-perfect rounding utility.

How does the rounding work?

$100 ÷ 3 produces $33.34, $33.33, $33.33, the player whose last name comes first alphabetically gets the extra penny. Sums to $100.00 exactly, every time. The same algorithm runs across events, payments, and fundraising, mathematically airtight, deterministic, and preserved in the audit log.

Is the fundraising distribution part of the audit trail?

Yes. Every fundraising distribution writes a FUNDRAISING_RECORDED entry to the audit log with timestamps, the total amount, the per-player allocations, and the TM identity. When a parent disputes their share, you have proof of who got what and when.

Does TeamLedger collect the fundraising money?

No, never. TeamLedger records what you have already collected. We do not process payments, do not handle donor relationships, do not generate tax receipts. We are a record-keeping ledger for the team-side of the equation.

More TeamLedger features.

Seven more modules in the same ledger, every workflow a TM actually runs.

Cent-perfect every time

End the post-fundraiser argument.

Free for one team, forever. Distribute the next car-wash haul cent-perfectly, and prove it months later if needed.

Get started free$0 forever for 1 team
Talk to a human
Fundraising, distribute proceeds to the cent | TeamLedger | TeamLedger