REVIEW THE EXPORT · THEN IMPORT

Bank Statement to Google Sheets

To put a supported bank statement into Google Sheets, convert the PDF or image to CSV in BankStatementMate, check the transaction preview and download the file. Then import the CSV manually into Google Sheets and verify the resulting cells. There is no direct Sheets connection or automatic sync. Conversion runs in your browser; importing the export into Google sends that data to the Google service you choose.

Convert a statement to CSV ↗
Supported files and output

PDF, PNG and JPG; maximum 10 MB per file; PDF maximum 5 pages. Supported clear English transaction tables become Date, Description, Debit, Credit and Balance columns. Statement conversion runs in your browser. Downloads: CSV or Excel/XLSX. A verified BankStatementMate account is required for the current conversion flow.

Start with transaction rows, not a picture of the PDF

A statement PDF is a document layout. Importing a file or inserting a page image is not the same as identifying its transactions. For this workflow, first extract the table into CSV so that each transaction has its own row and each field has its own column. If your bank already provides a suitable CSV, you can skip PDF conversion and review that file before import.

For a supported scan, OCR must recognize the text first. Check that dates, decimal points and the balance column are legible. Blurred images, cropped columns and unsupported layouts can fail; an orderly preview is not an accuracy guarantee. See the OCR limitations or the scan preparation workflow before continuing.

Convert the statement to a reviewed CSV

  1. Open the converter and sign in to your verified account. Check your available trial or page allowance before converting.
  2. Select one supported PDF, PNG or JPG. Keep within the file and page limits. If you select only some PDF pages, treat the export as a partial statement.
  3. Run conversion and compare the preview with the source. Confirm the first and last transactions, then check the intervening rows for omissions, duplicates and shifted amounts.
  4. Choose CSV and download the reviewed rows. Keep the original statement and an unchanged copy of the download.

The CSV export page covers the file itself; the transaction extraction walkthrough explains row-completeness checks.

Import the CSV into Google Sheets manually

Use Google Sheets on a computer for the menu sequence below. In your Google account, open a blank spreadsheet, then choose File → Import → Upload. Select the downloaded CSV, choose an import location and separator, then click Import data. Choose a new spreadsheet or new sheet when offered to avoid overwriting existing work. BankStatementMate exports comma-separated CSV, so use the comma separator if automatic detection puts the row into one column. These controls follow Google's official file-import instructions.

This is a manual file transfer. BankStatementMate does not connect to your Google account, write directly into a Sheet or automatically synchronize later statements. The imported rows are a snapshot; a later conversion must be imported and checked separately.

Check columns, numbers and dates after import

Before sorting or building calculations, confirm that the five headers are still separate: Date, Description, Debit, Credit, Balance. A description containing a comma should stay in its own cell, not push amounts into another column. Do not fix a broken import by moving individual cells until the delimiter problem is understood.

Use this fictional row as a field reference: Date 2026-09-03; Description SYNTHETIC Coffee; Debit 4.50; Credit blank; Balance 2295.50. It comes from our synthetic digital PDF and verified export, not a customer statement. The full three-row example provides the surrounding rows. A blank credit cell is not an unreadable value filled with zero.

  • Row count: compare the imported transaction count with the reviewed export. For that specific synthetic file, there should be three transactions, excluding the header.
  • Amounts: confirm decimals and debit-versus-credit direction. Check whether amounts are numbers rather than text before relying on calculations. Merely displaying a currency format is not a reconciliation.
  • Dates: compare the actual day, month and year with the source. Do not assume a display such as 03/04 means the same date in every locale. Preserve the original date text if its interpretation is uncertain.
  • Balances: compare each running balance where supplied, including the final value. The synthetic file ends at 2,295.50; matching that final number alone does not rule out offsetting errors.

Google's spreadsheet locale settings affect default date, currency and number formatting. Review File → Settings → General if those defaults do not match your intended interpretation. Changing the display cannot repair a wrongly extracted amount or establish what an ambiguous source date means.

Why is the CSV all in one column?

