At twenty statements a month, a good bookkeeper can keep the whole book in their head. At a hundred and twenty, spread across thirty-odd clients, five banks and three people, memory stops working and the firm needs a monthly bookkeeping workflow that anyone on the team can follow and anyone reviewing can check. This guide sets one out: how statements come in, how they are named and filed, how they are batched and checked, who reviews what, the close calendar, the capacity maths, and how long to keep everything. It is written for any firm, whatever software you use.
The short answer: a monthly bookkeeping workflow that scales
Firms that handle 100 or more client statements a month without chaos tend to do the same things: keep an inventory of every client account, collect through one channel by a fixed date, name files the same way every time, process in batches by client, check each statement’s arithmetic before it touches the ledger, separate the person who prepares from the person who signs off, and track every statement in one list until it is reconciled and the period is locked.
| Stage | What happens | Done when |
|---|---|---|
| Inventory | Every account per client, with its bank, cycle and source | Each expected statement is on the tracker |
| Collect | Feeds sync; PDFs arrive through one channel by a set day | Every expected statement is received or chased |
| File | Renamed and saved under client, year and account | The tracker links to the file |
| Batch and check | Converted or imported per client; continuity and balances checked | Every statement ties to its own printed balances |
| Book and reconcile | Categorized, transfers matched, account reconciled | Difference is $0.00 |
| Review and sign off | A second person reviews; issues go back to the preparer | Reviewer signs off on the tracker |
| Close | Period locked, reports sent, files kept per policy | Closing date moved forward |
If a statement converter is part of your chain, it needs the same controls as the rest of it: seats, roles and access limited to chosen clients, so a contractor working on three clients sees those three and nothing else.
Start with an account inventory for every client
The most common way a statement goes missing is that nobody knew to expect it. A client opens a savings account or a second card, and the books quietly stop including it. Keep one inventory listing every account each client has, and build each month’s tracker from it, so a missing statement shows up as an empty row rather than as nothing.
| Client | Account | Bank | Cycle closes | Source | Notes |
|---|---|---|---|---|---|
| Harbor Lane Catering | Checking ...4417 | First County Bank | Month end | Feed, plus PDF for reconciliation | Main operating account |
| Harbor Lane Catering | Savings ...0932 | First County Bank | Month end | PDF from client | Two or three transfers a month |
| Harbor Lane Catering | Card ...7781 | Lakeshore Card Services | The 14th | PDF from client | Password-protected PDF |
| Harbor Lane Catering | Merchant payouts | Payment processor | Month end | Report from client | Matches deposits in checking |
Use the last four digits, never the full account number, in the inventory and anywhere else that gets shared. Record the statement cycle too: card statements often close mid-month, and the close calendar has to allow for them.
Collecting statements: bank feeds, PDFs and client portals
Bank feeds in QuickBooks Online or Xero are the cheapest source of transactions where they work, and for a client with stable feeds you may only need the PDF statement to reconcile against. Be honest about where they do not work: the feed only reaches back so far (Intuit says 90 days to 24 months for QuickBooks Online, depending on the bank), connections break and need the client to sign in again, some banks and many smaller institutions do not connect reliably, and a reconciliation needs the statement’s ending balance anyway. Most firms run both: feeds for daily transactions where available, and statements for every account every month.
| Channel | Works well for | Watch out for |
|---|---|---|
| Client portal (secure upload) | Every client; one place to look | Clients who never log in; needs a reminder routine |
| Shared folder per client | Clients already using cloud storage | Loose permissions, files renamed or moved by the client |
| Email attachment | Occasional one-offs | Unencrypted, easy to lose in an inbox; avoid for routine work |
| Client downloads from online banking on request | Statements and history beyond the feed | Wrong date ranges and partial months |
| Paper by mail | Older clients, closed accounts | Must be scanned; slower to process |
- Set one deadline for everyone, such as the 5th of the month, written into the engagement letter, with what happens when it is missed.
- Send each client a request that lists their exact accounts and periods from the inventory, not a generic “please send your statements”.
- Ask for the PDF statement, not a screenshot or a transaction list, unless you only need a few days. A statement has the opening and closing balances you will check against.
- If a PDF is password-protected, ask for the password through a different channel from the file.
- Chase on a schedule: a reminder after the deadline, a second a few days later, then a call. Late statements are the main reason closes slip.
Name and file every statement the same way
A naming rule only works if it is followed by everyone, every time, so keep it short. One that works: client, account type and last four digits, and the statement end date in year-month-day order, which sorts correctly.
HarborLane_CHK-4417_2026-09-30.pdf
HarborLane_SAV-0932_2026-09-30.pdf
HarborLane_CC-7781_2026-09-14.pdf- File by client, then year, then account. Anyone can find a statement without asking.
- One statement per file. A client’s “Q3.pdf” that holds three months of two accounts gets split before anything else.
- Rename on arrival, not at month end, and keep the original name only if the client uses it to refer to the file.
- When a client re-sends a corrected statement, keep both and mark the old one as superseded rather than overwriting it.
Batch by client, and keep an exceptions queue
In bookkeeping for multiple clients, process all of one client’s accounts for the month together rather than all checking statements across clients. Transfers between a client’s own accounts, card payments from checking and merchant deposits only make sense side by side, and the preparer stays in one client’s context instead of switching thirty times. Start with the main operating account, because most matching runs against it.
Pull anything unusual into an exceptions queue instead of letting it hold up the batch: scanned or photographed statements, password-protected files, statements in a foreign currency, partial periods, and anything that fails its balance check. A senior person works the queue. The rest of the batch carries on.
Check continuity before you check anything else
Each statement should start the day after the previous one ended, with an opening balance equal to the previous closing balance. If it does not, a statement is missing or a period overlaps, and no amount of row-checking will fix that. It is the fastest check there is and it catches a whole missing month.
Check each statement before it touches the ledger
Whatever turns statements into transactions, the bank’s download, a converter, or someone typing, check the result against the statement’s own numbers before importing. Removing rows from a ledger is far harder than fixing a file.
- 1Continuity: opening balance equals last month’s closing balance; dates follow on.
- 2Totals: opening balance plus money in minus money out equals the closing balance; credit and debit totals match the printed ones.
- 3Running balance: each row’s printed balance equals the previous one plus or minus the row. This is the check that finds a missing row and a duplicated row of the same amount, which totals miss.
- 4Count: the row count matches the statement, where the bank prints one.
- 5Import, categorize, match transfers, and reconcile the account to the statement’s ending balance.
Where a client also has a live feed, import statements only for dates the feed does not cover, or match rather than add. A statement imported over a period the feed already brought in duplicates everything in it.
Review and sign-off
The person who prepared a client’s month should not be the person who signs it off. Even in a three-person firm, a second pair of eyes on each client every month catches the miscategorized transfer, the uncleared check from four months ago, and the account nobody reconciled.
| Check | What the reviewer looks at |
|---|---|
| Completeness | Every account on the inventory has a statement and a reconciliation for the period |
| Reconciliations | Difference $0.00; no old uncleared items without a note |
| Uncategorized | No balance left in Uncategorized Income or Uncategorized Expense |
| Transfers | Each transfer appears once, on both sides |
| Unusual movements | Large or new payees, and month-on-month swings in key accounts |
| Exceptions | Every item in the exceptions queue resolved or documented |
| Sign-off | Reviewer’s initials and date on the tracker |
Keep sign-off on the tracker, not in someone’s inbox. A single list with one row per statement and columns for received, checked, imported, reconciled, reviewed and locked tells a manager the state of the month at a glance, and it is the record you want when a client asks what happened in March.
Roles and client-level access
Bank statements are among the most sensitive documents a firm holds. Give each person their own sign-in in every tool, never a shared login, and give them only what their job needs.
| Role | Can | Usually cannot |
|---|---|---|
| Preparer | Upload, convert, edit, categorize and reconcile for assigned clients | Delete history, change billing, manage the team |
| Reviewer | Everything a preparer can, plus sign off and lock periods | Manage billing or integrations |
| Contractor | Prepare for named clients only | See other clients at all |
| Admin or partner | Manage people, integrations, billing and retention | Nothing restricted, which is why there should be few of them |
- Limit access by client as well as by role. A contractor on three clients should not see the other thirty, including their names.
- Turn on multi-factor authentication wherever a tool offers it.
- Remove access the day someone leaves, and review who has access to what each quarter.
- Check what your tools do not have. Some lack single sign-on or an audit log of who changed what; VouchRow, for example, has roles and per-client access but no SSO and no audit log. If your policy requires either, that decides the tool.
The month-end close calendar
A close calendar turns “we are behind” into a specific date that slipped. The days below are an example for a firm that delivers monthly reports by the 20th; move them to fit your engagements.
| Working days | Stage | Notes |
|---|---|---|
| 1 to 5 | Collect | Feeds sync; PDFs due by the 5th; reminders go out on day 6 |
| 3 to 10 | File, batch and check | Clients processed as their statements complete, not all on day 10 |
| 6 to 14 | Book and reconcile | Exceptions queue worked daily |
| 10 to 17 | Review and sign-off | Reviewer returns issues within a day |
| 15 to 20 | Close and report | Lock the period, send reports, archive files |
Card statements that close on the 14th or 22nd do not fit a calendar month. Either reconcile them on their own cycle, which spreads the work, or reconcile them at month end using the following statement once it arrives. Pick one rule per account and write it in the inventory.
Lock each period once it is signed off. In QuickBooks Online, an admin can turn on Close the books under Settings → Account and settings → Advanced and set a closing date, with a warning or a password for changes before it. QuickBooks does not move that date forward on its own, so make moving it part of the close.
Capacity maths: statements, pages and hours
Volume planning is easier in statements and pages than in clients, because clients vary so much. Here is the maths for a made-up firm with 32 monthly clients and 118 statements a month.
| Statement type | Statements | Avg pages | Pages with transactions | Total transaction pages |
|---|---|---|---|---|
| Business checking | 58 | 6 | 5 | 290 |
| Credit cards | 34 | 5 | 3 | 102 |
| Savings and money market | 26 | 2 | 1 | 26 |
| Monthly total | 118 | 418 | ||
| Onboarding catch-up (2 new clients x 3 accounts x 12 months) | 72 | 4 | 3 | 216 |
| Month with onboarding | 190 | 634 |
Two lessons from the table. First, catch-up work for new clients can add half again to a normal month, so plan onboarding into the calendar rather than squeezing it in. Second, if a tool bills by the page, find out which pages it counts. A statement with a cover page and two pages of disclosures has more pages than transaction pages. VouchRow, for example, bills only pages that contain transactions; its plans start at 300 pages a month on Starter, 900 on Professional and 2,500 on Business, with one-off packs of 100, 500 or 1,000 pages that do not expire, for peaks such as January. The firm above would fit inside 900 even in an onboarding month, while 300 would not cover a normal one.
| Task | Example minutes per statement | Hours for 118 statements |
|---|---|---|
| Intake, renaming and filing | 5 | 9.8 |
| Converting or importing, and the balance checks | 10 | 19.7 |
| Categorizing, matching and reconciling | 25 | 49.2 |
| Review and sign-off | 8 | 15.7 |
| Statement work | 48 | 94.4 |
| Client communication (1 hour per client) | 32.0 | |
| Total | 126.4 |
The timings above are illustrations, not benchmarks. Time a typical month for a few clients of each kind and use your own. Then compare the total with the client hours your people really have: a full-time month is about 173 hours (40 a week) before meetings, training, leave and admin, and the hours left for client work are usually well below that. That figure, divided by your measured hours per client, is the honest answer to how many clients each bookkeeper can handle.
Quality control that does not depend on heroes
- Re-perform a sample. Each month, the reviewer redoes a few statements from scratch, picked at random across preparers, and compares.
- Keep an error log with a type for each error: missing row, duplicate, wrong sign, wrong category, wrong period, missed account. Patterns show up within a quarter.
- Fix the cause, not just the row. Three missing rows from the same bank’s page breaks is a process issue, not three mistakes.
- Compare each client’s month with the previous one. A utility bill that doubled or a payroll that vanished is either real news for the client or an error.
- Never post a balancing entry to make a reconciliation tie. Find the row, or document why it cannot be found yet.
Data retention and security
The IRS’s guidance on how long to keep records is written for taxpayers, but it shapes what clients expect their bookkeeper to keep: generally 3 years, 6 years if income was underreported by more than 25%, 7 years for a claim for worthless securities or a bad debt deduction, at least 4 years for employment tax records, and indefinitely if no return or a fraudulent return was filed. Agree in the engagement letter who keeps what, for how long, and what happens to the files when an engagement ends.
- Keep the master copy of each statement in one place, the client file, and nowhere else for longer than needed.
- Set intermediate tools, such as converters and shared upload folders, to keep files only as long as the work requires. Where a tool lets you choose a retention period, pick the shortest one that fits the work.
- If your firm prepares returns, the IRS notes that Federal Trade Commission rules require professional tax preparers to create and carry out a security plan; its Publication 4557 covers what that involves.
- When a client leaves, return or delete their files according to the engagement letter, remove their projects from every tool, and record that you did.
None of this is glamorous. A monthly bookkeeping workflow like this one is what lets a firm add its next twenty clients without adding chaos.