bank statement → OFX

YNAB CSV Converter: Bank Statement to CSV, QFX or OFX for YNAB Import

Turn a PDF or scanned bank statement into a CSV, QFX, OFX or QIF file that YNAB File Based Import accepts. This is how you load the months of history that linking your bank account will never bring in.

Exports CSV, QFX, OFX and QIF
Up to 50 statements at once
256-bit encryption

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your bank statement

Extract:
|
|
<OFX> for MS Money & accounting software, <CSV> for spreadsheets

Getting a bank statement into YNAB as a file

YNAB File Based Import reads four file types and nothing else: CSV, QFX, OFX and QIF. CSV is the format YNAB names as recommended and preferred. If what you have is a PDF or a scanned statement, YNAB will reject it, so the statement has to be converted into one of those four files first. Upload the PDF above and export it as CSV for the simplest import, or as QFX or OFX when you want each transaction to carry a unique ID.

Why YNAB will not take the statement you already have

Most of the friction here is not YNAB being difficult. It is that a bank statement PDF and a YNAB import file are two different things, and Direct Import quietly refuses to fill the gap.

Direct Import Brings No History

When you link an account, YNAB writes a Starting Balance for that day. YNAB states that transactions which cleared before the date of that Starting Balance will not be imported. Everything older is simply absent.

YNAB Rejects PDF Files

File Based Import reads CSV, QFX, OFX and QIF. Anything else returns an Invalid File warning, and a PDF statement is the file most banks hand you.

The Connection Breaks

YNAB works through MX and Plaid, and says that when a bank changes its security or its website the connection can break, showing errors, missing transactions or balances that do not match.

Imports Are Not Immediate

Most linked accounts refresh once or twice a day, and YNAB says it can take up to three days for a posted transaction to appear in your plan.

Reconciling Locks Out Older Dates

Transactions dated more than three days before your last reconciled transaction are not imported at all, so a late backfill attempt can silently bring in nothing.

Deleted Transactions Never Come Back

Once you import transactions and delete them, YNAB will not let those same transactions import into that account again. A messy first attempt can poison the account.

Producing a file YNAB will actually read

Upload the statement, let the extraction read every transaction, then export whichever of the four formats fits what you are doing. The same upload produces all of them.

CSV, the Format YNAB Prefers

Exports a CSV with a clear date, description and amount, which is the format YNAB names as recommended and preferred for File Based Import.

QFX and OFX With a Unique ID

OFX and QFX stamp every transaction with a FITID, which is what lets YNAB and other programs recognize a period they have already seen.

Starts From the PDF You Have

Reads the PDF or scanned statement your bank issues, including image only statements, so you do not need a working bank download first.

A Year of Statements in One Pass

Up to 50 files go in at once, and statements from a single account can be merged before extraction so twelve monthly PDFs become one file and one import.

Consistent, Unambiguous Dates

Dates are written in one consistent style across the whole file, which is what stops a transaction landing in the wrong month.

Private by Default

256-bit encryption in transit, and you can delete an uploaded statement whenever you want.

Import a bank statement into YNAB in 3 steps

File Based Import runs on the YNAB web app or an iPad. It is not available on iPhone or Android, so do this at a computer.

1

Convert the statement

Upload the PDF or scanned statement above and export it as CSV, or as QFX or OFX if you want duplicate protection built into the file.

Tip: Merge a run of monthly PDFs from one account first, so the whole period arrives as a single import.

2

Drag the file into YNAB

Open YNAB in a browser and drag the file anywhere onto the page. The Import Transactions window opens on its own.

Tip: Multiple QFX and OFX files can be dropped in at the same time.

3

Check the mapping, then reconcile

Confirm the account at the top, check the columns YNAB matched, then compare the transaction count and the first and last dates against the statement before reconciling.

Tip: Reconcile only once the period is fully loaded, because it blocks later imports dated more than three days earlier.

When a YNAB user needs a converted file

File Based Import is not a fallback for beginners. It is the only route into YNAB for several ordinary situations.

Backfilling History at Setup

You have just started a plan and want the last several months in the register. Direct Import will not reach back past the Starting Balance date, so those months have to arrive as files.

A Broken Bank Connection

The link is erroring or the balance no longer matches. YNAB itself names File Based Import as the way to keep the account current while the connection is sorted out.

