Skip to main content
ConvertBank to Excel Logo

Excel to OFX Converter

Convert Excel to OFX: map XLSX, XLS or CSV transactions in your browser, then review every date and amount before downloading.

100% Client-Side
No Upload Required
Free spreadsheet conversion

Convert to OFX

100% free, runs in your browser

Drop your file here

Excel (.xlsx) or CSV

Input Formats

XLSXXLSCSV

Output Formats

OFX

This Excel to OFX converter turns structured transaction rows into an OFX 2.03 XML statement file. It reads the first worksheet of an Excel workbook, or a CSV export, without sending the selected file to a conversion server. It does not extract transactions from PDFs, combine worksheets, or certify acceptance by your accounting software. Use the worked example below to check your mapping, then try a small file in a backed-up or test account.

Prepare an Excel workbook for OFX conversion

Use the first worksheet only, with a unique header for each column in the first row. Remove title lines, merged headers, subtotals, opening-balance rows and blank rows within the transaction range. Additional worksheets are ignored; there is no sheet selector or saved mapping template.

Map Date, Description and Amount to different columns. A description column is required even if individual descriptions are blank. Optional reference, payee and balance mappings do not create a categorized accounting ledger. The output uses description as NAME (first 32 characters) and MEMO (up to 255 characters); mapped references become REFNUM, not a bank-issued transaction ID.

Use one account and one currency per file. Enter the real bank ID (up to 9 characters) and account ID (up to 22 characters), select CHECKING, SAVINGS or CREDITLINE, and use a supported three-letter uppercase ISO currency code such as USD or EUR. Supply the actual closing ledger balance and its date, on or after the latest transaction date. The converter does not infer that balance from transaction totals or a mapped balance column. This is a bank-statement export, not an investment, invoice or credit-card-specific OFX message. No row-count or file-size performance guarantee is offered; large workbooks depend on available browser memory.

Save formulas as calculated values before conversion. The browser reader does not calculate formulas. Do not assume an old cached formula result is current.

Dates, decimal separators and debit/credit signs

Text dates must match the selected format exactly: MM/dd/yyyy, dd/MM/yyyy, yyyy-MM-dd, yyyy/MM/dd, dd-MM-yyyy or MM-dd-yyyy. For example, select yyyy-MM-dd for 2026-10-01. Resolve ambiguous dates such as 03/04/2026 in the source instead of guessing the month. Missing dates and impossible dates such as 2026-02-30 stop conversion; invalid dates are never replaced with today.

Amounts can be numeric Excel cells or plain text with at most two decimal places. Accepted examples include 1234.56, 1234,56, 1,234.56 and 1.234,56. Parentheses mark a negative amount: (45.67) becomes -45.67. Strip currency symbols. Ambiguous text such as 1,234 or 1.234, malformed grouping, scientific notation and partially numeric text are rejected. In comma-delimited CSV, quote values containing a comma.

For one amount column, payments are negative and receipts positive. For separate columns, map Debit and Credit, use nonnegative amounts, and populate only one nonzero side per transaction. A blank opposite side counts as zero; two blank sides, negative values or two nonzero sides are rejected. The output amount is credit minus debit.

Worked example: Excel rows to OFX transaction records

Create these three rows below Date, Description and Amount headers. Map those columns, select yyyy-MM-dd, and use USD with CHECKING. The sample bank ID 123456789, account ID SAMPLEACCOUNT and closing ledger balance 2500.00 dated 2026-10-03 are illustrative only; replace them with actual statement values. The closing balance is an independent input, not calculated from these rows. Keep parenthesized and localized amounts as text if Excel would otherwise reinterpret them.

The excerpt below shows transaction records from the generated file, not a complete importable OFX file. The download also includes the OFX header, sign-on response, account identifiers, currency and transaction-date range. Source dates become DTPOSTED with a fixed noon time; the example does not establish an original transaction time or timezone.

Illustrative first-worksheet input and expected signed OFX amounts
DateDescriptionAmountOFX amount
2026-10-01Office supplies(45.67)-45.67
2026-10-02Client payment1.234,561234.56
2026-10-03Bank fee-10.00-10.00
<STMTTRN>
  <TRNTYPE>DEBIT</TRNTYPE>
  <DTPOSTED>20261001120000</DTPOSTED>
  <TRNAMT>-45.67</TRNAMT>
  <FITID>local:sha256:3a0495d0f987ffca7bc618c02bd0780dc47825cb36cc20a55ad6221dd1ae4f97:1</FITID>
  <NAME>Office supplies</NAME>
  <MEMO>Office supplies</MEMO>
</STMTTRN>
<STMTTRN>
  <TRNTYPE>CREDIT</TRNTYPE>
  <DTPOSTED>20261002120000</DTPOSTED>
  <TRNAMT>1234.56</TRNAMT>
  <FITID>local:sha256:b0edbfb022195bb73c3fa5ba338686d9f8da08bf973d0a0eb4e6e05efee28ce1:1</FITID>
  <NAME>Client payment</NAME>
  <MEMO>Client payment</MEMO>
