Five reports + a tamper-proof audit trail.
TeamLedger gives you the five reports a youth sports team manager actually needs - event list, coach + TM summary, balance list, per-player statements, audit trail - exportable as PDF and CSV. Plus an append-only audit log that even the application can't edit.
How it works
Pick a report, pick a date, pick a format. Receipts on demand.
Pick a report
Five built-in reports cover every conversation a TM has, event list, coach + TM summary, balance list, statement, audit trail.
Pick a date range
Season-to-date is the default. Custom ranges for tax season, mid-season check-ins, dispute resolution.
Pick PDF or CSV
PDFs render server-side for consistent layout. CSVs are RFC-4180 compliant, they open cleanly in any spreadsheet app.
Download or email
Per-player statements can be emailed directly to the parent. Master reports download to your machine.
Capability 01
Master Event List
Every event your team incurred this season - league fees, tournaments, ref fees, equipment, travel, uniforms - with the total charged, the amount collected, and the outstanding balance per event. Sortable, filterable, exportable. Opens cleanly in any spreadsheet app.
- Every event with total · collected · outstanding columns
- Sort by date, category, collection rate, or outstanding amount
- Filter to a single category or a date range
- Export to CSV (Excel-ready) or PDF
Capability 02
Coach + TM Payment Summary
Year-to-date totals for every coach payout and every TM reimbursement. The report your accountant asks for at year-end. Per-payee subtotals, per-method subtotals (cash, check, Venmo, Zelle, bank transfer), and a grand total at the bottom.
- Per-coach YTD totals, what you’ve paid each coach this year
- TM reimbursement totals, what you’ve paid yourself back
- Subtotals by payment method
- Year-end ready, hand to your accountant or import into your tax software
Capability 03
Player Balance List
The “who owes me” report. Every player on the team ranked by balance descending. Filter by Owing, Settled, or Credit. Sort to find the largest balances first. The list every TM opens at the start of every collection drive.
- Sortable by balance, largest amount owed at the top by default
- Filter chips: All · Owing · Settled · Credit
- Per-row totals: total charged · total paid · remaining
- Click any row to drill into that player’s statement
Capability 04
Per-player statements
Full ledger detail per player - every charge, every payment, every credit, every refund - in a parent-readable format you can email directly to the parent. Dispute-resolution gold. When a parent says “I’m sure I paid that,” you send them the statement.
- Every charge, payment, credit, and refund chronologically
- Subtotals: total charged · total paid · remaining balance
- PDF formatted for direct emailing to the parent
- CSV format for parents who want to import into their own records
- Statement date stamped at the top, historical statements are reproducible
Capability 05
Audit trail, append-only at the database level
Every action your team takes is logged forever. Event creation, payment recording, payment reversal, event cancellation, departure resolution, fundraising distribution, coach payout. The application’s database role can INSERT and SELECT on the audit_log table - UPDATE and DELETE are revoked at the SQL grant level. CI tests verify the grants on every build, so nobody can accidentally weaken them in a future migration.
- Every state-changing action writes a row to audit_log
- Application database role: INSERT + SELECT only
- UPDATE and DELETE revoked at the SQL grant level
- CI test asserts the grants on every build (fails the build if weakened)
- Timestamp, actor, action, entity, and dollar impact captured per row
Capability 06
PDF + CSV
Every report exports to both formats. PDFs render server-side via Puppeteer for pixel-consistent layout regardless of browser. CSVs are RFC-4180 compliant so they open cleanly in Excel, Google Sheets, and Numbers. Large exports run as async jobs - you queue the export, you get a notification when it’s ready, you download from the Recent exports panel.
- PDF, server-rendered via Puppeteer for layout consistency
- CSV, RFC-4180 compliant, opens cleanly in every spreadsheet app
- Async job queue for large exports, no browser timeouts
- Recent exports panel, re-download any export from the last 30 days
Tax season
Four steps. Year-end totals, in a PDF, in your accountant's inbox.
Open Reports
Tax season. Your accountant emailed asking for the year-end totals on coach payouts. You open Reports from the team menu.
Pick Coach + TM Summary
Date range: 2026-01-01 to 2026-12-31. Format: PDF. Click Generate.
Export PDF
The export queues as an async job. Twelve seconds later it’s in the Recent exports panel.
Email to your accountant
Download the PDF, attach to your reply, send. The audit_log records the export action with your TM identity.
What you get instead
Reports earn their keep at tax time and dispute time. Built for the conversation, not the BI workbench.
Reports earn their keep at tax time and dispute time
The four-metric dashboard handles the live view. Reports are historical exports, what happened, when, by whom, designed for the conversations a TM actually has with parents, accountants, and treasurers.
Absolute-dollar totals, not a drift-prone ratio
Every report leans on the dollar amounts that actually balance. Collection-rate ratios drift on cent rounding and read as false precision; the absolute-dollar columns give you the same story, more honestly.
Year-to-date totals ready for your accountant
The Coach + TM Payment Summary hands your accountant the numbers they need to file. They write the 1099s; you keep the bookkeeping clean. Roles stay separate, mistakes stay rare.
A clean ledger is the receipt that lasts
TeamLedger captures the dollars and the methods so the audit trail is the receipt itself. Photo storage lives in your phone or your drive; the books carry the proof.
Frequently asked
What does “append-only at the database level” actually mean?
The audit_log table sits behind a database role that has been granted only INSERT and SELECT, UPDATE and DELETE are revoked at the SQL grant level. Even if a bug or a malicious actor tried to alter a row through the application, the database would reject the write. CI tests verify the grants on every build.
Can I export to CSV?
Yes, every report exports to both PDF and CSV. CSVs are RFC-4180 compliant so they open cleanly in Excel, Google Sheets, and Numbers. PDFs are rendered server-side via Puppeteer for consistent layout.
Will TeamLedger generate 1099s for my coaches?
No. The Coach + TM Payment Summary report gives you the year-to-date totals you need to file. Tax form generation is intentionally out of scope, you (or your accountant) file the actual 1099s.
Can I correct a wrong entry?
You record a compensating entry, a payment reversal, a refund, a write-back, never an edit or delete on the original. The audit log keeps the full chain so the picture stays honest.
More features
Every workflow a TM actually runs.
The receipt drawer that closes itself.
Free for one team, forever. Five reports, two formats, an audit log the application can't edit.