Convert From Ibank To Quicken For Mac

Convert from Quicken for Mac to Quicken for Windows Important: The option to convert data from Quicken for Mac to Quicken for Windows is available, but completing this conversion with a file that contains investment accounts may result in investment data loss. When that turned out to be not much more than a fancy checking account, I took the time to switch to IBank, which is Mac ready, no VM. Really great decision. I used to spend a lot of time playing around with the VM, trying to get the VM to work with my Mac, and Quicken to work with Windows on the VM.

I was wrong.

That’s not something anyone likes to admit, but when I’m wrong, I’m wrong, I’ll admit it.

Some quick background for any readers who are experiencing my personal saga with Macintosh Finance software for the first time. Back in February of 2010, I was terribly frustrated with the direction that Intuit was taking with Quicken for Macintosh, or the lack thereof. I vented that frustration in my article titled, Quicken Essentials 2010 for Mac. Why Bother? I fired up the Macintosh Quicken community. So much so that I got the attention of senior people inside the Intuit organization. I ended up interviewing Aaron Patzer, the GM/VP of Personal Finance at Intuit, and the founder of, which had just been acquired by Intuit. You can read about that interview in my article Intuit Responds – Quicken Essentials 2010 for Mac. That was when I found iBank. I was looking for alternatives to Quicken, and iBank seemed like a good choice. I wrote a review of iBank 3: iBank – Your Quicken Alternative. Finally, I had a decision to make: Quicken Essentials or iBank 3? You can read my conclusion in the article Quicken Essentials for Mac – The Bare Minimum. I recommended that previous Quicken users go ahead and upgrade to Quicken Essentials, which I did. That’s where I was wrong.

This decision has been a year in the making.

Goodbye Quicken, Hello iBank

There’s only one problem. Intuit, with Quicken Essentials 2010 for Macintosh, has stolen your data. They are preventing you, once you’ve converted to Quicken Essentials, from ever exporting your data again for use in any other software, including their own! (no exporting into TurboTax anymore) Intuit is locking you into the Quicken family and there is very little reason why they would ever provide a way back out, other than consumer demand.

  1. @Quicken Harold Import of a Banktivity QIF file was a specific feature aded to Quicken Mac back in the 2016 release. Therefore, it is an appropriate question for a user to ask if Quicken has maintained compatibility with any changes in Banktivity's export format.
  2. Note the Windows program is 32-bit and will not run on your operating system, that is why it has to be run on the server. This just puts the data in a format that Quicken Mac knows how to read and convert into its data file format. Quicken Mac will then use the.QXF file to create your new Quicken Mac data file and delete the.QXF file.

Until now.

I’ve spent the last three weeks doing just that. Moving out of Quicken Essentials and into iBank. It wasn’t easy for me, but it will be a lot easier for you, thanks to some programming magic. Some background on why this is so difficult. I’ve eluded to it in my previous article The Dirty Little Secret in Quicken Essentials…You Lose Your Data, but I want to take a moment to just outline how complex this undertaking was for me. First, Intuit only allows for exporting a single account at a time, and then, only in a “CSV” format. I’ve put “CSV” in quotes, because what Intuit exports isn’t even valid CSV (Comma Separated Values) format. If anyone at Intuit is reading this, please fix the format, it would make it so much easier. Worse than exporting invalid CSV, they’ve also filled the file with lines of data that were not actually in the source file. Things like the type of file, dates, subtotals, totals, balances, filter criteria, basically garbage. The export they perform is more of a Register Report than an actual export of transactional data. That makes it very difficult to programmatically parse. I’m sure that was the whole point of them doing it, but it frustrated me. Finally, they actually fail to export certain key pieces of data. Do you have a split transaction? Does that split have a parent transaction that may have a different Memo from each of the child transactions? Too bad, it’s gone. Quicken Essentials only exports the child transactions in a split, not the parent. I have to re-build the parent based on the totals of the children. Even worse, Quicken Essentials might take the parent transaction Memo and put it on one of the children if that child transaction doesn’t have a Memo, it’s crazy!

Okay, so you know this was hard. Fortunately for you, and me, it works. Let’s get started moving you from Quicken Essentials to iBank 4.

Exporting from Quicken Essentials

