Convert an Excel (.xlsx) sheet of bank or card transactions to an OFX file for Xero, Sage, FreeAgent, Wave or GnuCash. Columns detected, stable IDs. Free up to 100 rows.
Only have a PDF statement? Use the PDF statement converter.
Xero, Sage Accounting, FreeAgent, Wave and GnuCash import OFX statement files without column mapping, but none of them reads a spreadsheet as-is. Utilly reads the first sheet with data, combines Debit and Credit into one signed amount, gives each row a stable transaction ID and writes a standard OFX file. Have a .csv instead? Use CSV to OFX. Moving into QuickBooks? Use Excel to QBO.
The first row of our sample workbook is a 6,420.18 debit on 09/01/2026. In the download it reads:
<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20260901120000<TRNAMT>-6420.18
<FITID>202609019989CD404B4200<NAME>ACH DEBIT GUSTO PAYROLL 0912
<MEMO>ACH DEBIT GUSTO PAYROLL 0912</STMTTRN>
| From your sheet | OFX field |
|---|---|
| The date cell | DTPOSTED as YYYYMMDD at 12:00, with rows sorted by date. |
| Amount, or Debit and Credit combined | TRNAMT with two decimals; TRNTYPE DEBIT for money out, CREDIT for money in. |
| Description | NAME (first 32 characters) and MEMO (all of it), in plain ASCII. |
| Balance column | The statement's ending balance (LEDGERBAL) when it agrees with every row; 0.00 otherwise. The sample workbook ends at 13,440.52. |
| Category, notes or other columns | Not written. OFX statement files have no category field. |
| Not in a spreadsheet | FITID, a transaction ID built from the account, date, amount and description, so converting the same rows again gives the same IDs. Bank ID is the placeholder 999999999. |
| Program | Menu |
|---|---|
| Xero | Bank accounts → the account's ⋮ menu → Import a Statement. |
| Sage Accounting | Banking → bank statement import (one bank account per file). |
| FreeAgent | Banking → Bank Accounts → the account → Upload Statement. |
| Wave | Transactions → More → Upload transactions, then pick the account. |
| GnuCash | File → Import → Import OFX/QFX; choose the account once and it's remembered. |
| QuickBooks | Pick Excel to QBO instead: Desktop's Web Connect reads only .qbo files. Excel to IIF covers Desktop without Web Connect. |
| Quicken | Pick Excel to QIF for Quicken for Windows. Quicken checks OFX/QFX files against its online service and doesn't support converted ones, so we don't promise they'll open. |
| Problem | Fix |
|---|---|
| "Old .xls files aren't supported" | In Excel, File → Save As → Excel Workbook (.xlsx), then upload that. |
| Dates came through as numbers like 46296 | Format the date column as Date in Excel, save and upload again. |
| The wrong tab was read | Move the transactions tab to the front of the workbook and save. |
| Deposits imported as spending | Tick Flip signs, or choose the right Debit and Credit columns in the preview, and download again. |
| Ending balance is 0.00 | The Balance column didn't agree with the rows (or there isn't one). Your program works the balance out from the transactions, so check the opening balance there. |
| Rows imported twice | The workbook overlapped dates already in the account. Remove the extra copies and import only new dates next time. |
Free for files up to 100 transactions, which covers a typical month of activity. Larger files (a year of catch-up, a client's full history) use 1 credit from the same $9 pack of 5 as our PDF statement converter, or unlimited on Pro at $19/month. The preview is always free.
Yes for files up to 100 transactions: no sign-up, no watermark. Bigger files (multi-month catch-up work) use 1 credit from the same $9 / 5-credit pack as our PDF converter, and the preview is always free.
Xero: Accounting → Bank accounts → the account's menu icon (⋮) → Import a Statement. Sage Accounting: its bank statement import under Banking (Sage says OFX files upload without editing). FreeAgent: Banking → Bank Accounts → the account → Upload Statement. GnuCash: File → Import → Import OFX/QFX. QuickBooks Online also takes an OFX under Upload from file, but for QuickBooks pick the .QBO output instead.
No. Files are processed in memory and deleted after 1 hour. We never use your data for AI training.
Yes. Click a sample button under the upload box. It opens a made-up export from a fictional bank in the same preview your own file gets, and every format is free to download, so you can test an import in a test or backup company file first. Don't import a sample into your real books.
No, only the first worksheet with data. A blank cover sheet is skipped; if more than one tab has transactions, move the one you want to the front and save.
Xero, Sage Accounting, FreeAgent, Wave and GnuCash import it as a bank statement. For QuickBooks choose Excel to QBO, and for Quicken for Windows choose Excel to QIF.
We don't promise that. Quicken checks OFX and QFX files with its online service and says it doesn't support converted ones. Excel to QIF is the safer route for Quicken for Windows.
No. A spreadsheet doesn't have one, so the bank ID is 999999999 and the account ID is the last 4 digits or nickname you type (or one made from the columns).
Yes. Pick Credit card as the account type in the preview and the file is written as a credit card statement, with charges as money out.
Yes. The CSV to OFX converter writes the same OFX from a .csv file, with the same column detection and preview.
Free converter →
Free converter →
Free converter →
Free converter →
Free converter →
Free converter →