SaaS bills hide in inboxes, card statements, and forgotten trial emails. What freelancers actually need is one sheet: what renews, when, and for how much.
Here is the workflow I use when someone dumps a pile of subscription screenshots, CSV exports, or card-statement lines and wants a usable recurring-costs sheet back in about a day.
What "good enough" looks like
- One row per active subscription (no duplicates across Visa / Amex / PayPal)
- Amount normalized to monthly and annual so apples match
- Next renewal date called out
- Owner / login email noted when it matters
- Cancelled or free trials flagged, not mixed into the burn rate
- Nothing invented — only what the dump supports
Intake checklist
- The dump (card statement CSV, Stripe/PayPal export, screenshots, forwarded receipts)
- Which cards/accounts are in scope
- Currency (and whether to convert)
- Whether this is personal, business, or mixed
- Anything that must stay out (other people's tools, personal entertainment)
The pass order that saves time
- List every charge that looks recurring — ignore one-offs.
- Dedupe across sources — same Notion charge on two cards is one row.
- Normalize cadence — monthly, annual, quarterly → comparable monthly burn.
- Capture renewal — next bill date or "unknown — check statement".
- Tag keep / review / cancel — based on what the client already said, not my opinions.
- Spot-check — three lines you can point back to a receipt or statement row.
Columns that work
| Column | What goes here |
|---|---|
| Service | Vendor / product name |
| Plan | Tier or seats if known |
| Amount | As billed |
| Cadence | Monthly / annual / other |
| Monthly equiv | Normalized burn |
| Next renewal | Date or unknown |
| Payment method | Card last4 / PayPal / invoice |
| Owner email | Login that holds the seat |
| Status | Active / trial / cancel queued |
| Source | Statement row or receipt crumb |
Common traps
- Counting annual charges as monthly without dividing
- Double-counting the same tool across two cards
- Leaving trials in the "active burn" total
- Guessing plan names when the dump only shows a dollar amount
- Mixing one-time App Store purchases into recurring burn
Soft handoff
When the sheet is done, send:
- The recurring-costs sheet
- A one-line monthly burn total (active only)
- A short "review / cancel candidates" section if the client asked for it
- Pointers back to the statement rows or receipts you used
That is the whole job. No finance stack required.
I do this as a 24-hour DFY service for freelancers and small businesses ($12 for subscription dump → recurring-costs sheet). Shop: https://brittanybonds.gumroad.com/l/recurringsheet — code ADMIN12 for $2 off. Full catalog: https://brittanybonds.gumroad.com/ and https://brittany-bonds.github.io/
Top comments (0)