All workflows
Extend logoGoogle Sheets logo

Turn a bank statement into transaction rows

Reads every transaction line off a bank statement PDF and adds one row per line to your spreadsheet, exactly as printed.

Run manually2 apps2 steps

Apps it connects

Authenticate each one once and the workflow is ready to run.

What it does

The integration steps this workflow runs, in the order it first runs them.

  1. 1ExtendExtract data
  2. 2Google SheetsAppend row

How it works

Everything the template sets up, and what to fill in before the first run.

Re-keying a statement by hand is slow and a mistyped figure is hard to find later. Point this at one statement PDF and every posted transaction line on it becomes a row on your spreadsheet, under the account label you give it.

Rows are only ever appended, and the columns are fixed in this order: Recorded on, Account, Date, Description, Amount, Notes. Give your tab those headings before the first run.

Nothing is calculated. The date, description and amount are written with the characters that were printed on the statement - currency symbol, minus sign or brackets included - and are saved as plain text, so nothing is re-read as a formula or shifted into another date format. Running balances, opening and closing balances and subtotals are deliberately left out; this records the lines, it does not add them up, categorise them or comment on them.

Where part of a line was not printed, that cell is left empty and the Notes column says so - a blank is always preferred to a plausible guess. A line that cannot be split into a date, a description and an amount is not written at all, because a value in the wrong column is worse than a missing row.

A partial run never looks like a complete one. If any line is skipped, fails to write, or falls past the 'maxRows' limit, a clearly marked [INCOMPLETE] row is added at the end saying how many lines were read and how many were written, and the run reports the same counts.

Fill in 'statementFile', 'spreadsheetUrl', 'tabName' and 'accountLabel'. 'maxRows' caps how many rows one run may write.

bank statementpdfgoogle sheetsbookkeepingreconciliationdocument extraction

Start from a workflow that already works.

Add "Turn a bank statement into transaction rows" to your workspace, connect its apps, and make it yours. No credit card required.

Free plan available · No credit card required