For bookkeepers and accounting practices in Canada

Bank statement PDFs to Excel and QuickBooks, checked against the bank's totals.

A converter gives you rows. DocsToBooks tells you when they disagree with the statement. Statements, invoices and payroll documents are checked against the figures printed on them, and every figure links back to the line it came from.

Free checks on 50 statements a month. No card to start.

One January statement. Fourteen printed lines become fourteen rows.

This is where a converter stops. The rows are tidy. Nothing in them says whether the statement printed fifteen.

DocsToBooks compares what it read with what the bank printed. Opening, plus credits, minus debits, equals closing. And the count of each.

Every named control agrees. The certificate lists each one, with the two figures it compared.

Now suppose one printed line was never read. Thirteen rows. They still look perfectly normal.

The statement no longer agrees. You are told which check failed, by how much, and where the running balance first differs. Nothing is filled in. The export stays marked.

Keep scrolling: trace any figure back to the page ↓
Rows read · January 202614 rows13 rows
DateDescriptionDebitCreditBalance
Jan 02PAD Maple Ridge Lumber2,318.4016,101.76
Jan 05Deposit Castlegate Homes6,450.0022,551.76
Jan 06Cheque #4121,750.0020,801.76
Jan 08Business card payment1,204.7719,596.99
Jan 09PAD Coastline Insurance386.1519,210.84
Jan 12Bill pmt Northshore Hydro214.6018,996.24
Jan 13e-Transfer M. Okafor1,200.0020,196.24
Jan 15Payroll Harbourline staff4,982.3015,213.94
Jan 16e-Transfer R. Lindqvist650.0014,563.94
Jan 19Cheque #413250.0014,313.94
Jan 20Deposit Tidewater Dev.4,875.5019,189.44
Jan 26PAD Fleetline Leasing2,062.0017,127.44
Jan 29Interest3.6217,131.06
Jan 30Account fee23.6717,107.39
What a converter hands you
XLSXHarbourline_2026-01.xlsx14 rows · 5 columns · no errors

Tidy, typed, ready to import. Is it every line on the statement? The file can't tell you.

ControlPrintedFrom rows
Opening balance 18,420.16 18,420.1618,420.16
+ Credits 12,529.12 12,529.1212,529.12
− Debits 13,841.89 13,841.8913,591.89 −250.00
= Closing 17,107.39 17,107.3917,357.39 +250.00
Credits, count 4 44
Debits, count 10 109 −1
ReconciledClosing balance agrees; debits printed 10, read 10
Doesn't reconcileDebits printed 10, read 9; difference 250.00
CertificateChequing ••2817 · Jan 2026
Reconciled
Closing balance agrees17,107.39 = 17,107.39
Debitsprinted 10 · read 10
Creditsprinted 4 · read 4
Running balance14 of 14 rows agree
Chainopening = Dec 2025 closing
Agreement with the controls named above. It does not claim every row is right.
CertificateChequing ••2817 · Jan 2026
Doesn't reconcile
Debitsprinted 10 · read 9 · −250.00
Closing balance17,107.39 ≠ 17,357.39
Running balancefirst differs Jan 20
XLSXHarbourline_2026-01_NOT_RECONCILED.xlsxStatus column first · certificate alongside
18,420.16
12,529.12
13,841.89
17,107.39

Every figure keeps its place on the page.

Pick any row. You see the printed line it came from, the raw text that was read, and the column that decided whether it's a debit or a credit. Click a line on the statement and it works the other way.

Pacific Crown Bank
Business Account Statement
Account 00417-558-2817
Jan 1, 2026 to Jan 31, 2026
Page 1 of 1
HARBOURLINE JOINERY LTD.
2140 Marine Way
North Vancouver BC V7P 1S4
Opening balance on Jan 1, 2026$18,420.16
Total deposits and credits (4)+ 12,529.12
Total cheques and debits (10)− 13,841.89
Closing balance on Jan 31, 2026= $17,107.39
DateDescriptionCheques & debitsDeposits & creditsBalance
Pacific Crown Bank · Member CDICPage 1 of 1
Harbourline Joinery Ltd. · Chequing ••2817 · January 2026Reconciled
DateDescriptionDebitCreditBalance
Jan 06 · Cheque #412−1,750.00
Printed atpage 1 · y 483.9–518.1 pt Raw text read"1,750.00" DirectionDebit — the amount sits in the "Cheques & debits" column Normalised1750.00 · money, two decimals Printed balance20,801.76 · agrees with the rows so far
Read by fixed rules from the page. The same file gives the same reading every time.
For bookkeepers in Canada

Bank statement PDFs to Excel and QuickBooks, checked against the bank's totals.

Upload statement PDFs. Each is checked against the bank's own totals.

Reconcile a statement free Free checks on 50 statements a month
Try it on one statement

Same rows. Now take one line away.

Chequing ••2817 · Jan 202614 rows
6 earlier rows
Jan 20 Deposit Tidewater Dev. · printed on page 1 at y 757.2 pt · raw text "4,875.50" · credit column
ControlPrintedRows Opening balance18,420.1618,420.16+ Credits12,529.1212,529.12− Debits13,841.8913,841.89= Closing17,107.3917,107.39Credits, count44Debits, count1010
ReconciledClosing balance agrees; debits printed 10, read 10.

