Skip to content
All articles

Statement checks

One PDF, several accounts: check that none disappeared

Count the accounts in the original PDF before counting the exported rows. Each account needs its own review record so you can match its pages, period, balances and transactions to the actual download. One account balancing says nothing about another account that never made it into the file.

By AnyStatement

Published , 7 min read

Contents
  1. Start with the PDF, not the converter's account list
  2. Give each account and period its own record
  3. A fictional six-page PDF with three accounts
  4. Keep a manifest beside the final files
  5. A combined total can hide two account errors
  6. Check the next period without assuming the account list stayed the same
  7. What we checked, and what the evidence doesn't establish

Your combined statement has become a tidy spreadsheet. Before using it, make an inventory matching the source to the output, including accounts with no activity. The worksheet below helps you find missing accounts and misplaced rows; it doesn't authenticate the PDF or reconcile your bookkeeping ledger. Your bookkeeper or accountant still needs to resolve ledger differences, and the bank is the source for unclear or missing statement details.

Start with the PDF, not the converter's account list

If you build your inventory from the extracted spreadsheet, an omitted account has already disappeared from the checklist meant to catch it. Keep the original PDF unchanged and use it to build the list instead. Its account summary gives you a starting point, but you still need to work through every page for account headings, identifiers, statement periods and continuation pages.

Banks do issue combined statements. For example, Ally's account information FAQs say that customers with a savings or checking account receive one monthly statement for all their accounts, including CDs. The same page says the cycle end depends on when the account was opened. We checked it on October 18, 2026; no editorial update date was shown. That's Ally's guidance, not a rule that every bank combines the same products or uses calendar-month periods.

Each account needs a distinct private label, with its currency. A nickname and masked suffix can help, but if two accounts would still have the same label, add a bank or another alias to tell them apart. Read the label beside any number you use: don't copy a customer or relationship number into every row as though it identifies the individual account.

An account listed only in a relationship summary belongs in the inventory as summary only until you locate its activity detail. A listed balance without transaction detail isn't evidence of zero transactions. If the account has a separate statement, add that source rather than inventing rows from the summary.

Give each account and period its own record

One row per PDF is too coarse when several accounts share the file. Give each account, currency and printed statement period its own review record, even when several records refer to the same source file. Start before conversion so the inventory is ready, but leave output fields blank until you've checked the download.

Fields for a per-account statement review record
FieldWhat to recordWhy it helps
SourceOriginal filename and PDF page rangeFind the account detail again
AccountDistinct label and currencyKeep separate ledgers separate
PeriodPrinted start and end datesAvoid guessing from transaction dates
BalancesPrinted opening and closingProvide independent arithmetic targets
RowsSource count and exported countExpose missing or extra transactions
OutputFilename and sheet or account filterLocate the delivered rows
ReviewStatus, reviewer, date and open issueShow what remains unresolved

Page references need to be consistent so you can find the detail again. Use PDF viewer page numbers and, if the printed labels differ, retain both, such as “PDF page 4, printed page 2 of 3.” An account can start halfway down a page, so page ranges may overlap. Note the heading or table position rather than assigning the whole page to the first account on it.

Count transactions, not physical text lines: a wrapped description belongs to its transaction, while a repeated header or summary total isn't another transaction. Compare the first and last transaction at each page boundary to catch a continuation page that loses its first row or repeats the previous page's last one. If you don't know the count, leave it blank rather than entering zero.

The statement review log lets you record the account, source, dates, balances, counts and review decisions. Put the page range and output filename in its notes. It doesn't read the PDF or independently establish your expected row count, so those inputs still come from your source review.

A fictional six-page PDF with three accounts

Imagine household-2026-09.pdf, a wholly fictional statement, not a bank-issued document or an observed converter result. Page 1 summarizes three USD deposit accounts. Pages 2 and 3 contain Everyday 1842, page 4 contains Savings 6073, page 5 explicitly shows no activity for Reserve 9321, and page 6 contains disclosures. All three account periods are September 1 through September 30, 2026.

Printed balances and transaction counts in the fictional source
AccountOpening USDClosing USDSource rows
Everyday 18421,400.001,600.004
Savings 60733,000.003,154.253
Reserve 9321500.00500.000, explicitly no activity

Here are all seven fictional transactions. Money entering each deposit account is positive; money leaving is negative. The two transfer entries belong to separate accounts. Neither is a duplicate merely because the amounts match.

Account,Currency,PostedDate,Description,Amount,SourcePage
Everyday 1842,USD,2026-09-03,Pay deposit,900.00,2
Everyday 1842,USD,2026-09-08,Rent payment,-425.50,2
Everyday 1842,USD,2026-09-15,Transfer to Savings 6073,-250.00,3
Everyday 1842,USD,2026-09-22,Groceries,-24.50,3
Savings 6073,USD,2026-09-15,Transfer from Everyday 1842,250.00,4
Savings 6073,USD,2026-09-28,Withdrawal,-100.00,4
Savings 6073,USD,2026-09-30,Interest,4.25,4

Everyday's net movement is 200.00, giving 1,400.00 + 200.00 = 1,600.00. Savings' net movement is 154.25, giving 3,000.00 + 154.25 = 3,154.25. Reserve has no transactions, so its balance remains 500.00. These fictional values demonstrate closing arithmetic; there is no accompanying PDF or printed running-balance chain to inspect. Comparing each row with the source remains a step for your real files.

Suppose the first export contains only Everyday's four rows. Its closing difference is zero, but Savings' three rows are absent and Reserve has no record at all. The correct result is “Everyday arithmetic agrees; two account records unresolved,” not “statement verified.” Finding one complete account doesn't complete the PDF review.

Keep a manifest beside the final files

This copyable CSV assumes all seven fictional rows have been recovered and compared, unlike the incomplete first export above. It's an illustrative workpaper, not a converter download or the review-log tool's import schema. The output filenames are chosen for the example. In your own copy, fill in statuses only after checking the actual files, and add the reviewer, review date and unresolved questions.

SourceFile,SourcePages,Account,Currency,PeriodStart,PeriodEnd,Opening,Closing,SourceRows,OutputRows,OutputFile,Status
household-2026-09.pdf,2-3,Everyday 1842,USD,2026-09-01,2026-09-30,1400.00,1600.00,4,4,everyday-1842-2026-09.csv,Rows compared; closing agrees
household-2026-09.pdf,4,Savings 6073,USD,2026-09-01,2026-09-30,3000.00,3154.25,3,3,savings-6073-2026-09.csv,Rows compared; closing agrees
household-2026-09.pdf,5,Reserve 9321,USD,2026-09-01,2026-09-30,500.00,500.00,0,0,,No activity stated; no transaction file needed

Reserve stays in the inventory even though there's nothing to import, which is why its output filename is blank and explained. Don't create a fake zero-value transaction just to make an empty account appear in a transaction file. An account with unreadable or missing detail needs an unresolved status and unknown counts, not a copy of Reserve's zeroes.

File counts alone won't tell you which accounts arrived: two files could both contain Everyday. A single workbook may hold all accounts on separate sheets, or one table may retain an account column. Record the sheet name or exact filter alongside the filename and inspect its contents to match account identities. If a ZIP was delivered, check its members rather than treating the archive filename as the account inventory.

Renaming, splitting or combining files calls for another look at the saved outputs. The example still needs four Everyday rows, three Savings rows and an explicit no-activity record for Reserve. Seven rows with missing account labels aren't an adequate replacement.

A combined total can hide two account errors

If you remove both 250.00 transfer entries from the fictional data, the combined net movement still equals 354.25 because the omitted amounts cancel. Both active accounts are wrong, though. An all-accounts total is a poor substitute for separate balance checks.

What happens when both fictional transfer entries are omitted
AccountComputed close USDPrinted close USDDifference USD
Everyday 18421,850.001,600.00+250.00
Savings 60732,904.253,154.25-250.00
Reserve 9321500.00500.000.00
Combined5,254.255,254.250.00

Use the statement balance checker on one account, one currency and one complete period at a time, taking the opening and closing balances from that account's PDF section rather than a relationship total. The difference is computed closing minus printed closing. Even when it's zero, compare dates, descriptions and amounts against the source because equal totals cannot establish row identity.

Keep credit cards and loans outside this deposit-account calculation unless you have established their balance perspective. Don't add debt balances to cash balances, or combine currencies, to manufacture an overall agreement. The guide to balanced but incorrect statements explains why offsetting errors need more than a closing-total check.

Check the next period without assuming the account list stayed the same

The account list needs another look with each new PDF in a longer archive; don't carry the previous inventory forward unquestioned. If an account vanishes, look for a separate statement, an account closure or a changed grouping, and ask the bank when the source doesn't explain it. These are possibilities to investigate, not conclusions drawn from an empty export.

You can check the printed periods in the statement coverage checker, using consistent account aliases and your actual review span. It can show gaps and overlaps in the periods you supply, but it cannot discover an account you never entered, read missing PDF pages or establish that an uncovered date means a statement is missing.

If the source has the account but the output doesn't, the review item stays open. Record the filename, page range, account alias, expected rows and what actually exported so the missing detail is clear. The bank's native download may help when it covers the required dates; for a short section, you could prepare a separately checked transcription instead. Keep unresolved questions on the record rather than moving transactions into another account to make the import proceed.

Ally's linked FAQs also document CSV and QFX activity downloads, illustrating why checking the bank's own export is worth doing first. If you only have PDF statements, AnyStatement converts them into reviewable Excel or CSV data with source-linked rows and statement arithmetic checks. That's a separate upload workflow. Whichever route you use, the account inventory remains your independent check against a missing section.

What we checked, and what the evidence doesn't establish

We reopened Ally's FAQs and the relevant G2 review text on October 18, 2026. In a DocuClipper review dated May 13, 2026, Jacob C. praised the time saved and reported that some statement layouts missed subaccounts, while also saying the product had improved. That is one person's reported experience. It does not establish how often omission happens, its cause, current product behavior or a comparison of converters. This checklist applies regardless of which extraction method you use.

We parsed the fictional CSVs and recomputed account counts, transaction sums, closing balances and the missing-transfer example using Python Decimal. The example is a constructed review exercise, not a conversion benchmark. We did not upload a combined PDF, test a competitor, run Excel or import these rows into an accounting application for this article. None of these checks establishes document authenticity or completes bookkeeping reconciliation.