</STMTTRN>
<STMTTRN>
  <TRNTYPE>DEBIT</TRNTYPE>
  <DTPOSTED>20261003120000</DTPOSTED>
  <TRNAMT>-10.00</TRNAMT>
  <FITID>local:sha256:1a446acaeb4223859aea12a96ad156deaeac76d5d25ac3f65c5d457eb8ce0f77:1</FITID>
  <NAME>Bank fee</NAME>
  <MEMO>Bank fee</MEMO>
</STMTTRN>

Import an OFX file into GnuCash: documented steps, not a certification

The GnuCash manual documents OFX/QFX file import and account selection. These instructions are based on that documentation; external import of this converter output has not been tested in GnuCash. Menu wording and importer availability can depend on your installation. First back up your books or use a disposable test book with a small sample.

GnuCash can also import CSV directly. If you only need to bring spreadsheet rows into GnuCash, its native CSV importer may avoid an intermediate OFX file. Choose OFX when your workflow specifically needs a statement file, not because it guarantees compatibility.

  1. In GnuCash, open File > Import > Import OFX/QFX transactions. Select the downloaded .ofx file and press Import.
  2. If the account-selection dialog appears, choose the correct account from your chart of accounts and confirm. GnuCash remembers source-account mappings for later imports.
  3. Review the generic transaction import matcher. Check dates, signed amounts, descriptions, transfer accounts and proposed duplicate matches. Correct assignments or cancel if the data is wrong before completing the import.
  4. After accepting, compare the account register with the original statement. Reconcile against the actual bank balance, not the sum of the rows in this file.

Source: GnuCash manual, section 6.16: Importing Transactions (OFX/QFX and import matcher)

Check balances, duplicate IDs and software compatibility

The generated OFX includes the closing balance you explicitly provide in LEDGERBAL. A list of transactions cannot establish your opening or closing ledger balance. Do not enter a transaction sum as the balance unless the original bank statement independently confirms it. Keep that statement for reconciliation.

Transaction FITIDs are local SHA-256 fingerprints of account metadata and transaction content, with an occurrence counter for identical rows. Changing row order alone does not change a distinct transaction ID, but changing mapped values can. These are not bank-issued IDs, and overlapping files with indistinguishable repeated transactions cannot be reliably deduplicated from content alone. Do not rely on automatic duplicate prevention; inspect existing transactions and the target import matcher before each import. Descriptions over 255 characters or references over 32 characters stop OFX generation; do not shorten source records without checking the lost information.

This page generates OFX, not a certified QuickBooks QBO or Quicken QFX Web Connect file. Renaming .ofx to .qbo or .qfx does not certify institution metadata or make it compatible. Check your target software requirements and try a backed-up sample; successful file generation is not proof of a successful external import.

How It Works

Step 1

Prepare one account

Put column headers in the first row and transaction data below them on the first worksheet. Select an XLSX, XLS or CSV file.

Step 2

Map and validate

Map date, description and amount (or debit and credit). Select the matching date format, enter account metadata and supply the actual dated closing ledger balance.

Step 3

Review, then download

Check the preview against the source. Fix any row errors in the spreadsheet and retry. Download OFX and review the target software import before accepting it.

Features & Benefits

Spreadsheet inputs

XLSX and XLS use only the first worksheet. CSV uses the first row as headers. Export each account separately.

Explicit date formats

Choose the format for text dates. Date-formatted Excel cells are read as dates; plain numeric serial values are not guessed.

Signed amounts

Use one signed amount column or separate nonnegative debit and credit columns. Parenthesized amounts are treated as negative.

Stop on invalid data

Missing or invalid dates and amounts stop conversion. Bad rows are not silently dropped or assigned the current date.

Common Use Cases

  • Prepare a small OFX sample from a structured spreadsheet for a test import
  • Convert one account from an XLSX, XLS or CSV transaction export
  • Check signed amounts and source dates before importing into an OFX-capable workflow

Frequently Asked Questions

Can I convert more than one Excel worksheet?

Only the first worksheet is read. Move the intended account to the first sheet or save each account as a separate workbook or CSV file. No worksheets are combined.

Why did conversion stop on a row?

Fix the indicated row in the source file and retry. Missing dates, dates that do not match the selected format, invalid amounts, conflicting debit/credit values and ambiguous mappings stop conversion rather than silently losing transactions.

Does this tool import directly into QuickBooks or Quicken?

No. It downloads an OFX file and does not connect to your accounting software. It is not a certified QBO/QFX importer, and acceptance by QuickBooks or Quicken is not guaranteed.

Does it convert PDFs or scanned bank statements?

No. This spreadsheet tool accepts XLSX, XLS and CSV. PDF extraction is a separate workflow; start here only after you have structured transaction rows.

Will it prevent duplicates or calculate my closing balance?

No. It requires the actual dated closing ledger balance and writes that value to OFX. Local content-based transaction IDs are not bank-issued IDs and cannot guarantee deduplication of overlapping files. Review matches and reconcile against your original bank statement.