If the headers appear together in A1, first check the original CSV in a plain-text editor. The separator between fields should be a comma for a BankStatementMate export. A bank-supplied file might use another separator; match that actual file rather than changing its punctuation blindly.

  1. Keep the original export. Start a blank spreadsheet and use File → Import → Upload instead of pasting raw CSV into a cell.
  2. Select the file and a new-sheet import location. For the comma-separated example below, set Separator type to Comma, then import. These are the controls in Google's import instructions.
  3. For this fictional sample, check for five columns, A–E, and three transaction rows. For your own statement, compare the row count with the reviewed export. If the description or amounts shift columns, return to the original file and inspect its quoting before editing cells.

This separate, fictional troubleshooting CSV deliberately includes a comma inside a quoted description. Copy it into a plain-text file named sheets-practice.csv to practice without uploading a real statement:

Date,Description,Debit,Credit,Balance
2026-09-01,SYNTHETIC Salary,,2500.00,3500.00
2026-09-02,SYNTHETIC Rent,1200.00,,2300.00
2026-09-03,"SYNTHETIC Coffee, shop",4.50,,2295.50

The last description must remain one cell: SYNTHETIC Coffee, shop. Its debit is 4.50, credit is blank and balance is 2295.50. With a fictional opening balance of 1000.00, the three rows end at 2295.50. Do not remove the quotes or split every comma manually: that would split this description too. CSV field separators and decimal separators serve different purposes; this sample uses commas between fields and decimal points in amounts. Do not replace punctuation throughout the file. Recheck every row after reimporting.

How do I fix dates that Sheets reads incorrectly?

Keep the original date column and repair a copy. First confirm the bank's date convention: 03/04/2026 alone cannot tell you whether the date is 3 April or March 4. In a fresh spreadsheet, check File → Settings → General → Locale before importing; Google documents that locale changes the spreadsheet's default date and number formatting. Changing locale afterwards does not establish which source date was intended.

  1. In a spare cell, try =ISNUMBER(A2). ISNUMBER checks the stored value, not its appearance. TRUE means numeric, not necessarily the correct date. FALSE does not by itself establish that the cell contains usable date text. For a numeric date, use Format → Number → Custom date and time to show year, month and day, then compare them with the source. For amounts, the same check on a nonblank debit or credit cell helps reveal numbers stored as text.
  2. If A2 is text and the original has a verified, valid YYYY-MM-DD date, put the following formula in a spare column on row 2. It takes the year, month and day from fixed positions. Do not apply it to numeric dates, blank cells or other layouts.
=DATE(VALUE(LEFT(A2,4)),VALUE(MID(A2,6,2)),VALUE(RIGHT(A2,2)))

Format the result as a date and verify it before filling down through matching text rows. For the sample, the first result must be 1 September 2026. DATE uses year, month and day, but can silently roll an invalid day or month into another date; it is not a validity checker. For an ambiguous date confirmed as 3 April 2026, =DATE(2026,4,3) rebuilds that one value explicitly. These examples use English function names and comma argument separators; some spreadsheet locales use semicolons between formula arguments. This does not mean changing the CSV field separator.

For the display menu, see Google's date-formatting instructions. If a date was already misread, rebuild it from the unchanged source in the spare column rather than merely changing its display. Keep both columns until every corrected date agrees with the statement.

CSV or XLSX: which file should you use?

CSV is a plain transaction table without workbook formatting. XLSX contains the Transactions worksheet with numeric amounts displayed to two decimal places; dates are exported as text. Choose the Excel workflow when you want that workbook for review.

Google also supports opening an Excel file from Drive with Google Sheets and using File → Save as Google Sheets to create a Sheets copy. See Google's Excel-to-Sheets guidance. Check the imported cells whichever format you choose; changing formats does not correct recognition mistakes.

Where does the statement data go?

BankStatementMate processes the supported statement in your browser. When you choose to upload the exported CSV or XLSX to Google Sheets or Drive, that file enters the Google service you selected. The complete cross-platform workflow is therefore not local-only. Review the destination account and sharing permissions before importing sensitive information, and share only with intended recipients.

Convert a supported statement to CSV ↗