YNAB Migration

From GnuCash
Jump to: navigation, search

The purpose of this page is to list hints and tips that may assist users in migrating their books from YNAB 4 ('You Need A Budget') to GnuCash.


To transfer data, select the All Accounts tab and open the File>Export menu. Choose "Export to CSV". You'll need to make several adjustments to the resulting CSV in order for GnuCash to process it correctly. YNAB isn't capable of exporting account names, so you'll need to set these up manually in GnuCash - do this before attempting to import. You'll also want to set up Expense accounts, which will roughly map to Budget categories in YNAB, and Income accounts, which are self-explanatory (Salary, etc - ignore the "Available this/next month" distinction YNAB makes).

YNAB's CSV exports include duplicated lines for internal transfers, so this will need to be fixed by editing the CSV. You'll need a spreadsheet application to do this and the other necessary manipulations.

Data Manipulations

  • You won't be able to import "reconciled" status, so you'll need to reconcile after importing. However, you can import "cleared" status - add a derived column containing EXACTLY c or n (NOT y, despite this being what GnuCash uses to represent reconciled).
  • Rename the heading "Outflow" to "Withdrawal", and "Inflow" to "Deposit".
  • Using filters in your spreadsheet software, delete all rows with both the Payee starting "Transfer :" AND Inflow (Deposit) equal to zero.
  • Add a column "Transfer Account" and manually populate it from the Payee column. Sort by payee to speed this up.
  • Optionally, add a derived Description column containing Payee and Memo (alternatively you can just use the existing Memo column when importing if you're fine losing Payee information).
  • Optionally, if you're having trouble importing the whole CSV at once due to the amount of data, split the data by date into separate files of around 500 rows.


Back up your empty GnuCash structure. Use the File>Import>Import Transactions as CSV option in GnuCash. Starting with the earliest CSV, match up the columns as instructed. Save your import profile, as the account matching takes a while. The importer will become unresponsive while processing, this is normal (expect 20-30 minutes per file - if it fails, GnuCash will die, this means your CSVs need to be split further).

After importing each CSV split by date, check the balances in GnuCash against the "Running Balance" column in YNAB for the date you've imported up to. This column is hidden by default, show it using the + under the search box with an account tab selected.