Convert CSV to OFX Free for Xero, Sage and MYOB
Convert CSV to OFX online, with nothing to download or install. The OFX file keeps dates, signed amounts and a unique ID per transaction, so Xero, Sage or MYOB can read it without column mapping.
- Encrypted with AES-256
- Temporary private storage; automatic deletion
- Preview before you download
How to convert a CSV file to OFX format
- 01
Add your CSV.
Drop in the export from your bank, or browse to it. Not ready yet? Load the sample file to see the steps.
- 02
Set columns, dates and currency.
Check the detected columns. Then choose the date format, account type and currency so the OFX file matches the real account.
- 03
Review, then download.
Scan the first 10 rows in the preview. When the amounts and dates match your bank, download the OFX file.
CSV to OFX format: a side-by-side example
This fictional CSV uses separate Debit and Credit columns and day-first input dates. The real OFX output contains signed amounts and generated IDs in GBP. The example includes fictional account details and an explicitly supplied closing balance.
CSV input
Date,Description,Debit,Credit 02/03/2026,Office Depot,142.18, 04/03/2026,Client payment – Acme LLC,,2500.00 09/03/2026,Monthly service fee,12.00, 16/03/2026,Fuel – Main St Station,58.40,
OFX output
<?xml version="1.0" encoding="UTF-8"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<DTSERVER>20261024231309[0:GMT]</DTSERVER>
<LANGUAGE>ENG</LANGUAGE>
</SONRS>
</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<TRNUID>0</TRNUID>
<STATUS>
<CODE>0</CODE>
<SEVERITY>INFO</SEVERITY>
</STATUS>
<STMTRS>
<CURDEF>GBP</CURDEF>
<BANKACCTFROM>
<BANKID>000000000</BANKID>
<ACCTID>0000</ACCTID>
<ACCTTYPE>CHECKING</ACCTTYPE>
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>20260302000000[0:GMT]</DTSTART>
<DTEND>20260317000000[0:GMT]</DTEND>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20260302120000[0:GMT]</DTPOSTED>
<TRNAMT>-142.18</TRNAMT>
<FITID>90732fe3ed60a65ee16e8c3cadf7dd7d53ee887a13e13729ebcacb3635ff17a3</FITID>
<NAME>Office Depot</NAME>
<MEMO>Office Depot</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20260304120000[0:GMT]</DTPOSTED>
<TRNAMT>2500.00</TRNAMT>
<FITID>912415d5e951fd969c2cd66fa892d14e1385ab60cd0455d4a342950f6fbe19fc</FITID>
<NAME>Client payment – Acme LLC</NAME>
<MEMO>Client payment – Acme LLC</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20260309120000[0:GMT]</DTPOSTED>
<TRNAMT>-12.00</TRNAMT>
<FITID>f146c6f95ef44774a3d55f080cbdb504b7d3396038310ea2c791a3ab98382401</FITID>
<NAME>Monthly service fee</NAME>
<MEMO>Monthly service fee</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20260316120000[0:GMT]</DTPOSTED>
<TRNAMT>-58.40</TRNAMT>
<FITID>e1e9cf40c0a7d33462f48a9d9248560056bd3fee92b8b8300136f77a2fec649c</FITID>
<NAME>Fuel – Main St Station</NAME>
<MEMO>Fuel – Main St Station</MEMO>
</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL>
<BALAMT>0.00</BALAMT>
<DTASOF>20261231235959[0:GMT]</DTASOF>
</LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>CSV columns and their OFX fields
OFX is a tagged format, so every value sits inside a named field. That's why accounting apps can read it without asking you which column is which. Here's how your CSV maps across.
| CSV field | OFX field | Note |
|---|---|---|
| Date | DTPOSTED | Read using your Date format choice and saved as YYYYMMDD. |
| Description | NAME | The payee or reference your software shows during reconciliation. |
| Amount, or Debit and Credit | TRNAMT | One signed number: negative for money out, positive for money in. |
| Sign of the amount | TRNTYPE | DEBIT or CREDIT, set from whether money left or arrived. |
| (not in a CSV) | FITID | A transaction ID is generated when needed. It helps importers recognise previous transactions, but duplicate matches still need review. |
| Currency option | CURDEF | The three-letter currency code, such as GBP or AUD. |
| Account type option | ACCTTYPE (or a credit card account section) | Tells your software whether this is checking, savings or a card. |
Import the OFX file into Xero, QuickBooks Online, Sage or MYOB
Most accounting apps that take bank statement files accept OFX. Pick your software below for the import steps.
Xero
Xero on the web · Documentation checked
- Open Accounting > Bank accounts and find the destination account.
- Open the account menu and select Import a Statement.
- Upload the downloaded file and continue to the review screen.
- Check the statement lines and exclude transactions you do not want. Complete the import, then reconcile the lines.
Xero also takes CSV, but only in its own template columns. OFX avoids reformatting your bank's export to match it.
QuickBooks Online
QuickBooks Online · Documentation checked
- Go to Transactions › Bank transactions, or All apps › Accounting › Bank transactions on the newer menu.
- Select Link account ▾ › Upload from file.
- Choose the .ofx file.
- Select the QuickBooks account to import into, then confirm.
- Review the transactions in the For review tab.
Sage
Sage Accounting UK · Documentation checked
- In Banking, open Actions for the bank account and select Import statement.
- Upload the OFX file and choose Review transactions.
- Follow any date-format prompts and continue to the transaction review.
- Resolve errors, check the lines and confirm the import. Other Sage products and regions use different menus.
MYOB
MYOB AccountRight desktop · Documentation checked
- Open Banking > Reconcile Accounts and choose Get Statement.
- Select the OFX statement file and the correct account when prompted.
- Check the imported transactions and dates before recording or matching entries.
- Reconcile the account and review any duplicates. Browser-based MYOB editions have different navigation.
Getting a CSV export from your bank
Show me where to download it
Download a CSV from your bank's account activity or statement page. Choose the date range, then Download or Export and CSV. Keep the bank's original file where possible so spreadsheet software does not change dates or numbers. Convert one account at a time, or map an Account column and select the account you need. If the bank already offers OFX, use that download directly.
What are CSV and OFX files?
What is a CSV file?
A CSV (comma-separated values) file is plain text in rows and columns. Banks offer it because Excel and Google Sheets open it. Every bank orders and names its columns differently, so accounting software usually asks you to map them.
What is an OFX file?
An OFX (Open Financial Exchange) file is the standard format banks use to send transactions to finance software. Xero, Sage, MYOB, Moneydance, GnuCash and QuickBooks Online read it. Dates, amounts and a unique ID per transaction are labeled, so there's no column mapping.
OFX hands accounting apps labeled dates, signed amounts and transaction IDs, so imports skip column mapping.
CSV to OFX import problems and fixes
| Error | Cause | Fix |
|---|---|---|
| Transactions land in the wrong month or year | Your CSV writes dates as day first, but the converter read them as month first (or the reverse). | Pick the matching Date format, then confirm the preview before downloading. |
| The wrong currency shows after import | The Currency option didn't match the account's currency. | Choose the account's currency, such as GBP or AUD, and convert again. |
| Money in and money out are reversed | Debit and Credit columns were mapped the wrong way round. | Swap the Debit and Credit columns in the Columns option. |
| Quicken won't accept the OFX file | Quicken expects a QFX file with an Intuit institution ID, and often rejects plain OFX. | Run the OFX file through our OFX to QFX converter, then import the QFX. |
| QuickBooks Desktop won't open the .ofx file | QuickBooks Desktop brings in bank files through Web Connect, which uses the QBO format. | Use our CSV to QBO converter instead. |
CSV to OFX converter FAQ
Upload your CSV above, confirm the columns, and set the date format, account type and currency. Check the 10-row preview, then download the OFX file and import it into your accounting software.
No installation is needed. Upload your CSV in the browser; Finstatly's conversion service processes it and returns the OFX download. It works from Windows or Mac.
Yes. Converting a CSV to OFX is free, with no account required. Files are encrypted with AES-256 and deleted automatically.
Xero, Sage, MYOB, Moneydance, GnuCash, Banktivity and QuickBooks Online all read OFX. For Quicken, convert to QFX. For QuickBooks Desktop, use a QBO file.
Transaction IDs help your software recognise previously imported transactions. Review duplicate matches and overlapping date ranges; an ID is not a guarantee that every import will be de-duplicated.
Yes. Set the Currency option to GBP, AUD or whichever currency the account uses. The OFX file records it, and your software reads it on import.
No, as long as it's saved as a .csv file. Check that Excel didn't change the date format when you saved it, then set Date format to match.
File privacy
File-converter uploads and results are temporarily stored in private storage. Uploads are deleted after a successful conversion; abandoned uploads and results are automatically deleted after about an hour. Download links are temporary.