Accounts That Cannot Link

Small banks, credit unions, business accounts and some cards are not offered by either provider, so a file is the only way in for those accounts.

Statements Older Than the Download Window

Most banks keep a short window of downloadable transactions but years of PDF statements. Converting the PDFs is how that older period reaches YNAB.

What file formats does YNAB accept?

YNAB File Based Import accepts four file types: CSV, QFX, OFX and QIF. YNAB describes CSV as the recommended and preferred format, and says it checks CSV files after upload and adjusts the import preview based on what is in the file. Anything outside those four returns an Invalid File warning, which is the exact message people see after dragging in a PDF.

It is also worth knowing where the feature lives. File Based Import runs on the YNAB web app or on an iPad using Split View. YNAB states it is not available on iPhone, Android or other mobile devices, so a phone is the wrong place to try this.

FormatYNAB accepts itUnique transaction IDBest used when
CSVYes, recommended and preferredNoA one time backfill, or when you want to see the columns before they load
OFXYesYes, a FITID per transactionOngoing imports where periods may overlap
QFXYesYes, a FITID per transactionThe same as OFX. Banks often label these Quicken files
QIFYesNoOnly when a source will produce nothing else
PDFNo, returns Invalid FileNot applicableConvert it to one of the four above first
Excel (XLS or XLSX)NoNot applicableSave it as CSV, or export CSV directly

How do I import old transactions into YNAB?

Through File Based Import, because Direct Import will not do it. YNAB states that when you link an account it imports the opening balance of that day, creates a Starting Balance transaction, and that transactions which cleared before the date of the Starting Balance will not be imported. Linking your bank a second time does not change this. The older period has to arrive as a CSV, QFX, OFX or QIF file.

There is a limit worth respecting. YNAB says it does not recommend importing transactions beyond one year old using File Based Import. For most people setting up a plan that is not a constraint, since three to six months of history is usually enough to see real spending patterns, but it does mean a decade long archive is not the right project.

Why is YNAB not importing my transactions?

There are four common causes, and they look almost identical from the outside. The file is not one of the four accepted types. The transactions are dated before the account Starting Balance. The transactions are dated more than three days before the last reconciled transaction, which YNAB excludes by design. Or YNAB has skipped them as duplicates because the same date and amount already exist.

YNAB surfaces the third and fourth cases in the import window itself. If the preview shows no transactions, the skipped transactions list above the Options section explains why each one was left out, and reading that list is faster than guessing.

What you seeWhat it usually meansWhat to do
Invalid FileThe file is not a CSV, OFX, QFX or QIF. A PDF is the usual culprit.Convert the statement to one of the four formats and drag it in again.
CSV File ErrorYNAB points to extra quotation marks or stray characters in the file.Regenerate the file rather than editing it by hand, or strip the stray characters in a text editor.
No TransactionsNo row carried both a date and an amount other than zero, or everything was skipped.Read the skipped transactions list above Options, then check the file has real dates and amounts.
Transaction data in the column headingsThe file has no header row, so YNAB read the first transaction as the header.Tick No header row in the import options.
Inflows and outflows reversedThe source signs debits and credits the opposite way to YNAB.Tick Swap Inflow and Outflow.
The payee is in the memoA QFX, OFX or QIF file where the bank puts the payee in the memo field.Tick Swap with Payees in the import options.

Do I need to reformat my CSV for YNAB?

No, and this is the single most useful thing to know before you go hunting for a formatting template. YNAB matches each column in your file to one of its own fields, which are Date, Payee, Memo, Outflow and Inflow, and you can change any of those matches from a dropdown in the import window. It states plainly that you do not need to reformat the file.

The one that trips people up is a file with a single Amount column instead of separate debit and credit columns. YNAB handles it: choose that same column for both the Inflow and the Outflow field. It reads positive and negative values out of one column, and will often map it for you without being asked. If the signs come through backwards, Swap Inflow and Outflow fixes it in one click.

What genuinely does need work is a statement that is not a spreadsheet at all. A PDF has no columns for YNAB to match, which is where a conversion step belongs.

Will importing a file create duplicate transactions in YNAB?

