DEV Community

Brittany Bonds
Brittany Bonds

Posted on

How I turn a bank or CSV export into a monthly category sheet

If you freelance or run a tiny shop, you often have a bank CSV that is "almost" useful — until tax time, a client ask, or a bookkeeper wants categories.

Here is the workflow I use when someone sends a bank or CSV export and wants a monthly category sheet back in about a day.

What "good enough" looks like

  • One row per transaction
  • Date, payee, amount, category, and a short note
  • Income and expense separated (or signed consistently)
  • Category totals that a human can trust

Intake checklist

  1. The CSV or bank export (or a screenshot dump if that is all they have)
  2. The month or date range
  3. Preferred categories (software, meals, contractors, ads, transfer, other)
  4. Which transfers/payroll rows to exclude
  5. Currency and whether refunds should be negative expenses or income

The pass order that saves time

  1. Normalize headers map Date / Description / Amount into one schema.
  2. Drop noise — internal transfers, card payments that double-count, opening balances.
  3. Normalize payees — "AMZN MKTP", "Amazon.com", "AMAZON DIGITAL" become one payee where it helps.
  4. Categorize in one pass — freeze the category list before you start.
  5. Reconcile — sheet total vs statement ending balance or period net; spot-check five rows.

Spreadsheet columns that work

date payee amount type category account note source_row

Keep source_row so you can defend any line later.

Common traps

  • Transfers that look like income
  • Refunds booked as positive expenses
  • Pending vs posted duplicates
  • Fees buried in description text with $0 amount columns
  • Multi-currency rows with no FX note

Soft handoff

When the sheet is done, send:

  • The spreadsheet
  • Totals by category for the period
  • A short list of rows you could not classify confidently

That is the whole job. No fancy stack required.


I do this as a 24-hour DFY service for freelancers and small businesses ($12 for a bank/CSV → monthly category sheet). Shop: https://brittanybonds.gumroad.com/l/ujamx — code ADMIN12 for $2 off. Full catalog: https://brittanybonds.gumroad.com/ and https://brittany-bonds.github.io/

Top comments (0)