Tap a row to see where it was printed. Switch tabs: the rows barely change, the result does.

Bank statements are the doorway

One rule for every document: read what's printed, check it against what's printed, say what disagrees.

Bank statementChequing ••2817 · Jan 2026
14 rowsopening 18,420.16closing 17,107.39
Opening + credits − debits = closing; 10 debits, 4 creditsReconciled
Rows traced to the printed lines
Excel · CSV · QBO · IIF
Supplier invoiceMaple Ridge Lumber · #88213
subtotal 2,208.00GST 110.40total 2,318.40
Subtotal + GST = totalArithmetic agrees
5100 Materials, suggested from your confirmed history
Bills IIF · Excel
Fuel receiptCoastal Fuel · Jan 14
total 86.40
Total read. No subtotal or tax printedNothing to check against
Exported marked
Excel, marked
PD7ASource deductions · Jan 2026
CPP 1,284.60EI 512.18remittance 3,703.22
CPP, EI and remittance totalsArithmetic agrees
Payroll working paper
Excel · CSV
PaystubsHarbourline staff · 6 stubs
net 1,842.07YTD 1,842.07
Net pay, current and year to dateExperimental reader
Labelled Experimental until more layouts pass
Excel · CSV
CRA printoutGST/HST account transactions
9 rows
No printed controls to checkNothing to check against
Rows kept as evidence, marked
Excel, marked
Reviewed data, ready for the booksExcel · CSV · QuickBooks Online (QBO) · QuickBooks Desktop (IIF) · GST/HST working paper from confirmed codes

Coding suggestions come from accounts you've already confirmed, and stay suggestions until you accept them. A document with nothing printed to check against says so, and exports marked.

It says what it doesn't know.

  1. 01No figure is invented to make a statement balance. No smoothing, no inheriting a date from the row above, no picking the candidate total that happens to fit.
  2. 02No AI decides a number. Figures are read by fixed rules and checked by arithmetic. Same file, same result.
  3. 03A layout it doesn't recognise is refused, not guessed. Support is earned one layout at a time, and each layout's status is published.
  4. 04A statement that doesn't reconcile never becomes a clean export. Status column first, a marked file name, the certificate beside it. QBO and IIF need an explicit override.
Run · Harbourline Joinery · 5 filesChecked in the Windows app
Harbourline_Chq_2025-12.pdfChequing ••2817 Dec 2025 ReconciledClosing agrees; debits 12 / 12
Harbourline_Chq_2026-01.pdfChequing ••2817 Jan 2026 ReconciledOpening = Dec closing (chain)
Harbourline_Chq_2026-02.pdfChequing ••2817 Feb 2026 Doesn't reconcileDebits printed 12, read 11 · −412.08
Westbay_CU_savings_jan.pdfWestbay Credit Union — Unsupported layoutNot read. Tell us and we'll look at it
Harbourline_Chq_2026-03_scan.pdfChequing ••2817 Mar 2026 ReconciledRead from the page image · Experimental
3 export normally · 1 exports marked · 1 was not read. The unsupported file didn't change anyone else's result.
Where it runsOn your PC, or in the browser.
Windows appStatements are read and checked on your computer and never uploaded. The app contacts us only for your licence and export count.
In the browserNothing to install. Files are read on our server in France and deleted after 24 hours by default, or 7 or 30 days if you choose. Delete a run and its files go with it.
Supported statement layouts from RBC · TD · Scotiabank · ATB Financial · BMO · American Express · EQ Bank · Connect First Credit Union · CIBC · PC Financial See every layout and its status →

Questions

What does "Reconciled" mean?

The rows we read agree with every printed control named on the certificate: for example "closing balance agrees; debits printed 38, read 38". It does not mean every row is right. Two amounts swapped between rows leave every total the same, and no arithmetic can see that.

What happens when a statement doesn't reconcile?

You still get the rows, marked. The file name ends in _NOT_RECONCILED, the first column says NOT RECONCILED, and the certificate names the check that failed and the amount. We never change a figure to make it balance.

Is there AI in the numbers?

No. Figures are read from the page by fixed rules and checked by arithmetic. The same file gives the same result every time.

My bank feed only goes back 90 days. Can I use old statements?

Yes. That is the main use. Drop in a year or two of PDF statements, check each one, and export the ones that reconcile to Excel, CSV or QuickBooks.

What about scanned statements?

Scans are read from the page image, and each figure must read the same in two independent passes or it is reported as unreadable. Scan reading is labelled Experimental for now, and the certificate says when a statement was read this way.

Which exports do you support?

Excel, CSV, QuickBooks Online (QBO), QuickBooks Desktop (IIF), a QuickBooks CSV, and a certificate PDF for each statement.

More questions →

Checks are free. Pay when you export.

50 free checks a month, no card. Plans from $49 CAD a month. A statement is one account for one period, however many pages.