YNAB CSV import: the format, a free template, and how to import past transactions
YNAB's File-Based Import takes a CSV from your bank and drops it into an account, which is how you add transactions without linking a bank, back-fill months before your starting balance, or replace a connection that imports duplicates or reversed amounts. YNAB is relaxed about the file (it maps the columns for you) but has a few rules that trip people up: one account per file, no categories, duplicates it silently skips, and transactions you deleted that it won't import again. Here's the format, the steps, what each option does, how to get PDF statements in, and free templates with known totals so you can test first.
Short answer: in the YNAB web app (or on an iPad, not on iPhone or Android), drag a CSV file anywhere onto YNAB. In the Import Transactions window, pick the account, check that each column is matched to Date, Payee, Memo, Outflow or Inflow, and import. A file with one signed Amount column works: choose it for both Outflow and Inflow, and tick Swap Inflow and Outflow if they come in backwards. Categories and splits can't be imported. Free templates in YNAB's field order: a checking CSV (31 fictional transactions), a credit card CSV (21) and a blank CSV.
See the statement behind the template
Open Utilly's fictional September 2026 checking statement: every line, the balance check from 12,418.36 to 13,440.52, and the CSV download. Free, because the data is made up. The checking template holds those 31 lines, so you know exactly what an import should bring in.
- The templates
- The CSV format YNAB reads
- Importing a file, step by step
- The import options
- One Amount column, or Outflow and Inflow
- Past transactions and PDF statements
- Duplicates, matching and skipped transactions
- Credit card accounts
- Checking the import against known totals
- Error messages and fixes
1. The templates
YNAB doesn't publish a template file; its help article File-Based Import in YNAB says "YNAB will match each column in your CSV file to a YNAB field: Date, Payee, Memo, Outflow, and Inflow." The files here use exactly those five headers in that order, so every column lines up with its field. File-Based Import puts a file into one account (you pick it at the top of the import window), so there is one file per account. No sign-up.
| File | What's in it | Use it when | Known totals |
|---|---|---|---|
| Checking CSV | Header row + the 31 lines of Utilly's fictional checking statement | Testing an import into a throwaway account, or comparing your file with one YNAB maps cleanly | 20 outflows 28,575.27; 11 inflows 29,597.43; net +1,022.16 |
| Credit card CSV | Header row + the 21 lines of the matching fictional card statement, by date | Testing a credit card account: purchases are outflows, the payment and a return are inflows | 19 outflows 1,939.94; 2 inflows 1,542.18; net −397.76 |
| Blank CSV | The header row only | Pasting your own rows | None |
The rows are written from Utilly's fictional sample statements (explained on sample bank statement PDF), read by the same engine Utilly's converters use, so they can't drift from the PDFs. Payee holds the bank's text for the line and Memo is empty. Outflow and Inflow are plain positive numbers, with the other column left blank. Dates are year-first (2026-09-01): YNAB's help doesn't name a required date format, and year-first can't be read day-first by mistake. The checking file is plain ASCII text (valid UTF-8) with Windows line endings, about 1.5 KB.
Date,Payee,Memo,Outflow,Inflow
2026-09-01,ACH DEBIT GUSTO PAYROLL 0912,,6420.18,
2026-09-01,STRIPE TRANSFER ST-K2M8Q4,,,3184.27
2026-09-02,CHECK 2041,,1850.00,
2026-09-02,ACH DEBIT AUSTIN ENERGY UTIL,,412.66,
2. The CSV format YNAB reads
YNAB calls CSV "the recommended and preferred file format" and also accepts QFX, OFX and QIF. You don't have to reformat a bank's CSV first: its FAQ answers "Do I need to reformat my CSV file?" with "No." What matters:
| Field | What YNAB does with it | In the template |
|---|---|---|
| Date | Matched to a column in the preview; no date format is listed in YNAB's help, so check the dates in the preview | 2026-09-01 |
| Payee | Cleaned up on import (see section 10) | The statement text, e.g. STRIPE TRANSFER ST-K2M8Q4 |
| Memo | Optional | Empty |
| Outflow / Inflow | Two columns, or one signed Amount column chosen for both (section 5) | 6420.18 out for payroll, 3184.27 in for a Stripe deposit |
| Category, splits | Not importable: "you aren't able to use File-Based Import to add categories or split transactions" | None |
Two more rules from the same article. "File import no longer skips zero-amount rows", so padding or information rows with no amount become $0 transactions; delete them from the file first. And if the first row is data rather than column names, tick No header row. A Balance column isn't one of YNAB's fields; the simplest thing is to delete it before importing.
3. Importing a file, step by step
File-Based Import works "on the web app or an iPad (this feature is not available on iPhone, Android, or other mobile devices)." On a computer, from YNAB's help:
- Download or export the transactions from your bank as CSV (or QFX, OFX or QIF).
- Open YNAB in the browser.
- "Drag and drop your file(s) onto YNAB—anywhere in YNAB." The Import Transactions window opens.
- At the top, check the account the transactions go into.
- Check that each column is matched to the right field; if one isn't, pick the right field from its dropdown.
- Set the options (next section) and import. Imported transactions then wait for you to approve and categorize them.
On an iPad, YNAB's steps use Split View: open https://app.ynab.com in Safari ("You may need to tap Request Desktop Version"), drag the Files app to the side of the screen, then drag the bank file into YNAB. YNAB's iPad steps mention QFX, QIF or OFX files.
Approving doesn't decide whether a transaction counts: "Even if you don’t approve an imported transaction right away, whether income or spending, it still impacts your plan." So a bad import affects your plan right away, before you review it.
4. The import options
For a CSV, YNAB says "These are the only customization options available":
| Option | What YNAB says | When to use it |
|---|---|---|
| Account | "At the top, verify the account you want transactions imported into." | Always. One file goes into one account |
| Transactions before the start date | "If your file includes transactions dated before your account start date, you'll have the option to include or exclude those." | Include them to back-fill history (section 6) |
| No header row | "No header row: select this if the top row of your CSV is transaction data rather than a header row." | Files whose first line is a transaction |
| Swap Inflow and Outflow | "Swap Inflow and Outflow: select this option if inflows/outflows are reversed on the file from your bank." | Deposits showing as spending, or a card file with purchases positive |
| Remember setting for this account | "this is selected by default and remembers any changes you made to the fields and options." | Leave it on if the bank's file looks the same every month |
QFX, OFX and QIF files get Import Memos and Swap Payee and Memo instead of the column dropdowns. There is no time zone setting: "Adjusting to local time is always on by default."
5. One Amount column, or Outflow and Inflow
Both shapes work. YNAB's FAQ on a file with one Amount column: "Select that same Amount column for both the Inflow and Outflow fields in the import dropdowns." It adds that "YNAB reads positive and negative values from a single column" and that if your inflows and outflows come in reversed, you use the Swap option.
| Your file has… | What to do |
|---|---|
| Separate Debit and Credit (or Withdrawals and Deposits) columns | Match Debit to Outflow and Credit to Inflow. This is the template's shape |
| One signed Amount column, money out negative | Choose Amount for both Outflow and Inflow, then check a few rows in the preview |
| One Amount column with card purchases positive | Choose Amount for both, then tick Swap Inflow and Outflow so purchases come in as outflows |
| Dollar signs, thousands commas or stray quotes | If YNAB shows a "CSV File Error", remove the extra quotation marks and characters in a text editor (section 10) |
6. Past transactions and PDF statements
YNAB's Starting Balance article answers "Can I Import Past Transactions from before My Starting Balance?" with "Yes, but you’ll need to use File-Based Import to do so." It also suggests making a Fresh Start afterwards so the old transactions sit in an archived plan instead of needing categories, and the import FAQ says "We don't recommend importing transactions beyond one year old when using File-Based Import."
When the bank's own download doesn't go back far enough, the monthly PDF statements are what's left, and YNAB can't read them: "YNAB is unable to read other file types for File-Based Import." The route that works:
- Find the account's start date in YNAB and gather the PDF statements before it.
- Convert each PDF to CSV. Bank statement to CSV reads the PDF, shows a free preview, and checks that the opening balance plus every line equals the closing balance, so you know no line was missed. Its clean CSV is
Date,Description,Amount,Balancewith one signed amount. Delete the Balance column, then in YNAB match Description to Payee and Amount to both Outflow and Inflow. For card statements, use credit card statement to CSV; purchases come out negative. Prefer a file YNAB reads without mapping? Bank statement to OFX makes an OFX. - Or paste the rows into the blank template, with money out under Outflow and money in under Inflow.
- Test one month and include the transactions dated before the start date. Then fix the starting balance (section 9) and import the rest.
Scanned statements work too: see scanned bank statement to Excel. Downloading a converted statement uses 1 credit ($9 for 5, no subscription); the preview and balance check are free with no sign-up.
7. Duplicates, matching and skipped transactions
This is where most file imports go wrong, and YNAB's rules explain it:
- Matching manual entries. YNAB matches an imported transaction to one you entered "as long as the amounts are exactly the same and the dates are within ten days of each other."
- Skipping duplicates. With File-Based Import used regularly or alongside Direct Import, "YNAB will automatically skip imported transactions with the exact same date and amount to avoid duplicates." Two genuine purchases of the same amount on the same day can be skipped as one.
- Reconciled dates. "transactions dated more than three days prior to the last reconciled transaction aren't imported." Back-fill before you reconcile, or expect old lines to be skipped.
- Deleted transactions stay blocked. "When you import transactions and then delete them, YNAB won't allow those same transactions to be imported into that account again." YNAB's way around it is to enter them by hand, or create a new unlinked account with a $0 starting balance, move the transactions into it, delete the old account and import again.
Duplicates that still get through may mean the dates in the file differ from those already imported. YNAB recommends deleting the duplicates and reconciling, which limits them from then on. Its troubleshooting article adds that "Duplicates often occur when a bank retroactively changes something about the transaction". If a linked account keeps importing duplicates or reversed amounts, YNAB's own fix is to unlink it and use File-Based Import; for reversed amounts, "With this option, inflows/outflows can be swapped with one click!"
8. Credit card accounts
Import a card file into the credit card account in YNAB. Purchases, fees and interest are outflows; payments and refunds are inflows. The credit card template does it that way: 19 outflows totalling 1,939.94, a 1,500.00 payment and a 42.18 return as inflows.
A payment you import on both sides needs one more step. YNAB's How to Handle Imported Credit Card Payments says a first payment may not be recognized: "it may show as two separate transactions—an outflow in your checking and an inflow in your credit card account." Edit it, choose Credit Card Payment, and set Paid to and Paid from; "YNAB will remember this setup for your next payment." (In the templates the checking file's AMEX payment and the card file's payment are different fictional cards, so they won't pair.)
Converting card statements from PDF? Convert a credit card statement PDF to Excel covers the card layouts.
9. Checking the import against known totals
Import the templates into new unlinked accounts with a $0 starting balance in a test plan, never into accounts you rely on. Then compare:
| Check | Checking CSV | Credit card CSV | If it's wrong |
|---|---|---|---|
| Transactions | 31 | 21 | Fewer: YNAB skipped same-date, same-amount lines or ones you deleted earlier |
| Outflows | 28,575.27 (20) | 1,939.94 (19) | A different total means a column was mismatched |
| Inflows | 29,597.43 (11) | 1,542.18 (2) | Same as above |
| Account balance after import | +1,022.16 | −397.76 | The opposite sign means Swap Inflow and Outflow is needed (or was ticked by mistake) |
| Dates | Sept 1–30, 2026 | Sept 1–30, 2026 | Other months mean day and month were read the wrong way round |
| Statement balance | 12,418.36 → 13,440.52 | owed 2,846.12 → 3,243.88 | Set the starting balance to the opening balance (−2,846.12 for the card) and the account ends on the closing one |
The data is fictional (Example Community Bank and Sample Customer LLC don't exist; both statements say SAMPLE STATEMENT, FICTIONAL DATA FOR DEMONSTRATION ONLY). Replace every row before using the template for real, and reconcile afterwards: YNAB recommends reconciling "at least once a week".
10. Error messages and fixes
| Problem | Fix |
|---|---|
| "Invalid File" | The file isn't CSV, OFX, QFX or QIF. A PDF statement has to be converted first (section 6); an Excel file has to be saved as CSV |
| "CSV File Error" | YNAB: the file "may contain extra quotation marks or other stray characters". Download it again or remove them in a text editor |
| "No Transactions" | Review the skipped transactions YNAB lists above the Options section to see why. The rules in section 7 (same date and amount, deleted before, older than the last reconciliation) are the usual suspects |
| Transaction data showing up as the column names | The file has no header row; tick No header row |
| Spending came in as income | YNAB's reversed-amounts article suggests deleting them in bulk and importing the file with Swap Inflow and Outflow ticked. If YNAB then skips them as previously deleted, use the new-account route in section 7 |
| $0 blank transactions | Zero-amount rows are imported now; remove padding rows from the file or delete the $0 lines |
| Payees renamed, categories filled in | Since September 14, 2026, File-Based Import cleans payee names and auto-categorizes by the payee's usual category. "Payee clean up and auto-categorization can’t be turned off", but you can edit any transaction afterwards |
| Need to undo | Delete the imported transactions, keeping in mind they can't be imported into the same account again. YNAB also says exporting is "a one-way street": a YNAB export can't be re-imported as a plan |
On privacy, YNAB says an imported file is processed on its servers and "We don't keep the file." Moving the same history into Monarch Money instead? Importing transactions into Monarch Money uses one signed Amount column and an Account column. For Quicken, see importing a CSV into Quicken; for Actual Budget, see Actual Budget CSV import.
Get PDF statements into YNAB
PDF statements, downloaded or scanned, get a free preview with the balance check, no sign-up. The clean CSV has one signed Amount column YNAB can map to both Outflow and Inflow. Files are processed in memory and not stored.
Utilly isn't affiliated with YNAB. The rules, steps and quotes above are from YNAB's Help Center, checked November 11, 2026; the templates weren't imported into a live YNAB plan, and YNAB's import screen may differ from what's described if it changes. Sources: File-Based Import in YNAB, The Starting Balance, My transaction amounts are reversed, My transactions are importing more than once, Adding Transactions Without Direct Import, How to Handle Imported Credit Card Payments, Approving and Matching Transactions. YNAB updates these pages; if a screen differs, follow the current help.
FAQ
What CSV format does YNAB need?
YNAB doesn't require a fixed layout. When you import a CSV it matches each column to one of five fields: Date, Payee, Memo, Outflow and Inflow, and you can change any match in the preview. A file with one signed Amount column works too: choose it for both Outflow and Inflow. Categories and split transactions can't be imported.
Is there a YNAB CSV template?
YNAB doesn't publish one. Utilly has free CSVs with the header Date, Payee, Memo, Outflow, Inflow, the field order YNAB's help lists, and no sign-up: a checking file with 31 fictional transactions, a credit card file with 21, both with known totals, and a blank file.
How do I import a CSV into YNAB?
In the web app, drag the file anywhere onto YNAB. In the Import Transactions window, check the account at the top, check each column's field, set No header row or Swap Inflow and Outflow if needed, and import. On an iPad you can drag the file in with Split View. File-Based Import isn't available on iPhone or Android.
Can YNAB import past transactions?
Yes, with File-Based Import. YNAB's Starting Balance article says transactions from before the starting balance need File-Based Import, and the import offers to include or exclude transactions dated before the account start date. YNAB doesn't recommend importing transactions more than a year old, and suggests a Fresh Start afterwards.
Can YNAB import a PDF bank statement?
No. File-Based Import reads CSV, OFX, QFX and QIF files, and YNAB says it is unable to read other file types. Convert the PDF statement to CSV first, then import the CSV.
Why did YNAB skip some of my imported transactions?
YNAB skips imported transactions with the exact same date and amount as ones already there, doesn't import transactions dated more than three days before the last reconciled transaction, and won't re-import transactions you imported and then deleted from that account. The import window lists the skipped transactions and why.
Why are my YNAB inflows and outflows reversed?
The bank's file uses the opposite sign convention, which is common on credit card exports. Tick Swap Inflow and Outflow in the import window. Remember setting for this account, which is on by default, keeps that choice for the next file from the same bank.
Related guides
- How to import transactions into Monarch Money (CSV format, free template, old statements)
- How to import a CSV file into Quicken (Windows, Mac and Simplifi)
- Free sample bank statement CSV (fictional, with known totals)
- Catch-up bookkeeping: getting 12 months of bank statements into QuickBooks or Xero and reconciled
- How to convert a credit card statement PDF to Excel
- Convert a scanned bank statement PDF to Excel (OCR, checked to the balance)
Related tools
- Bank reconciliation checker: compare a bank statement to your books and list missing, duplicate and mismatched transactions.
- Receipt to CSV: turn PDF or photo receipts and invoices into CSV, Excel, or QuickBooks and Xero bill imports.