Usually not, because YNAB skips imported transactions that carry the exact same date and amount as ones already in the account. It also matches file imports against transactions you entered by hand, as long as the amounts are exactly the same and the dates fall within ten days of each other.

Duplicates that do get through almost always come from dates. If the file you converted dates a transaction differently from the way it was originally imported, the two no longer look identical and both are kept. YNAB recommends deleting the duplicates and reconciling the account, because once an account is reconciled anything dated more than three days before that point stops importing.

One warning that catches people out: when you import transactions and then delete them, YNAB will not allow those same transactions into that account again. If you need them back you either enter them by hand or, as YNAB documents, create a new unlinked account, move the existing transactions across with Move to Account, and delete the old one.

Does YNAB import categories from a file?

No. YNAB is explicit that categories are not included in File Based Import, and the reason is that category information is not reliably present in the files banks produce. For the same reason you cannot create split transactions through an import.

This is not the loss it first sounds like. Categorizing is where YNAB does its actual work, and it offers bulk categorizing so a backfilled month can be sorted in a few passes rather than row by row. What the import needs to get right is the date, the payee and the amount, and those are exactly the three fields a converted statement carries.

CSV or OFX for YNAB: which should you export?

Export CSV for a one time backfill. It is the format YNAB prefers, the import preview shows you the columns before anything is written, and for a period that has never been in your plan there is nothing for duplicate detection to protect you from.

Export OFX or QFX when the same account will be imported repeatedly, or when the date ranges might overlap. Those formats give every transaction a FITID, a unique identifier the receiving program stores, so a period that has already been seen is recognized rather than added twice. YNAB also lets you drop several QFX or OFX files in at once, which suits a folder of monthly statements.

QIF is the one to avoid unless something upstream will produce nothing else. It carries no transaction identifier and its date handling is loose by design, so it inherits every duplicate problem CSV has without CSV being easy to inspect. If you want the detail, the OFX file format and QIF file format pages set out what each one actually stores.

How far back does YNAB Direct Import go?

It does not go back at all. Linking an account imports that day opening balance as a Starting Balance transaction, and YNAB states that anything which cleared before that date will not be imported. From then on, new transactions appear once they clear, typically within 24 to 72 hours.

The delay is worth understanding, since it is often mistaken for a broken connection. YNAB works with two providers, MX and Plaid, and picks whichever is performing better for your bank. Most linked accounts refresh once or twice a day, and some banks limit updates further, so a posted transaction can take up to three days to show up in your plan. Waiting is the right response there. Converting statements is the right response when the missing transactions are older than the day you linked the account.

YNAB import questions

Related Resources

Other Bank Statement Converters

ICICI Bank JPMorgan Chase Bank of America Citigroup Wells Fargo Goldman Sachs Morgan Stanley U.S. Bancorp PNC Financial Services Truist Financial Capital One TD Bank Charles Schwab Bank of New York Mellon State Street BMO USA Ally Financial Regions Financial Fifth Third Bank Huntington Bancshares KeyBank Citizens Financial Group First Citizens BancShares Synchrony Financial M&T Bank First Horizon Cathay Bank USAA Navy Federal Comerica Zions Bancorporation East West Bancorp First National of Nebraska Cullen Frost Bankers BOK Financial Fulton Financial Associated Banc-Corp Valley National Bancorp Wintrust Financial First Midwest Bancorp Commerce Bancshares UMB Financial Pinnacle Financial Partners Webster Financial Cadence Bank Old National Bancorp First Interstate BancSystem Umpqua Holdings First Hawaiian Bank Prosperity Bancshares SouthState Corporation First Merchants First Bank Holding Glacier Bancorp First Financial Bancorp Independent Bank Columbia Banking System Western Alliance Bancorporation Pacific Premier Bancorp Bank OZK United Community Banks Customers Bancorp Texas Capital Bancshares SVB Financial Group Signature Bank First Republic Bank New York Community Bancorp Sterling Bancorp First Bank Bank United First Commonwealth Financial ServisFirst Bancshares Renasant Corporation Simmons First National Trustmark Corporation First Busey Community Bank System First Mid Bancshares Ameris Bancorp Hancock Whitney First BanCorp Third Coast Bancshares Home Bancshares Byline Bancorp Simmons Bank United Bankshares Peoples United Financial American Express HSBC Bank USA