Checking your subscription…

Rekeying a bank statement into a spreadsheet is the least valuable hour in any bookkeeping month, and it is where most of the errors come from. A transposed digit in a column of four hundred lines does not announce itself; it shows up weeks later as a reconciliation that will not balance.

The Data Extractor reads the transaction table as a table. It keeps dates, descriptions, references, debits, credits and running balances in their own fields, then assigns an accounting category to every line so the export lands in your books already sorted rather than as one undifferentiated column of numbers.

The same engine handles supplier invoices and receipts, where the interesting rows are line items with quantities, unit prices and tax — so a month of purchase documents becomes one workbook instead of thirty PDFs and a calculator.

How to use Bank Statement & Invoice Data Extractor

  1. 1Upload the bank statement, invoice or receipt as a PDF. Scans should go through OCR PDF first.
  2. 2Choose the document type, or leave it on auto-detect, and optionally set the currency.
  3. 3Run the extraction and review the table that comes back.
  4. 4Correct any category the AI got wrong using the dropdown on each row, and delete rows you do not want.
  5. 5Download as CSV for a quick import, or as Excel for a workbook with a category summary sheet and document metadata.

Why columns survive the trip

Plain text extraction flattens a statement into a stream of words and loses the alignment that made it readable. Here the extraction is structured: each row is returned as named fields, so a description containing digits never contaminates the amount column and an empty credit never shifts the balance one place to the left.

Auto-categorisation you can override

Every row is assigned one of twenty-four standard accounting categories — payroll, rent, utilities, bank charges, software subscriptions, travel, inventory and so on. Each also carries a confidence flag, so ambiguous rows are visible rather than silently wrong, and any category can be changed in one click before you export.

The Excel export is a working file

The workbook contains a Transactions sheet with frozen headers, autofilter and real numeric cells formatted for accounting, a By category sheet with a live SUM total, and a Document sheet recording the source file, account, period and extraction date so the file is auditable months later.

Reconcile before you import

Compare the money-in and money-out totals against the closing balance printed on the statement, and the line total against the invoice total, before pushing anything into your accounting system. A two-second check on the totals catches the rare parsing miss that a row-by-row read would not.

Supported formats, limits and things to know

  • Requires a text layer — run OCR PDF on scanned or photographed documents first.
  • Very long statements are truncated; split multi-hundred-page bundles by month before extracting.
  • Category assignment follows common bookkeeping practice, not your specific chart of accounts.
  • Foreign-currency and multi-currency statements are extracted as printed without conversion.
  • Premium feature. Signed-in users get free Premium uses every month across the Premium toolset.

Bank Statement & Invoice Data Extractor — frequently asked questions

Which documents work best?

Bank and credit-card statements, supplier invoices, purchase orders and till receipts — anything with a repeating row structure and consistent columns.

Can I import the file into Xero, QuickBooks or Sage?

Yes. The CSV uses standard date, description, reference, debit, credit and category columns, which map onto the bank-statement import templates those packages expect.

What if a category is wrong?

Change it with the dropdown on that row before exporting. Rows the AI was unsure about are marked medium or low confidence so you know where to look first.

Is my statement uploaded and stored?

The text is sent to our AI processing region for the duration of the request only. It is not retained afterwards and never used to train models.

Does it handle scanned statements?

Only after OCR. Run OCR PDF on the scan first so there is selectable text for the extractor to read.

Why do the totals differ slightly from the statement?

Usually because a row was missed on a page break or a fee line sits outside the transaction table. Check the notes panel and the closing balance, then add or remove rows before exporting.

Related tools

Try AI Now