FREE CSV/QBO to IIF converter.

  • SpinRite v6.1 Release #3
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)


Active member
Sep 20, 2020
Let me first start by saying that I've dabbled with Programming my entire life, never really getting the hang of it, but not for a lack of trying. I'm also dyslexic so maybe that has something to do with it.

When Steve read a note on security now regarding the guy who wrote a Powershell script to parse a lastpass file saying that ChatGPT helped him write some of the code, I thought that's neat, let's give it a go.

So over the next few weeks and months, I had used ChatGPT to scratch every itch I could think of, creating Python apps and converting them to exe files.

While it's true you can just tell ChatGPT what you want and it spits out code, you do still have to be technically inclined to use the code, make the py file help it debug the app. In some cases, when chatGPT goes full stupid, you also have look through the code and find such a simple bug even I could see it.

I told a friend he should try it too, he said it would feel more accomplished if he wrote the code himself. I get that, but as mentioned above I've tried to wrap my head around coding, but it just wasn't working. Plus how is this any different than hiring someone to do it for you?

While ChatGPT will do the coding for you, the way the app works and how it does stuff is conveyed to the app, so you do most of the design wokr.

The best example of an app I had chatGPT write for me, is one I'm most proud of designing. Is something called CSV/QBO/OFX to iif converter.

Below is information about the App

Disclaimer: Use at your own risk. I made this app for my needs, and it works fantastically. If you use this app back up your company file before importing the iif file.

This program lets you import a CSV, QBO or OFX file and convert it to an IIF file to import into Quickbooks.

This program is for people who import Bank, Credit card and Transfers. It does not support accounts receivable Quickbooks Accounts.

It also includes a pattern file editor, which lets you match up, rename, split, and put them in the correct account before you create the iif file. This does A LOT of the heavy lifting for you so you won't even have to handle them once they get imported into Quickbooks.

I'm giving this app away for free due to Intuit's greed, I'm sure people will be death-gripping older versions of Quickbooks for years to come. They will need some way to import their transactions into Quickbooks. Before this program, the only other app out there I could find with the same functionality is $120 per year.

Unlike other free converters, you do NOT have to create an account or provide any personal information to use the application.

Inside the app (4.1 or newer) there is a donation button if you want to donate.

I created this program in conjunction with Chatgpt. The dropbox download links are towards the bottom

In Quickbooks 2019 and newer if you import your iif file the new way, it will work, but descriptions on deposit for bank transactions seem to be left blank and check numbers are added for each debit.

2019 and newer still give you the option to.

**"Import it for me. I'll fix it later"**This is the old method used up until Quickbooks 2018

People on the internet say using that method IIF's import without issue

There is a tutorial video at the bottom, give it a watch! Come back here for updates on the latest versions. They are posted at the bottom of this page.

This is what the program looks like.

Here is what the program looks like.


Starting with version 4.1, if the program tells you that your CSV is incompatible, you do have the ability to map the fields yourself by clicking on the "Let me try mapping it by hand" in the bottom right of the box. Even though that should let you open the CSV just fine, I would still like to be contacted about your CSV so I can add native support for the CSV file into the app for everyone else.

This app allows you to create, modify, and edit transaction rules that you can import into the main app. The pattern file allows you to tell the program to ...

  • If a transaction has X in the name, rename the transaction to X for (Example, if a transaction has WM SUPERCENTER in the name such as 648105 PURCHASE WM SUPERCENTER #1625 712-546-4900 IA 10277255 4041 .. rename to "WAL-MART"
  • If a transaction is named X and has X amount name it this. If it does not have X amount, still give it a name but just put it over in Premier Offset so I can tell it where to go.
  • If a transaction has X in the name, rename it and add it to this account. For example, if a transaction had " HY-VEE F&F" in the name, such as "995471 PURCHASE HY-VEE F&F LE MARS 5382 LE MARS IA 4445043046110 4," rename it to "HY-VEE FUEL" and add it to the account "Business:Automobile Expense:Fuel."
  • Split a transaction to the tune of 2 splits. I wasn't aware that you could split a transaction in an IIF file, but it works great! You just enter amount 1 for account 1 and amount 2 for account 2. (it's in the screenshot)
  • Split a transaction only if the transaction amount is X
  • If a transaction has X in the name and transaction amount is X $ rename the transaction and put it in this account. I did this because my Verizon gets put on my VISA card every month, but other things get put on there too. So in months when the VISA matches $36.38 it automatically puts VISA in Business:Direct Expenses - Business:Telephone:Cellphone.
  • You can also have it automatically add memo's for certain transactions who's name/total or just name matches.
  • You can mark a vendor as "Transfer," so all of their transactions are always marked as "Transfer and are automatically checked
I created this app for myself, but I thought others may find it useful. I'm sure, like me, other people are death-gripping their older version of QuickBooks.

When importing CSV, if it doesn't like the format your CSV is in, it will tell you it's unable to import it and give you a way to contact me so I can add your CSV to the app and make it compatible with your financial institution.

This is why I also added support for QBO files, which are standardized. So, if your bank removed support for IIF like mine has but still gives you QBO and CSV, and CSV isn't working for you, just use QBO.

Link to Reddit where I keep up-to-date info
Reddit post - Free CSV / QBO IIF converter

