Import a Bank Statement into YNAB from PDF or CSV
Import bank statement transactions into YNAB with file-based import: build a clean CSV from PDF statements, map columns and avoid duplicates.
SheetStatement Team11 min read
On this page
- Linked import vs file-based import
- What a good YNAB CSV looks like
- From PDF statements to a YNAB CSV
- Importing into YNAB
- Credit card statements
- Avoiding duplicates
- Reconcile after importing
- Worked example: loading three months of history
- Making categories easier
- Savings, loans and other accounts
- A simple monthly routine
- Common problems
- Keep the original statements
- Get your statements ready for YNAB
- FAQ
TL;DR YNAB can bring transactions in through linked accounts or through file-based import, which accepts common bank file formats including CSV. If your bank only gives you PDF statements, or linked import doesn't reach back far enough, convert the PDFs to a clean CSV with one row per transaction, a real date, a payee, a memo and either one signed amount or separate inflow and outflow columns. Check each statement balances before you import, import into the correct account one file at a time, review and approve the imported transactions, and reconcile the account against the statement's closing balance. Watch for overlaps with linked or manually entered transactions so you don't double-count spending.
YNAB (You Need A Budget) is a budgeting app built around giving every dollar a job. It works best when your accounts in YNAB match reality, which means every transaction from your bank needs to get in somehow. Most people link their accounts so transactions arrive automatically. But there are good reasons to use file import instead, or as well:
- Your bank or credit union isn't supported for linking, or the connection is unreliable.
- You prefer not to link accounts.
- You're starting YNAB and want to load several past months to see real spending history.
- You're adding a closed account, or catching up after a few months away.
- The bank only provides older months as PDF statements.
This guide covers how file-based import works in general terms, how to prepare a file YNAB will read cleanly, especially when starting from PDFs, and how to avoid the common problems. YNAB's interface changes over time, so check its help pages for current menus.
Linked import vs file-based import
Linked accounts pull transactions from your bank through a connection. New transactions appear for you to review and approve. It's convenient, but connections can break, and linking typically only imports a limited window of recent history.
File-based import lets you upload a file of transactions to an account. YNAB generally supports common bank formats, including CSV and OFX-style files, and shows you a preview before importing. CSV is the most flexible option because you can create and fix it in a spreadsheet.
You can use file import on unlinked accounts, and it's a useful backstop when a linked connection misses a few days. Just be careful about overlap, which we cover below.
What a good YNAB CSV looks like
YNAB's CSV import lets you match columns in your file to YNAB fields, and choose a date format. The cleaner your file, the less fiddling you need to do. A sensible layout is:
| Date | Payee | Memo | Outflow | Inflow |
|---|---|---|---|---|
| 2026-05-01 | Landlord | May rent | 1,450.00 | |
| 2026-05-02 | Employer | Salary | 3,120.00 | |
| 2026-05-03 | Supermarket | 84.36 | ||
| 2026-05-06 | Electric company | Bill payment | 72.10 |
Or with one signed amount column:
| Date | Payee | Memo | Amount |
|---|---|---|---|
| 2026-05-01 | Landlord | May rent | -1,450.00 |
| 2026-05-02 | Employer | Salary | 3,120.00 |
Figures are illustrative.
Guidelines:
- One header row, then one row per transaction. No titles, blank rows, subtotals or balance lines.
- Real, consistent dates. Pick one format for the whole file. Year-month-day (2026-05-01) is unambiguous.
- Amounts as plain numbers. No currency symbols or thousands separators in the CSV itself is safest.
- Clear signs. With one Amount column, money in is positive and money out is negative. If your source has separate debit and credit columns, either keep them as Outflow and Inflow or combine them.
- Payee and memo separated if you can. Bank descriptions often cram a merchant name, a reference and a location into one field. Pulling out a clean payee name makes YNAB's payee matching and category suggestions much more useful.
- One account per file. Don't mix checking and credit card transactions in the same file.
From PDF statements to a YNAB CSV
1. Convert the PDFs
Extract each statement's transactions to a spreadsheet, one row per transaction. Options include copying and pasting short statements, Excel's Power Query (see our Power Query guide), or SheetStatement, which extracts the rows, produces a signed amount and checks the statement's balance before exporting CSV or Excel. The free plan covers 3 pages a month; Starter ($9), Pro ($19) and Business ($39) monthly plans cover more.
2. Clean up
- Remove non-transactions: opening balance, balance forward and summary lines.
- Fix dates: make sure every date is a real Excel date in the right order. See fixing bank statement dates in Excel.
- Fix amounts: strip symbols and commas; convert text to numbers. If negatives appear in parentheses, use our guide to converting parentheses to negative numbers.
- Split the description: pull out a clean payee. For example, use
TEXTBEFOREto grab the text before the first double space or reference number. Our guide to splitting bank transaction descriptions in Excel has formulas.
3. Prove each statement balances
=ROUND(Opening + SUM(Amount) - Closing, 2)
It should be zero for each statement. If it isn't, find the missing or mis-signed row before importing. A missing transaction in YNAB means your account balance will be wrong and your budget will be off by the same amount. The running balance formula guide shows how to locate problems line by line.
4. Save as CSV
Keep only the columns you'll map. Save as CSV (UTF-8 if available). Open the CSV in a text editor to check it looks right: a single header line, consistent dates, plain numbers.
Importing into YNAB
The general flow:
- Open the right account in YNAB. File import goes into a specific account.
- Choose the file import option and select your CSV.
- Map the columns. Tell YNAB which column is the date, payee, memo and amount (or inflow and outflow). Choose the date format that matches your file.
- Check the preview. Confirm a few rows: dates in the right month, money out as outflows, payees sensible.
- Import. The transactions appear for review.
- Review and approve. Assign categories and approve each transaction, or in batches. YNAB may also try to match imported transactions with ones you entered manually, which you should check.
Do one month first. Once you're happy with the result, import the rest in date order.
Credit card statements
Credit cards need extra care with signs. On the statement, purchases increase the balance you owe, and payments reduce it. In YNAB, a purchase on a credit card is an outflow from that card account, and a payment to the card is an inflow to the card account (and an outflow from checking).
When you prepare a card CSV:
- Purchases, interest and fees should import as outflows.
- Payments and refunds should import as inflows.
If your converted statement uses the card's point of view, with purchases positive, flip the signs before importing, or use separate Outflow and Inflow columns so there's no ambiguity. Our guide to credit card reconciliation in Excel explains card sign conventions in more detail.
Remember that a card payment appears on both statements. In YNAB, it should be a transfer between the checking and credit card accounts, not an expense. If you import both files, make sure both sides end up linked as a transfer rather than as two separate transactions.
Avoiding duplicates
Duplicates usually come from overlap:
- Linked import plus file import covering the same dates.
- Manual entries plus file import. If you entered transactions by hand as you spent, the import will bring in the same ones again. YNAB may suggest matches, but check them.
- Overlapping files, such as a statement for April and an export that runs from mid-April to mid-May.
Prevent them by:
- Checking the date of the last transaction already in the account before you import.
- Trimming your CSV so it starts the day after.
- Importing statements in order and keeping a small log: account, file, date range, number of rows.
If duplicates slip in, compare against the statement. Two identical transactions on the same day can be genuine, so use the statement as the source of truth rather than deleting on sight. Our guide to removing duplicate transactions in Excel helps you clean the source file before import.
Reconcile after importing
Once a statement's transactions are in, reconcile the account against the statement:
- Compare YNAB's cleared balance for the account with the statement's closing balance on the statement date.
- If they match, reconcile. If not, the difference points to the problem: a missing transaction, a duplicate, or a sign error.
For a deeper look at tracking down differences, see finding bank reconciliation discrepancies.
Worked example: loading three months of history
Say you're starting YNAB in June and want April and May in the budget so your category targets reflect real spending. Your credit union isn't supported for linking, and you have PDF statements for April and May, plus recent activity since 1 June in online banking.
- Set the starting point. Create the checking account in YNAB with a starting balance equal to the April statement's opening balance, dated the day before April's first transaction. This is a judgment call; another option is to start the account on 1 June and treat older months as history only. Pick one and be consistent.
- Convert April and May to CSV. Each statement's balance check returns zero, and May's opening balance equals April's closing balance.
- Import April. Map columns, check the preview, import, categorize and approve. Reconcile to April's closing balance.
- Import May the same way and reconcile.
- Import June to date from an online banking download, trimmed to start on 1 June.
- Check that YNAB's balance matches online banking today, allowing for anything pending.
The reconciliation at the end of each month is what makes this trustworthy. If April doesn't reconcile, you fix it before moving on, rather than discovering in July that your budget has been off by $84.36 the whole time.
Making categories easier
YNAB learns from your choices, but you can make the first big import less painful:
- Clean payees in the spreadsheet before import. "AMZN MKTP US2K4" and "AMAZON.COM1X2" can both become "Amazon".
- Pre-sort recurring items. Rent, salary, utilities and subscriptions are easy to spot. Our guide to finding recurring payments in a bank statement shows how.
- Use a category column in the spreadsheet to plan, even though you'll assign categories in YNAB. It helps you notice categories you'll need to create.
If you'd rather analyze spending in Excel before setting up your budget, see creating a budget from bank statements.
Savings, loans and other accounts
Checking and credit cards get most of the attention, but a complete budget usually includes other accounts too.
Savings accounts. Import them the same way as checking. Most rows will be transfers to and from checking, plus interest. Make sure transfers end up linked on both sides so they don't look like income or spending, and record interest as an inflow.
Loans and mortgages. Loan statements often show a payment split into principal and interest, plus a remaining balance. You may not need every line in YNAB. Many people track the loan balance and record the payment from checking as a transfer to the loan account, with interest handled as the loan's own activity. Decide how much detail is useful to you before importing.
Closed accounts. If you're loading history that includes an account you've since closed, import its statements up to the closing date and reconcile it to zero on the final statement. The last transfer out should match a deposit in the account that received the money.
Cash. There's no statement for cash, so file import doesn't apply. If you track cash, enter it by hand.
A simple monthly routine
If you use file import as your main method, a routine keeps it painless:
- When a new statement arrives, download the PDF and save it with a consistent name.
- Convert it to CSV and run the balance check.
- Trim the file to start after the last transaction already in YNAB.
- Import, review, categorize and approve.
- Reconcile to the statement's closing balance.
- Note the account, date range and row count in your import log.
That's usually a short job once you've done it a couple of times, and it means your budget is always anchored to the bank's own figures.
Common problems
Dates import in the wrong month. The date format chosen during import doesn't match the file. Fix the format in the file or choose the correct option when mapping.
All amounts are outflows. You mapped a signed amount column as Outflow, or the signs in your file are reversed. Check the preview carefully before importing.
Payees are messy. That's the raw bank description. Clean it in the spreadsheet, or rename payees in YNAB as you go.
The file won't import. Check for extra header lines, blank rows, merged cells exported as odd characters, or a file that isn't actually CSV. Open it in a text editor to see what's really inside.
Balance doesn't match after import. Either the starting balance was wrong, transactions are missing or duplicated, or a pending transaction is involved. Reconcile month by month to narrow it down.
Keep the original statements
Even after everything is in YNAB, keep the PDF statements and your converted CSV files in one folder, named by account and month. If a balance drifts months later, or you need to show someone your records, you can go straight back to the source. Your import log, a simple table with account, file name, date range and row count, sits alongside them and tells you exactly what went into YNAB and when.
Get your statements ready for YNAB
Upload your PDF statements to SheetStatement, check the rows and the balance check, and download a CSV ready to map in YNAB. The free plan includes 3 pages a month.
FAQ
Can I import a PDF bank statement into YNAB?
Not directly. Convert the PDF to a CSV with one row per transaction first, then use YNAB's file-based import.
Which file formats can YNAB import?
YNAB's file-based import supports common bank formats including CSV and OFX-style files. Check YNAB's help for the current list.
Should I use one amount column or inflow and outflow?
Either works if you map it correctly. Separate inflow and outflow columns remove any doubt about signs, which is helpful for credit cards.
How do I stop duplicates when my account is also linked?
Make sure the file only covers dates the linked import hasn't. Check the last transaction in the account and trim the file to start after it.
How far back should I import?
That's up to you. Many people import a few months to see real spending patterns. Older history is useful for reference, but it's most valuable when every month you import is reconciled.
Why doesn't my YNAB balance match the bank?
Look for a wrong starting balance, a missing or duplicated transaction, a reversed sign or a pending item. Reconciling each month against its statement narrows it down.
Is it safe to upload my statements?
See the security page for how SheetStatement handles files, and read any service's policy before uploading financial documents.
How much does SheetStatement cost?
The free plan includes 3 pages a month. Starter is $9 a month, Pro is $19 and Business is $39.