Import General Journal Entries from CSV/Excel into Quickbooks Desktop

This video shows how to create a Journal Entry or a multiple Journal Entries IIF file in Excel and Notepad without any other software.

You may have a bunch of General Journal Entries as CSV or Excel file created quickly in Excel, or exported from your production system, but Quickbooks will not import it.

IIF files are a great help when you need to import many transactions without manually typing in Quickbooks.

There is also an easier and faster way to create an IIF from your CSV file using a ProperSoft tool — General Journal Entries and will be shown in comparison to the manual approach.

All documents, shown in this video are available to download, see spreadsheet at


So, let’s take a look at our file, which has two General Journal Entries, and they are separated by entry number. They are for the same date but could be for a different date. We have the Account Name, we have some subaccounts, and we have regular debit and credit lines. This entry has one credit line, one debit line and another entry has two debit lines two credit lines. We have some Memo, we have some Name for one of the lines and we have optional class and subclass available as well.

This file, which you can download and try yourself, has the IIF template. What is the IIF template? It is an Excel file, formatted as an IIF file: it should have a header and different rows. The header first three lines you don’t change, but each transaction or each General Journal Entry has the first line, as TRNS and then you have one or more split lines and then you have to have ENDTRNS line.

For this file, as here, the final result would look like this. As you see, I filled the first entry TRNS line and then split line, and then ENDTRNS. Then for the second entry, I have the first line always TRNS and then I have three split lines and again ENDTRNS line. You can fill it, as fast, as you work in Excel, you can copy this column, TRNS type usually should be General Journal, you can copy the Date, it should be month/day/year format, and then account.

How you would start working on this? First, you would create as many lines, as you need. So, in this case, you would have six lines. So your IIF result would have six lines. Then, you will need to insert those TRNS lines at the end of each entry. Now you need to copy the entry number.

Then you go on the template, paste, you start multi-lines, same you do for the second one, same you do for the dates, for account number, account names, classes, names.

The most difficult one would be the amount column. If you have debit and credit, in IIF it must be just the amount. How do you get those minuses and plusses in right place? What would you do? You would create the amount column in your template and then would enter the formula, as simple as this — which is debit minus credit.

Then you press ‘Enter’ and then you would multiply this column for all lines. The credit lines should be minus and debit lines should be plus. Then you can start copying this column as well to the IIF result.

The final step is what would you do to get this into the IIF file. There are different approaches to convert. The easiest one would be using Text editor or Notepad, which is included in all Windows, starting from Windows 7, Windows 10, Windows 11. Start Notepad, if you don’t know where is Notepad, just open your start menu and start typing ‘Notepad’ and that’s where you would see Notepad.

When you open Notepad (File — New), then you would switch back to Excel, select this final result, click ‘Copy’ or ‘Ctrl’ — ‘C’.

Then you switch to Notepad and press the ‘Ctrl’ — ‘V’.

Click ‘File’ — ‘Save’, and then you would say ‘entries.iif’ and save.

That’s it.

Let’s go to Quickbooks. This is Quickbooks 2019 and it’s the same as 2020, 2021, or any previous Quickbooks, as far as IIF files are imported. In Quickbooks 2019 and later (2020, 2021), the IIF import was changed, so to import the IIF file you go to ‘File — ‘Utilities’ — ‘Import’ — ‘IIF files’.

If you have Quickbooks 2018 or earlier it would just go to the import screen, but in 2019 there’s two options ‘Import IIF’ or ‘Import IIF for me. I’ll fix it later’. Those are two different ways to import. This way is called the ‘legacy way’. It is for how Quickbooks 2018, and earlier would import the IIF files. If you get used to a regular way of importing the IIF files — this is the way to keep importing them. This new way of importing IIF files is a little different. First — it’s much slower, and the second is — if you have any mistakes, let’s say, the Vendor name is incorrect, if the account name is incorrect, then all those entries will be rejected and a new IIF file, with a timestamp added, will be created for your IIF file. And this IIF file will have all error messages for what went wrong. So if you know that everything is correct in your General Journal Entry file and you will just go ahead. If you’re not sure or you’re doing it the first time I would suggest going first with the ‘Import IIF’ to see any errors, that you would encounter, let’s say, account names are incorrect.

But before that, so, let’s say, I will ‘Import IIF for me’, either way — old way or new way, do backup before you do anything with the IIF file.

Online backup, the Local backup will take just a couple of seconds.

Click ‘Browse’ (tell us where to save your backup copies) — click ‘Ok’ (do it in Documents — ‘Ok’ (remind me to backup when I close my company every times).

‘Use this location’.

‘Save it now’.


‘Ok’ and it’s done.

Now go to ‘File’ — ‘Utilities’ — ‘Import’ — ‘IIF Files’ — ‘Ok’ (QB must close all windows to import the IIF file) — ‘Import for me’ — ‘Import IIF’. Now we’re ready to import the IIF file. Save it in the Downloads folder. This is our entries, and our data has been imported.

Go to ‘Company’ — ‘Make General Journal Entries’.

That’s where we see our Entries imported.

This is the manual way.

We don’t need any tools and you could work as fast, as you work in Excel and you have as much freedom, as you have, like you could copy those lines, you can check, you can do everything you want. There is an easier way, so, if you have this file, and you don’t want to do formulas, you don’t want to do the formatting, copy, pasting, you would just use a ProperSoft General Journal Entries app. What does it do? It loads your file, it recognizes all those columns automatically and then you just say ‘IIF’, then click ‘Convert’.

Click ‘Save’ and that’s it.

Your IIF file is created now. So, it’s up to you, in some cases you would like to have manual work, but if you have like an export from your production system and it’s already predefined, everything is resolved, everything is ready, just convert data, I would suggest using General Journal Entries tool to quickly reformat your CSV file to IIF file.

Originally published at



-- — need to import transactions, but the file format is not supported? Try ProperSoft converters.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How a Practical Testing Approach Can Speed Up The Coding Process

Fast-moving lights

Export the Query Result in CSV or XL format from SOQL editor Developer Console

Fit is when the value or cost of activities align, should reinforce and at best substitute to…

Why the Most Useful Software Is Built Backwards

Inside the Object-Oriented Toolbox— Mapping between Design & Implementation

Announcing the RudderStack Video Library

Breakpoints and Examining variables in Xcode

KubeOrbit is open source Now! We’re looking forward to more creative technical strengths!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sergiy Tytarenko

Sergiy Tytarenko — need to import transactions, but the file format is not supported? Try ProperSoft converters.

More from Medium

Snake JARs, Part III: Data Science Sssssss-security

Python basic modules for newbie

Python 3 vs Python 2- Which Version to Code in?

Introduction to Conditional Statements in Python