You can use the telegram channel I created if you want to be updated on new version releases..

v4.3 June 11th, 2024 Latest
  • Fix : In the process of fixing the splits I broke the matching feature of unchecking transactions already in Quickbooks. It should work again now. The only thing it won't uncheck are split transactions.
  • New: Added another CSV bank format.
  • New: Added autocomplete to the transaction edit box. When you rename a transactions name and account it creates an autocomplete.json file in the same directly as the exe. It uses that file to store all the names and accounts you use to autocomplete them.
  • New: When a pattern file is loaded into the app the names and accounts of that pattern are automatically added to the autocomplete.json file. This way you could load numerous pattern files into the app and have all the accounts you've ever used available to you.
  • New: Added a "Autocomplete options" button to the top right of the application.
  • New: Added the option to import an account list and vendor list from Quickbooks
  • New: Added a help button that says "How do I create an account or vendor CSV file?" it gives you instructions how to create the file.
  • New: Added a "Clear Autocomplete data" button to the autocomplete options box. When that is pressed you are asked if you want to clear the autocomplete data. If you choose yes it will erase the contents of the autocomplete.json file.
  • Update: Changed the version number from 4.2.1 to 4.3
  • New: Autocomplete added to the "Replace with" field of the pattern editor.
  • New: Unified Autocomplete. The pattern editor and the main app now share the same autocomplete data via autocomplete.json. The pattern file data no longer gets added to the autocomplete when you load the file into the main app but instead when it gets loaded into the pattern editor and when items are being added or updated.
  • Fixed: a bug that would crash the program when a CSV would be opened with the headers not at the top of the file. When clicking on Let me try mapping it, the program would crash.
  • New: Added a button to the mapping app that says, “Why is my data not showing up”. When clicked brings up a box telling people how to open their CSV file and remove the data from the top of the file, to make sure that the headers are at the top.
  • New: Added Shortcut keys
  • New: Updated the donation box and added support for the Cash app and Paypal. Also added buttons for Venmo, CashApp and Paypal.

Compiled EXE and source code on Dropbox

If you find a bug in the "Latest" release, please report it to me. In the meantime, try the release ending in "Previous" on Dropbox.

Files ending in Beta or Alpha are test versions, so there may be bugs.


Last edited:
I still recall how much the world changed when Microsoft introduced Visual Basic.

I was writing the weekly "TechTalk" column for InfoWorld at the time, so the product manager for VB (Nevet Basker) journeyed down to GRC from Redmond to demo their new "thing" for me. It was immediately clear that VB changed the face of programming and I gave it three sequential weekly columns in a row because it was clearly so important. And I recall that one of the techies working for GRC (Millard Ellingsworth, III) saw what Microsoft had done and quite seriously commented: "This is not good. It's going to make it way too easy for people to write programs."

It seems quite clear that while I'm sure we're not there, yet... the idea of having a conversational AI write working code is not far off.
  • Love
Reactions: Warwagon
It seems quite clear that while I'm sure we're not there, yet... the idea of having a conversational AI write working code is not far off.
I would say for very small projects we are already there. I programmed none of this app other than finding and fixing stupidly obvious bugs.
I've used ChatGPT to optimize an already working program in Python I wrote. Since the code was going to run on a battery powered Raspberry Pi, I uploaded the code and asked for it to optimize it for reduced power consumption. What it came back with worked, and I had to ask it about a few changes it made and how they worked.

The modified program didn't change power consumption much, but I did learn a few things from the changes it made.
Flon's Law: There is not now, nor will there ever be, any programming
language in which it is the least bit difficult to write bad code.
Oh my gosh, my program has come a long way since creating this thread. It feels like it just was a baby. I work on it almost every day.

When I first created this thread, I think it was on a very early version of 3.0 (3.0.3) . It's now on version 4.3

I updated the first post with new screenshots, a Reddit post were you can find more info, and a current Dropbox link

This is what has changed since this thread was created.

New: MUCH improved CSV support
New: MUCH Improved QBO support
New: Support of OFX files
New: Unified Autocomplete. The main app and the pattern editor share the same autocomplete.json file in real-time.
New: Redesigned pattern create / load pattern file box
New: Load a tab-delimited file into the pattern editor to import accounts and names.
New: Edit transactions right in the main app
New: A Swap debit and credits button
New: Map by hand a CSV that it says is incompatible.
New: The app now has buttons at the top: YouTube tutorial, Donate, Select all credits except ignore, Select all debits except ignore, Deselet ALL, Set New default account, Show Uncategorized Transactions, Add Names to Pattern File, Swap Debit and Credit, and Autocomplete Options.
New: When opening the app, you can set a default account without using PremierEcorp Debit offset.
New: Import a Vendor and account list into the autocomplete file
New: Added support for transfers
New: A button on the bottom of the app allows you to load a CSV from Quickbooks to uncheck transactions already in Quickbooks.
New: Color-coded pattern file entries based on whether they are Split, matching by mount, Ignored, or if they have transfer checked.
New: Create accounts you wish to use, which you can select from a drop-down box.
New: Load a pattern file into the main app and add transactions directly into the pattern editor.
New: Click a button and show transactions that are still uncategorized.
New: Search transactions listed in the main app.

Last edited: