Try with your file
Drop your PDF
1 file · 100 pages max · Free preview of 2 pages
1 file selected
Save hours every week
Turn your PDFs into Excel, CSV, or OFX, with no manual data entry.
Drop a PDF statement and watch the extraction happen live. Instant preview, no signup required.
Automated bank reconciliation is a controlled matching process: ingest bank and ledger transactions, normalize them, propose matches, route ambiguity to review, post approved adjustments, and prove that the reconciled balance agrees with the statement.
Start with the bank’s native feed or structured download when it is complete and suitable. Convert a PDF only when the statement is the available source—for example, a historical period, a client-supplied document, an unsupported institution, or a gap in a feed. PDF extraction enables automation, but it does not remove the need to validate the data or review exceptions.

What Bank Reconciliation Actually Confirms
Reconciliation compares the bank’s record with the cash account in the ledger for the same account and cutoff date. Differences can be legitimate or erroneous:
- deposits in transit and outstanding payments;
- bank fees or interest not yet recorded;
- duplicated, omitted, or misdated entries;
- transfers posted to the wrong account;
- card settlements grouped differently from invoices;
- foreign-exchange differences;
- unauthorized or unexpected transactions.
Automation should reduce candidate-search and repetitive posting. It should not force a match merely to make the exception queue disappear.
A complete reconciliation leaves evidence of:
- the source statement or feed period;
- the ledger balance at the same cutoff;
- matched bank and ledger items;
- outstanding items and approved adjustments;
- the final reconciled balance;
- who prepared and reviewed the work.
Choose the Best Bank Data Source
Use this order of preference unless your control framework requires something else:
| Source | When it fits | Main control |
|---|---|---|
| Direct bank feed | Current recurring workflow with a supported, stable connection | Monitor disconnects, duplicates, and start dates |
| Native structured download | Bank offers CSV, OFX, QFX, QIF, CAMT, or another accepted format | Confirm period, fields, and import mapping |
| Official PDF statement | Historical, archived, client-supplied, or feed-gap workflow | Extract, validate, and retain the source as evidence |
| Manual entry | Exceptional unreadable or low-volume case | Independent review and control totals |
A PDF is not automatically the only or best source. Nor is a feed automatically complete. Reconcile source counts and periods before matching anything.
Build the Reconciliation Pipeline
1. Define scope and cutoff
Record the bank account, currency, statement start and end dates, opening and closing balances, and ledger cutoff. Prevent overlapping source periods and make sure prior outstanding items roll forward.
2. Ingest the bank side
If a structured bank file exists, preserve the original and import a working copy. If only a PDF exists, extract it into rows and keep provenance for every value.
BankStatementLab converts unlocked bank-statement PDFs to CSV, XLSX, JSON, or OFX 1.6 SGML for supported current/checking and savings-account workflows. It does not export QBO or QIF and it does not connect directly to a bank or accounting system.
For signed-in uploads, the limits are 50 MB per file, 100 files, and 100 pages across a batch. Password-protected PDFs are rejected, so unlock them locally before upload.
3. Validate the extraction
Before matching:
- confirm every expected page and source file was processed;
- compare transaction date range with the statement period;
- verify debit and credit signs;
- inspect page transitions for duplicates or missing rows;
- compare opening balance plus net movement with closing balance where possible;
- compare stated totals or transaction counts where the statement provides them;
- inspect a sample of source rows, including large and unusual items.
No OCR or document model is infallible. A clean-looking table is not sufficient evidence.
4. Normalize without losing the raw values
Create a working schema such as:
- source_account;
- transaction_date;
- value_date;
- description_raw;
- reference_raw;
- signed_amount;
- currency;
- source_file;
- source_page;
- normalized_description;
- match_status;
- match_id.
Preserve the raw description and amount. Normalization should add fields, not erase the evidence needed to audit a proposed match.
5. Generate candidate matches
Use a hierarchy rather than one broad rule:
- Exact unique identifier: bank reference or payment ID plus amount and direction.
- Exact amount and direction within a documented date window: only if the candidate is unique.
- Description or counterparty evidence: used to rank candidates, not override an amount mismatch silently.
- One-to-many or many-to-one grouping: settlements, payroll, and batched deposits, with totals proven.
- No safe candidate: route to exception review.
Duplicate amounts are common. Date plus amount is not a unique key, and a loose description match can pair the wrong debit with the wrong ledger entry.
6. Review exceptions
Typical exception categories are:
- bank item missing from the ledger;
- ledger item not yet cleared by the bank;
- amount, currency, or sign mismatch;
- possible duplicate;
- several possible ledger candidates;
- grouped settlement;
- extraction uncertainty;
- item outside the period.
Assign an owner and resolution code. Post fees, interest, or corrections through the accounting system with approval; do not edit the imported bank amount to make it fit.
7. Prove the final balance
The reconciliation should explain the difference between the bank balance and ledger balance through identified outstanding items and approved adjustments. The exact equation depends on the ledger’s sign convention, but every component should be traceable.
Lock or archive the completed work under the organization’s retention policy. A “matched” badge is not a replacement for the reconciliation statement.
Reconciliation in Excel or Google Sheets
A spreadsheet can support a controlled low-volume or one-off process. Keep the bank and ledger tables separate and give each row a stable local ID.
Do not use a date-only VLOOKUP
Looking up the date and returning an amount will produce false matches when several transactions share a day. Even date plus amount can be ambiguous.
A safer spreadsheet workflow:
- standardize dates, signs, currencies, and account identifiers;
- create candidate keys from amount, direction, and date;
- count candidates on each side;
- auto-label only one-to-one exact candidates;
- send duplicates and near-date candidates to a review table;
- record the approved bank-row ID and ledger-row ID;
- prevent the same row from being used twice.
Excel Power Query can merge tables and produce left anti-joins for unmatched rows. Microsoft documents the current Merge queries workflow. Use an exact join for safe keys and a separate exception step for ambiguous cases.
Avoid formulas that scan whole columns inside every row in a large workbook; use Excel tables, Power Query, or bounded ranges. Protect source sheets and keep an approval log.
Reconciliation in Accounting Software
Accounting platforms can import bank data, suggest ledger matches, create bank rules, and retain a stronger audit trail than an ad hoc workbook. Current file types and user-interface routes change, so follow the platform’s official documentation.
Xero
Xero documents bank reconciliation, bank rules, and manual statement imports. Its current direct PDF import has organization and plan restrictions, while CSV and native bank formats follow separate requirements.
If BankStatementLab is used, export CSV, validate it, then map it to Xero’s current CSV statement requirements. The conversion is not a direct Xero integration.
QuickBooks Online
QuickBooks documents its current manual transaction upload workflow. Supported file types and mapping steps can vary by region and product version.
Test a short period first, confirm which account receives the rows, inspect duplicate detection, then reconcile before expanding the import.
Other platforms
Do not assume that “CSV supported” means every CSV works. Obtain the current template for the exact product and region, map required columns, preserve sign conventions, and test with a small file. Keep the approved import file and import confirmation.
Design Matching Rules Conservatively
A matching rule should state:
- account and currency;
- amount logic and rounding;
- debit or credit direction;
- date window and why it exists;
- required reference or description evidence;
- whether one-to-many grouping is allowed;
- conditions that force manual review;
- rule owner and last review date.
Start with high-confidence recurring items. Review false positives and false negatives before expanding the rule.
For foreign-currency transactions, reconcile the bank account in its statement currency. Separately account for the ledger’s conversion, bank spread, and exchange gain or loss. Do not hide a currency difference inside a generous amount tolerance.
For card and payment-processor settlements, match the gross transactions, fees, and net deposit through a clearing-account model where appropriate. A single net deposit may legitimately map to many sales plus fees.
Prevent Duplicate Imports
Duplicate prevention belongs before and after import:
- track source account and statement period;
- preserve bank references where available;
- create a deterministic fingerprint from stable raw fields;
- compare the incoming range with already imported dates;
- inspect platform duplicate warnings;
- never rely on description alone;
- retain an import log with filename, checksum, date range, and row count.
A retry after a failed import can be more dangerous than the initial import if it inserts the successful subset twice.
Data Security and Retention
Bank statements contain personal and financial information. Restrict access to source and working files, use encrypted transfer and storage, document subprocessors, and delete temporary copies under a defined schedule.
In BankStatementLab, the source PDF is deleted after successful extraction. A failed source may be retained for troubleshooting or retry for up to 14 days. Signed-in extracted data remains until manual deletion unless optional automatic deletion is enabled. Automatic deletion is disabled by default; when enabled, it supports 1 to 30 days and starts at 14 days.
Review the complete security checklist for online statement converters. These lifecycle facts do not replace your organization’s legal or client-data obligations.
Measure Automation Honestly
Measure a pilot against the existing process:
- preparation time;
- extraction and validation time;
- number of safe automatic matches;
- number and age of exceptions;
- false-match rate discovered in review;
- rework and duplicate imports;
- days to close;
- reviewer time.
Do not set a universal transaction threshold for “use Excel” versus “use accounting software.” Complexity, grouping, currencies, controls, staff skill, and audit needs matter more than row count alone.
BankStatementLab uses one credit per page for standard extraction and two for advanced extraction; new accounts include five credits. See the current pricing page.
Frequently Asked Questions
Can I automate reconciliation without accounting software?
Yes. A spreadsheet or database can normalize data, generate candidates, and track exceptions. Build one-to-one controls and an audit log; do not rely on a date-only lookup or overwrite source rows.
What if the bank feed is unavailable?
First check for a native structured bank download. If only an official PDF is available, extract it to CSV, XLSX, or JSON, validate it against the source, then map it to the destination’s current import schema.
Is a PDF conversion identical to a direct feed?
No. A feed is a connection that can deliver new transactions and bank identifiers over time. PDF conversion is a point-in-time extraction from a document and can introduce OCR or interpretation errors. Both can support reconciliation, but their controls differ.
Can multiple accounts be reconciled together?
They can be processed in parallel, but each reconciliation should preserve account, currency, period, and balance separately. Do not merge accounts into one balance proof.
Does automation remove human review?
No. Unique high-confidence matches can be proposed automatically; ambiguous, grouped, unusual, or mismatched transactions need review and approval.
Conclusion
Data extraction is one possible first step when the bank side arrives as PDF. The wider reconciliation workflow begins by choosing the best available source, confirming scope, validating the bank data, normalizing both sides, proposing conservative matches, resolving exceptions, and proving the final balance.
If a PDF is the missing input, BankStatementLab can produce CSV, XLSX, or JSON. Validate the extraction, test the destination import, and keep approval separate from matching.
Related Articles
Ready to simplify your accounting?
Eliminate manual entry and focus on analysis and advisory.