SYS / VelvetCSV v0.4 · field notes
A Gobvantage Technologies tool OPS / Runs in your browser support@gobvantage.com
WORKFLOW · BOOKKEEPING · 9 MIN READ

Bank CSV cleanup for bookkeepers: a faster workflow for multiple clients.

Published May 22, 2026 By the VelvetCSV team Bookkeeping

If you're a solo bookkeeper running ten or twenty client books in QuickBooks Online, you already know which step is the bottleneck. It's not the categorization. It's not the reconciliation. It's the bit where you open a Chase statement, an Amex export, a Square payout, and a Wells Fargo no-header CSV — and try to remember which date format each one used last month.

The Monday-morning bookkeeper problem

A representative Monday for a multi-client bookkeeper:

  • Client A: Chase business checking. Posting Date / Description / Type / Amount. Need to strip Type, keep the rest.
  • Client B: Bank of America checking + a corporate credit card. Two different exports, two different date formats.
  • Client C: Wells Fargo small business. No header row. Positional columns with asterisks in column 3.
  • Client D: Mostly Square payouts because they're a coffee shop. Daily payout reports.
  • Client E: Stripe payouts because they're SaaS. Different column names, gross / fee / net split.
  • Client F: A credit union nobody's ever heard of. Manual mapping required.

Each one needs the same end product — a three-column Date, Description, Amount CSV ready for QBO's "Upload from file" path. But each one needs a different sequence of opens, renames, find-and-replaces, and date-format coercions to get there. That's the friction.

The current workflow most bookkeepers do

It usually looks something like this:

  1. Log into the bank, download the CSV (10–15 seconds).
  2. Open it in Excel. Excel mangles the dates and adds a BOM (free).
  3. Delete summary rows, delete unused columns, rename headers (1–2 minutes per file).
  4. Format the date column. Realize Excel "helpfully" converted some dates to numbers (3 minutes).
  5. Find-and-replace currency symbols and parens around negatives (1 minute).
  6. If debit/credit columns: build a formula, drag it down, paste-values, delete originals (2 minutes).
  7. Save As CSV. Hope it's UTF-8. Pray QBO accepts it.
  8. Upload to QBO. If it works, move to next client. If not, debug.

Best case: 6–8 minutes per client. Worst case (BOM error, encoding issue, missed debit/credit merge): 20–30 minutes per client. Multiply by 15 clients and a Monday morning is gone before you've categorized a single transaction.

The math, ungenerously

At 8 minutes per client × 15 clients × 4 weeks/month, that's 8 hours/month just on CSV cleanup. At a $75/hour rate, that's $600/month of your time going to find-and-replace. The $3/month or $49 lifetime tier of VelvetCSV pays for itself in the first reconciliation.

The faster workflow: profiles + batch

Almost every bookkeeper's clients fall into a small number of bank "shapes." Once you know what Chase exports, you know what Chase will export next month too. The trick is making your tools remember that, so you don't have to re-derive it every cycle.

1. Build a per-client profile once

For each client, do the mapping once. Tag the columns: this one is Date, this one is Description, these two are Debit + Credit (merge them), this one is junk (drop it). Save the profile under the client's name. Next month, you point the same export type at the profile, and it remaps automatically. No re-decision required.

Tools that support this natively (VelvetCSV included) cut steps 3–6 in the manual workflow above down to a single click.

2. Standardize the file you store

Always export and store the cleaned, post-conversion CSV — not the raw bank export. Same column order every time (Date, Description, Amount). Same date format every time (ISO 8601). Same encoding every time (UTF-8, no BOM). The downstream of your books — QBO imports, year-end review, audit trails — gets predictable.

3. Batch when you can

If you do five Chase clients in a row, drop them into a tool that handles multiple files at once. VelvetCSV's Unlimited tier has bulk batch upload — drop a folder, get a zip of cleaned files. Same with QBO Accountant: you can keep multiple browser tabs open, one per client book, and upload in parallel.

4. Build a "this client's bank exports like X" cheat sheet

Keep a one-page reference of what each client uses. Bank, account type (checking vs credit card vs payout processor), date format the bank gives you, debit/credit vs signed-amount, any custom description prefixes worth stripping. When you onboard a new client, this is the only "research" step you have to do — then it's repeatable forever.

A worked example: 12 clients in 45 minutes

Let's say your client roster looks like this:

  • 5 × Chase business checking
  • 3 × Bank of America (mix of checking and credit card)
  • 2 × Wells Fargo
  • 1 × Square payouts
  • 1 × Stripe payouts

With saved profiles per client, the workflow per file becomes: download from bank (15s) → drop into converter (3s) → click "use profile" (1s) → download cleaned CSV (3s) → upload to that client's QBO (15s). Roughly 40 seconds per file.

Twelve files at 40 seconds is eight minutes. Add a coffee break and the overhead of switching between client logins and you're at ~45 minutes for the whole roster. That's the saved hours per month — without changing how you do reconciliation or categorization at all.

What to look for in a tool

Whether you use VelvetCSV or something else, the four features that actually matter for a multi-client workflow:

  1. Per-client profile memory. Without this, you re-do the same column mapping every month for every client. With it, the second month onwards is a single click.
  2. Auto-detection of the major banks. Saves you the profile-creation step for the common ones.
  3. Batch upload. If you have 15 clients, you don't want to do 15 individual sessions.
  4. Local-only processing. Bank exports contain client account numbers, balances, vendor names. They should not leave your machine. Tools that upload to a server are a compliance question your clients can ask.

Built for the Monday-morning batch.

VelvetCSV's Unlimited tier includes saved per-client bank profiles and bulk batch upload — drop a folder, get a zip of cleaned files. Everything runs in your browser, nothing uploads to a server. $3/month or $49 lifetime (limited time). Cancel in one click, no retention flow.

See pricing

The compliance angle

Most online "CSV cleaner" tools upload your file to a server, run a Python script, send the result back. That's fine technically — but a lot of bookkeepers' engagement agreements require client financial data not to leave the bookkeeper's machine or systems-of-record. A tool that processes everything in-browser sidesteps that question entirely.

If a client ever asks "where does our data go when you clean these CSVs?" — the honest answer for VelvetCSV is "nowhere. It's parsed by JavaScript already running in your browser, and the closed tab takes the data with it." That's a much easier client conversation than "uploaded to a vendor's server, here's their SOC 2."

Related reading

Bookkeepers Workflow Multi-client QuickBooks Time saving