The first step in exporting your Quicken Essentials data is to take stock of where you are in the process. I converted all of my Quicken 2007 data into Quicken Essentials. That amounted to 15 years of financial data. I have 78 different accounts and over 20,000 transactions. I did not want to export those a single account at a time. So, my first step was locating my old Quicken 2007 data file, which I did (thank you iDisk!). I then fired up Quicken 2007, opened the old file, and exported the whole thing as a QIF format file, then imported it into iBank 4. This is all a relatively straight-forward exercise, because back when Quicken 2007 came out, Intuit actually supported Macintosh users, sort of. Hopefully you either have your original Quicken 2007 (or earlier) data file or you have the QIF export you made when you converted to Quicken Essentials. If you were a new user to Quicken Essentials and only have about a year’s worth of data in Quicken Essentials, then you can just follow these instructions. If you’re using an old QIF file, go ahead and import that into iBank 4 to get yourself established there. The rest of these instructions assume you have a mixture of data in each account that you want to move into a valid QIF file for importing elsewhere.

Step 1

Select the account from which you wish to export transactions from the left-hand navigation menu in Quicken Essentials. Then set the Transactions being viewed to All Dates:

[![]( 'QETransactionsListed')]( Viewed

Convert From Ibank To Quicken For Mac Catalina

### Step 2

Select the transactions you wish to export. You have two choices here: one, select only the newer transactions if you have already imported some of them into your other program; or two, skip this step entirely to export all of the transactions available in the account.

Step 3

Export the transactions by selecting Export from the File menu. During this step, for reasons unknown to everyone, the Export menu option will only be available if you have a transaction selected, regardless of which account you have selected. If you’re exporting the whole account, just select any single transaction. If you’re exporting just certain transactions, then you already have them selected.

Convert from ibank to quicken for mac os
[![](,w_174/v1480171703/QEExport_jb0mbi.png 'QEExport')]( from File Menu
### Step 4

Set the options for the transaction export. If you are exporting the entire account, make sure it says All visible transactions. If you are only exporting your selected transactions, make sure it says Selected transactions only. Set your export location and file name. Unfortunately, you cannot select any other format for the export besides CSV (Comma Separated Value), even though Intuit made this a drop-down box, no idea why. Click Save when you’re ready to perform the export.

[![](,w_300/v1480171702/QECSV_c3nizt.png 'QECSV')]( Settings
You’ve now got a “CSV” formatted output file of your transactions. Unfortunately, it’s a long way from being usable to most financial programs.


And now without further ado the source code for

[perl collapse=”true” gutter=”true”]

use strict;
use warnings;
use Getopt::Std;
use Switch;
use Text::CSV;
use Tie::File;
use Tie::Handle::CSV;

$Carp::Verbose = 1;
$ =1;

use vars qw/$VERSION $VERBOSE $csv $line %opt/;

sub processSplit;

sub main::VERSION_MESSAGE { print $0.’, Version ‘.$main::VERSION.”n” }
sub main::HELP_MESSAGE { print “Usage: $0 -f

switch ($opt{t}) {
case “Cash” {print QIF “!Type:Cashn”}
case “Bank” {print QIF “!Type:Bankn”}
case “CCard” {print QIF “!Type:CCardn”}
case “Invst” {print QIF “!Type:Invstn”}
case “OthA” {print QIF “!Type:Oth An”}
case “OthL” {print QIF “!Type:Oth Ln”}
else {die “Type not recognized: $opt{t}. Need: Cash,Bank,CCard,Invst,OthA,OthL”}

my $transactions=0;
my $splitTransNum=0;

my $myLineNum=0;

while (my $csv_line = ) {

next if ((exists $csv_line->{‘payee’}) && ($csv_line->{‘payee’} eq “”));

next if ((exists $csv_line->{‘scheduled’}) && ($csv_line->{‘scheduled’} ne “”));

while ((exists $csv_line->{‘split’}) && ($csv_line->{‘split’} eq “S”)) {
$csv_line = processSplit($csv,*QIF,$csv_line);

Convert From Ibank To Quicken For Mac

print QIF “D” . $csv_line->{‘date’} . “n”;

print QIF “P” . $csv_line->{‘payee’} . “n”;

if ((exists $csv_line->{‘category’}) && ($csv_line->{‘category’} eq “”)) {
if ((exists $csv_line->{‘transfer’}) && ($csv_line->{‘transfer’} ne “”)) {
print QIF “L[” . $csv_line->{‘transfer’} . “]n”;
} else {
print QIF “L” . $csv_line->{‘category’} . “n”;

if ((exists $csv_line->{‘check #’}) && ($csv_line->{‘check #’} ne “”)) {
print QIF “N” . $csv_line->{‘check #’} . “n”;

if ((exists $csv_line->{‘payment’}) && ($csv_line->{‘payment’} eq “”)) {
$csv_line->{‘deposit’} =~ tr/$//d;
$csv_line->{‘deposit’} =~ tr/,//d;
print QIF “T” . $csv_line->{‘deposit’} . “n”;
} else {
$csv_line->{‘payment’} =~ tr/$//d;
$csv_line->{‘payment’} =~ tr/,//d;
print QIF “T” . $csv_line->{‘payment’} . “n”;

if ((exists $csv_line->{‘tags’}) && ($csv_line->{‘tags’} ne “”)) {
if ((exists $csv_line->{‘memo/notes’}) && ($csv_line->{‘memo/notes’} eq “”)) {
print QIF “M” . $csv_line->{‘tags’} . “n”;
} else {

print QIF “M” . $csv_line->{‘memo/notes’} . “n”;
} else {

print QIF “M” . $csv_line->{‘memo/notes’} . “n”;

print QIF “C” . $csv_line->{‘reconcile’} . “n”;

print QIF “^n”;
} # end Main processing loop
print “Total CSV Transaction Lines (approximate): ” . $lineCount . “n”;
print “Total Transactions Written to QIF: ” . $transactions . ” (“. $splitTransNum . ” splits)n”;
close CSV;
close QIF;

sub processSplit {
my @splitTrans;
my $numSplits=0;
my $j=0;
my $splitTotal=0;
my ($csvFile, $QIF, $csv_line) = @_; # Parameters from call

while ($csv_line->{‘split’} eq “S”) { # Need to deal with case of back-to-back splits
$splitTrans[$numSplits]->{‘date’} = $csv_line->{‘date’};
$splitTrans[$numSplits]->{‘payee’} = $csv_line->{‘payee’};
$splitTrans[$numSplits]->{‘payment’} = $csv_line->{‘payment’};
$splitTrans[$numSplits]->{‘deposit’} = $csv_line->{‘deposit’};
$splitTrans[$numSplits]->{‘check #’} = $csv_line->{‘check #’};
$splitTrans[$numSplits]->{‘category’} = $csv_line->{‘category’};
$splitTrans[$numSplits]->{‘transfer’} = $csv_line->{‘transfer’};
$splitTrans[$numSplits]->{‘memo/notes’} = $csv_line->{‘memo/notes’};
$splitTrans[$numSplits]->{‘reconcile’} = $csv_line->{‘reconcile’};
$csv_line = ;
last if ($csv_line->{‘payee’} ne $splitTrans[$numSplits-1]->{‘payee’});

for (my $j = 0; $j if ((exists $splitTrans[$j]->{‘payment’}) && ($splitTrans[$j]->{‘payment’} ne “”)) {

$splitTrans[$j]->{‘payment’} =~ tr/$//d;
$splitTrans[$j]->{‘payment’} =~ tr/,//d;
$splitTotal += $splitTrans[$j]->{‘payment’};
if ((exists $splitTrans[$j]->{‘deposit’}) && ($splitTrans[$j]->{‘deposit’} ne “”)) {

$splitTrans[$j]->{‘deposit’} =~ tr/$//d;
$splitTrans[$j]->{‘deposit’} =~ tr/,//d;
$splitTotal += $splitTrans[$j]->{‘deposit’};

print $QIF “D” . $splitTrans[0]->{‘date’} . “n”;

print $QIF “P” . $splitTrans[0]->{‘payee’} . “n”;

print $QIF “T” . $splitTotal . “n”;

print $QIF “C” . $splitTrans[0]->{‘reconcile’} . “n”;

for (my $j = 0; $j # Print category of split
if ((exists $splitTrans[$j]->{‘category’}) && ($splitTrans[$j]->{‘category’} eq “”)) {
if ((exists $splitTrans[$j]->{‘transfer’}) && ($splitTrans[$j]->{‘transfer’} ne “”)) {
print $QIF “S[” . $splitTrans[$j]->{‘transfer’} . “]n”;
} else {
print $QIF “S” . $splitTrans[$j]->{‘category’} . “n”;

if ((exists $splitTrans[$j]->{‘tags’}) && ($splitTrans[$j]->{‘tags’} ne “”)) { # This never works, not sure why
if ((exists $splitTrans[$j]->{‘memo/notes’}) && ($splitTrans[$j]->{‘memo/notes’} eq “”)) {
print $QIF “E” . $splitTrans[$j]->{‘tags’} . “n”;
} else {

print $QIF “E” . $splitTrans[$j]->{‘memo/notes’} . “n”;
} else {

print $QIF “E” . $splitTrans[$j]->{‘memo/notes’} . “n”;

if ((exists $splitTrans[$j]->{‘check #’}) && ($splitTrans[$j]->{‘check #’} ne “”)) {
print $QIF “N” . $splitTrans[$j]->{‘check #’} . “n”;

if ((exists $splitTrans[$j]->{‘payment’}) && ($splitTrans[$j]->{‘payment’} eq “”)) {
print $QIF “$” . $splitTrans[$j]->{‘deposit’} . “n”;
} else {
print $QIF “$” . $splitTrans[$j]->{‘payment’} . “n”;

print $QIF “^n”;
return $csv_line;
} # end processSplit()

How to use

To use my program, you’ll need to first have a working Perl installation. You’ll also need the following Perl modules:

Once you have everything necessary to run the converter, you may use the following syntax:


Where FILENAME is the CSV formatted file you exported and ACCT is the type of account you exported. The account type can be one of the following: Cash, Bank, CCard, Invst, OthA, OthL (only Cash, Bank, and CCard have been implemented, because only these are able to be used in Quicken Essentials). It is very important you select the proper account type, otherwise, the conversion will not complete correctly.

That’s about it. I hope this helps many people escape the binds that Intuit has forced upon us with Quicken Essentials. You need to communicate your dissatisfaction with your wallets. Go try out iBank 4.

If you’re patient, I’m also working on a web service that will implement my code and allow you to convert files here on my blog. That will take a little more time.

Update – 20110220

I just found out that iBank 4 actually supports CSV file importing. So, after you make your CSV files per account, try it out as it may save you some time downloading and getting my Perl script running. Here’s a quick tutorial on it:

First select the account you’re going to import the transactions into. Then select Import… from the File menu.

[![](,w_300/v1480171702/iBankImport_voglci.png 'iBankImport')]( CSV
Select the CSV file you created from Quicken Essentials.
[![](,w_300/v1480171701/iBankSelect_tz5xsh.png 'iBankSelect')]( CSV File
iBank will then bring up the CSV Import Tool with the top of your file listed. Initially this window is WAY too small to use effectively, just drag the window larger using the window handler in the bottom right corner.
[![](,w_300/v1480171700/iBankCSVFirst_jya9cq.png 'iBankCSVFirst')]( iBank CSV Import
You’ll see each of the columns in your file listed. At the top of the file are drop-down menus to select what that column represents. Here’s an example file with the columns selected to match my Quicken Essentials CSV file.
[![](,w_300/v1480171700/iBankCSVDone_s9ykhu.png 'iBankCSVDone')]( CSV Import
Now that you have all of the columns selected, click the **OK** button and iBank will process the transactions and place them in the Transaction Download window.
[![](,w_300/v1480171699/iBankPNCImport_pfa6ym.png 'iBankPNCImport')]( Transaction Import
Transactions that iBank believes are new will have a green check mark, transactions that iBank believes are duplicates will have no checkmark. Scan through the file and make sure it seems correct, then click **Import** and your transactions will be placed in iBank.

There are several issues using the built-in CSV Import tool with iBank that my program does’t have:

  • Quicken Essentials puts Categories in one column and Transfers in another. So, you have to pick one (pick Categories). Unfortunately that means NONE of your transfers will import correctly and you’ll have to manually edit all of them.
  • iBank doesn’t recognize the Split column. So all of your splits will import as separate transactions.
  • iBank doesn’t support Tags, so if you used Tags in Quicken, you’ll lose them all. My program will save the Tags if you didn’t put in a Memo for that transaction.
  • For some reason iBank doesn’t expose the Reconcile column, so none of your transaction statuses will be saved.

If the above issues don’t bother you, than give that a try, as it will certainly save you some time in getting my Perl program running.

Update 2 – 20110221

There seems to be some confusion about an update that Intuit did for Quicken Essentials 2010 for Mac last week. That update, version 1.5.2, allowed provided the following: “You can now export Quicken Essentials for Mac data using the .QXF file transfer format”. You can read the full release notes for Quicken Essentials v1.5.2 here.

The first thing you need to know is that the “.QXF file transfer format” is proprietary to Intuit / Quicken. It is not a file transfer format that anyone else supports. It’s essentially worthless unless you wish to move your data from one Quicken product to another (like from the Quicken Essentials 2010 for Mac to Quicken Premier 2010 for Windows).

The .QFX file transfer format is a relatively open file format based on .OFX. The .QFX format and the .QXF format are totally different. You can read a little bit about QFX here. If Intuit allowed you to export as QFX there would be no reason for this article, but they do not.

Update 3 – 20110307

A reader of this article, Chris, wrote me to point out that Intuit’s Quicken Essentials data format (.quickendata) is a SQLite database. I did a little digging using Mike T’s SQLite Database App and sure enough, the data is all stored in 37 different SQLite tables. You cannot open the .quickendata file directly, as that file is actually just a container for a bunch of data. The SQLite database is actually a file called data inside of that file, and if you use Mike T’s SQLite Database App to open it, then you’ll have to extract it out of the container first (just right-click on it and select Show Package Contents). This opens up several possibilities for developers to reverse engineer the database schema and get a much more accurate translation of your transactions. Stay tuned!

Convert From Ibank To Quicken For Mac Osx

I switched to a Mac in early 2005 and although I don’t see myself ever willingly going back to Windows at home (I use it at work), the one area that makes me wish I was on a PC is personal finance software. I’ve been a Quicken user since 2000 and have enjoyed the benefits of easily tracking my spending, budgeting, online bill pay and cash flow forecasting for almost all of my adult life. I can still remember pondering the switch to Mac and thinking, “oh great, they have Quicken for Mac.” But that was the last time I thought of a product from Intuit in a positive light. Converting from Quicken for PC to Mac was one of the most difficult software migrations I’ve ever done — and I do them for a living. I spent countless hours on the phone with support trying to figure out why my registrars didn’t balance when I imported my qif files — no, Intuit doesn’t support a direct import, but rather you export everything and import it back in. In the end I made the transition and missed the superior PC version of Quicken, holding my breath as Intuit released paid upgrades to its Mac product, only to realize none of my beefs were addressed.

Convert From Ibank To Quicken For Mac Pro

But hey, at least it worked and it had many of the same features I had in the PC world, that was until Lion came along. Faced with the choice to upgrade to Quicken Essentials or to not upgrade to Lion, I bit the bullet and hoped for the best. That hope was unfounded as I lost access to one of my favorite features, online bill pay. For the past 10 years I’ve entered a transaction into Quicken and had it paid by my bank automatically, but not anymore. Now I have to enter the transaction into my bank’s website and then enter it again into Quicken — if I wait for the transaction to clear, which will enter it automatically, I don’t have the ability to forecast my cash flow. That is bad enough, but the budget tool in Quicken Essentials does not work, I won’t go over the details here, but the issues are well documented in the Intuit community forums.

And so last month I decided to get serious about budgeting and while a spreadsheet does a pretty decent job at a high level, tracking my day-to-day spending against the budget on a spreadsheet is anything but workable. At first I tried HomeBudget for the iPhone and while it was ok, I found it tedious to enter each transaction manually since it doesn’t link to my bank account. Then there was the Mint upgrade this month, which added budget features, so I figured now was a time to try it again. Mint is actually pretty good at keeping tracking of spending with a great iPhone app and website. I can quickly open it on the go and categorize my spending and see how I’m doing vs my goals in that category. I haven’t tried it a whole month yet, but I’m hopeful it’ll fit this specific need. The problem is, it only fits this one need, and not all my needs as it doesn’t do cash flow forecasting, at all, or bill pay. I can’t even work on a budget until the month begins — typically I like to get it worked out at least a few days in advanced.

Convert From Ibank To Quicken For Mac Online

So here I am over two years after Quicken Essentials was released realizing that Intuit is never going to fix it, never going to add online bill pay and never going to add an iPhone app that syncs automatically. So instead I’m using four applications to do what I used to do with a single app (bank site for bill pay, Quicken Essentials for cash flow forecasting and reconciliation, Mint to track day-to-day spending, and Google Docs for my monthly budget).