Brought Forward

Bank statement PDF to CSV, checked to the penny

Drop in a PDF statement from HSBC, Barclays, NatWest, Lloyds, Monzo or another UK bank. Brought Forward reads it in your browser, ticks every row against the running balance, and gives you a file for Excel, Xero, QuickBooks, FreeAgent, OFX or QIF.

Sample Bank, March 2026

Brought forward2,184.60

02.03SAVINGS TRANSFER−150.632,033.97

03.03BLUEBELL BAKERY−5.782,028.19

04.03HOLLIS COUNTY COU…−58.991,969.20

05.03SAVINGS TRANSFER…−252.781,716.42

06.03CARD TERMINAL PAY…+697.252,413.67

06.03WILLOW & SAGE GRO…−80.322,333.35

08.03HARBOUR COFFEE CO…−73.882,259.47

08.03CARD TERMINAL PAY…+1,524.883,784.35

08.03ORCHARD SUPERMARK…−79.253,705.10

25 more rows, every one ticked

Carried forward5,982.24

Each row’s balance is the last one plus the amount. When it matches the statement, it gets a tick.

From PDF to your books

  1. Download the PDF from your bank’s online banking or app.
  2. Drop it in. It’s read on this computer in a second or two.
  3. Look at the ticks. Any row that doesn’t follow the balance is crossed and listed.
  4. Download the CSV, Xero, QuickBooks, FreeAgent, OFX or QIF file and import it.

Why every row gets a tick

A statement checks itself: each balance is the one before plus the transaction. Brought Forward redoes that sum for every row, then compares its totals with the statement’s own (money in, money out, opening and closing balance, and every balance carried from page to page).

So a misread figure, a row from a column it shouldn’t have come from, or a page missing from the PDF doesn’t slip quietly into your books. It’s crossed, listed, and marked in the file.

Banks

Tested on real statements

Monzo and NatWest on customers’ own statements; HSBC, Lloyds and Barclays printouts on real statements councils publish. For Barclays, the monthly statement itself is generated-layout tested only so far.

Built from the published layout

Tested on generated statements in each bank’s layout. The balance check shows at once if yours didn’t read cleanly.

Any other bank

The reader finds the columns from the statement’s header row (date, description, paid in, paid out, balance, in whatever words the bank uses), so most text PDFs read fine. The ticks tell you whether it worked. If not, one click reports the bank’s name, and nothing else, so its layout can be added.

Formats

Excel
Every column, with UK dates and a balance check on each row. Opens in Excel, Numbers or Google Sheets.
Xero
Xero won’t import a PDF. This CSV has the columns its statement import maps on its own.
QuickBooks
The three-column CSV (date, description, amount) QuickBooks Online uploads from Banking.
FreeAgent
FreeAgent’s strict headerless CSV: date, amount, description.
OFX
The bank-feed format: no column mapping, a stable ID per transaction, for Xero, Sage, FreeAgent and desktop apps.
QIF
For older money apps such as Quicken, Microsoft Money, Banktivity and GnuCash.

Your statement stays on your computer

Statements are read by your own browser, with the same PDF engine Firefox uses. There’s no upload step, no server that sees your transactions, and nothing from a statement is kept after you close the tab.

This isn’t just a promise in the small print. The site’s security policy only lets the page talk to the licence server (for Pro) and a cookie-free page counter, and neither is sent anything from a statement. Load the page, turn off your Wi-Fi, and it still converts.

Price

Free

£0

Three statements a day, every format, every check. No account.

Pro monthly

£8 a month

As many statements as you like, on up to three browsers. Cancel any time.

Pro yearly

£69 a year

The same, for a year: under £6 a month. For bookkeepers doing month ends.

Payment by Stripe. Your key appears straight after paying and is emailed with the receipt. Refunds within 14 days.

Questions

Is my statement uploaded?
No. Your browser reads the PDF on your computer. The page is only allowed to contact the licence server and a cookie-free page counter, and neither is sent anything from your statement. You can turn your Wi-Fi off after the page loads and it still converts.
Which banks does it work with?
Monzo and NatWest are tested on real customer statements; HSBC, Lloyds and Barclays printouts on real statements that councils publish. Santander, Halifax, Nationwide, TSB, Starling and the Barclays monthly statement are built from their published layouts and tested on generated statements. Other banks usually work too: the reader finds the columns from the header row, and the balance check shows whether it got them right.
What does the tick mean?
Each printed balance should be the previous balance plus the transactions in between. A tick means that row’s balance followed exactly, to the penny. A cross means it didn’t: check that row against the PDF before importing.
Does it read scanned statements?
Not yet. A scan is a picture with no text in it. Download the statement from your online banking instead: those PDFs have real text. If you need scans, use the report button and we’ll know.
What do I get for free?
Three statements a day, in every format, with every check. Pro is £8 a month or £69 a year for as many as you like, on up to three browsers. Cancel any time.
Can I get a refund?
Yes, within 14 days of paying, no questions asked. Email admin@onibaku.co.uk.
Do I still need to check the figures?
Yes. The balance check catches misreads and missing pages, but you’re responsible for what you file. Look over flagged rows, and compare the totals with your statement.