GNOME Bugzilla – Bug 331439
QuickBooks Import
Last modified: 2018-06-29 20:58:03 UTC
I know this must be a common request, but I can't imagine anything more important to most small business accounting users. I saw the recent survey results, and was initially surprised to see the relatively low numbers of people wanting QB import. Then I realized that the survey was very skewed. This was a survey of existing GnuCash users. If all users of small business accounting had been polled, the huge numbers of people who hate QuickBooks and use it because they are trapped there by the proprietary QB data would have been overwhelming. I honestly believe that the lack of an escape path from QuckBooks is the largest single item keeping small businesses from adopting Linux. I currently use an old version of QuickBooks, running under Linux using CrossOver (commercial version of Wine). The data is secure, but it runs like a dog. The user interface is all messed up and I'm forced to use hot keys because the buttons are usually overwritten. I've been desperate for some way to export the data I have in QB into a native Linux accounting program. There is a commercial Linux accounting application, but I don't care for it nearly as much as GnuCash, and I don't want to convert my accounting data from the popular QB proprietary format to an obscure Linux proprietary format because I'd never escape from there. I don't care whether GnuCash imports the native QB data file, the compressed QB data backup file, or their exported IIF file. As long as I can get my chart of accounts data into GnuCash, I'd be very happy. I'd even be willing to lose payroll data, and even my customer data, but I can't re-enter all the accounting transactions from the last six years. I'd gladly pay US$100 for an easy to install GnuCash that allows me to escape from the QB nightmare. If GnuCash wants to tap a huge market, and especially if GnuCash is interested in a successful commercial version, importing data from QuickBooks is essential, and similar data import from Peach Tree, etc. would be very good features. I have no interest in exporting to a data file that QuickBooks can read. I don't plan on ever going back. Help me Obi Wan Kenobi. You're my only hope.
Thank you for this detailed explanation of your enhancement request. As for the current status: Unfortunately nobody of the current developers is actively planning for such an importing feature, so I'm afraid it won't happen in the very near future. But the infrastructure for importing from yet another file format is certainly in place; someone with a little bit of C knowledge should be able to implement this in a matter of days. Thank you for promising a bounty on this as well. You could help for this yet some more if you could provide some pointers to the actual fileformats that are of interest to you. From what you wrote I understand that there is a "native quickbooks" file format, as well as IIF. Neither is currently supported in gnucash, but can you dig up some file format descriptions for either one? That would at least give an idea on how difficult/easy the implementation would be.
As for IIF: as noted on http://malete.org/Doc/IIF, the IIF format is in general specified by ANSI http://www.niso.org/standards/resources/Z39-2.pdf but it's not totally clear whether these are identical ; detailed field listings for QuickBooks (but IIF?) are here http://www.datablox.com/qb/qbaccnt.htm
I've done a bit of research, both reading the web pages you provided (thanks) and analyzing the IIF files I exported. IIF is worthless. IIF export allows exporting only the structure and supporting data, but no transactions or real accounting data. For example, I can export the structure of the Chart Of Accounts, but there is no journal data describing any transactions between the accounts. I knew exporting from QuickBooks to GnuCash wouldn't be easy. If it was easy, it would have already been done. QuickBooks makes it easy to import data into QuickBooks, but they have no motivation to make it easy for you to leave QuickBooks. In fact, quite the opposite. They use your accounting data to hold you hostage and keep you buying the mandatory QuickBooks upgrades. My best option at this point seems to be reverse engineering the proprietary QBW native data file used by QuickBooks. There are companies that sell data conversion software that will convert QuickBooks proprietary data into other data types that may be easier to import into GnuCash. Here's a US$80 product that will export QuickBooks transaction data to a comma delimited data file (CSV), a tab delimitted data file, or XML. http://www.digitalcows.com/NewExporter.htm Here's a US$150 product called QODBC that allows any ODBC compliant application (Excel, Access, Visual Basic, etc.) to import QuickBooks data via standard SQL queries. It's essentially an ODBC driver for QuickBooks. http://www.qodbc.com/qodbc.htm Here's a read only demo version of the same ODBC driver that is free to try, and is $99 to register. http://downloads-zdnet.com.com/QODBC-Driver-for-QuickBooks/3000-2066_2-10223274.html Here's a US$50 application that converts QIF to OFX. It does this as a two step process, with an excel spreadsheet as the intermediate step. It might be possible to export Excel data from QB and then use this product to export that as OFX data that GnuCash could read. http://www.bigredconsulting.com/aboutofxwriter.htm QuickBooks versions from 2002 forward have had some form of XML export, but I'm not sure if that includes all transactions, or just the same stuff that I can export as an IIF - customer lists, vendor lists, etc. but no transaction data. Microsoft Small Business accounting software can import QuickBooks accounting data, including all transactions. If Microsoft programmers can do it, I know the open source community can do it. http://sba.microsoft.com/migrate.pdf I think the big issue is whether GnuCash wants to grow into a small business accounting application to rival QuickBooks. From my perspective, the answer is "Of course it does!". But GnuCash was developed as an open source alternative to Quicken, and was intended for personal finances. The loyal GnuCash users would probably not want levels of complexity added to implement small business accounting. There really is a strong need for both personal finance software and small business accounting software in the open source world. It seems that GnuCash is already very good at managing personal finances, and it could also serve as the basis for a good and easy to use small business accounting application. GnuBooks, anyone? Users can't tell open source developers what to create. There are many small businesses that want to switch to Linux, but can't because there is no good small business accounting software that can read their years of existing QuickBooks data. That's a shame. It's also a huge commercial market if someone developed a product. Small businesses (like mine) would gladly pay for commercial Linux small business accounting software if it read QuickBooks data, had a reasonable number of features, and was reliable and easy to use. It doesn't need most of the features of QuickBooks. This might be a good time to fork GnuCash, keeping the personal finance version and creating a new version for small business accounting? Features that would be needed include a few simple reports (sales, accounts receivable, etc.), quotes / invoices and purchase orders. It would be an added bonus if users were allowed to keep using the checks and windowed envelopes they were using in QuickBooks. I think GnuCash already does this. Probably the most important feature and the most difficult to implement would be a QuickBooks data import that was easy for the user to do. GnuCash already seems to do almost everything else I really need for my simple small business accounting.
Hi, Yes, the issue of QB Import has come up before, but the reason it's not come up is mostly due to lack of resources. When I first wrote the business features it was to run my consulting business. "Necessity is the mother of all invention." I didn't use QB at all, so I had no personal need for a QB import. Many people have /asked/ for it, but nobody has offered to go an /do/ it. I don't have the time, nor do I have the test data or incentive to do it myself. I don't have QB to see what the data SHOULD look like; I don't have the time to devote to reverse engineering the format; I don't have any personal need myself for the importer. While I completely agree that gnucash really needs something like a QB importer, I'm still at a loss for how to get it done. Until and unless someone donates the importer code I'm afraid it's just a pipe-dream. Don't forget that QB might even change their format over time, and it might be against the DCMA or some other law or contract to reverse-engineer the data format in the US. I'll happily provide guidance to anyone who wants to implement such an importer, providing help from the gnucash side of things. But until some devoted developer decides to do it I'm afraid this is going to remain a pipe dream. I'd love to be proven wrong.
Derek, Thanks for the reply. I expected the situation was very much as you described it. I'd like to reiterate that I'm not trying to obligate anyone to do coding to make my life easier. I knew I was coming at this late in the process, and I had trouble finding information about the previous QB import discussions that I knew had already taken place. I was fishing for a bit of information so I knew how to proceed. I wrote a lot of PC code in the 1980s, but when Windows came into dominance, I lost interest. Lately, I write only microcontroller RISC assembly code, so my PC coding skills are not current. I'd like the ability to import QB data into GnuCash enough that I might still be willing to do the research to figure it out and implement it, although I'd definitely need a lot of help integrating it as a GnuCash import feature. Thanks for offering to help in that area. I have no doubt that the QB data formats have been changing. It'd be more difficult to hold users hostage to a static data format. The way it usually works is to create a new version with a new data format every year or two, write the new version to import data formats from the last three years, and force customers to keep buying upgrades, even if they don't need any new features. It's essentially a software leasing program. I use QuickBooks Pro 2000, running under CrossOver (Wine) on a Linux PC. Other people would want to import a later version of the data, and the need for different data formats would be ongoing. That sounds like a big headache, which is exactly what I think Intuit intended. For now, I'm concentrating on a less direct method of getting my QB data into GnuCash, probably by using a third party data export routine as mentioned in my previous post in this thread. It wouldn't be a simple "one click" QB data import that most users would want, but it would be a lot easier to implement because I wouldn't need to reverse engineer the QBW data format, or worry about different versions of the QBW formats. If I get something working, I'd create a web page with step-by-step instructions. If I bought part of the solution, or the steps were complex, I might even be willing to have people email me their accounting data and I'd convert it for them for free, with no guarantees other than privacy. I'd consider something like that to be a temporary solution. There is a real need for an open source native Linux application similar to QuickBooks, although a lot fewer features would be needed. There is also a need for some convenient and reliable way to move accounting data from QuickBooks, which is by far the most popular small business accounting software. I've heard from several people who say they'd switch their small business to Linux but they can't abandon their QuickBooks data. I've heard the same from PC consultants who can't recommend Linux to their small business clients strictly because of the lack of a QuickBooks compatible accounting solution. I've been very actively trying to convince CrossOver, a commercial version of Wine, to greatly improve their support for QuickBooks, for all the same reasons. Linux needs some type of QuickBooks solution. I'd prefer a native open source program for all the obvious reasons, but running QB in a Windows emulator would suffice for now if it ran well. The current CrossOver 5.0 is no better at running QuickBooks than the previous versions. I use it, but it's barely usable. I wouldn't want to see GnuCash change into complicated business accounting software. I hope that GnuCash can remain an easy to use Quicken compatible product, and can also fork into a separate project with an emphasis on simple small business accounting. Of course, I'm looking in from the outside. The development depends entirely upon the users and developers.
Ok, so just for final records: There are no objections against adding more small business functionality into gnucash. gnucash's modular structure would make it possible to put business functions into a separately loadable module, so that a home-user could still use the same codebase minus the business-related code. So that's not a problem here or at least those are not mutually excluding goals. Nevertheless thank you for the research on posibilities of QuickBook import. Obviously this isn't an easy task. If someone has a description of the file format, it's probably not too difficult anymore, because then it would only be a question of writing a suitable parser and "filling in the data" into the gnucash data structures. From there on, all the code exists in gnucash already. However as Derek already said: None of the current gnucash developers have committed to work on this. But I guess you understood that already. So if there are any further questions about gnucash details, feel free to ask. After we got our 2.0.0 out the door, someone of the developers might also be available for paid work and/or bounties on this feature, but probably not before 2.0.0 is released. And the research on the fileformat has to be done anyway. We will keep this enhancement request open. There won't be any progress before 2.0.0, and we don't know when it will after that.
http://lwn.net/Articles/234412/ states "I tried out QB 2006/7 for the Mac, and discovered that the data files are actually SQLite databases; perhaps they're also SQLite on Windows." As a comment to the article http://lwn.net/Articles/233627/
Thank you for taking the time to explain your enhancement request. The described enhancement is a good proposal and would be an advantage for the software. However, as a volunteer-driven project with limited resources, the GnuCash developers have to set priorities on which features are most likely being worked on in the near future. In that sense, the current GnuCash developers decided not to work on your proposed feature in the next 4-6 months. In case you would like to have this feature implemented in any case, you have the following option: 1. Start to program in gnucash yourself - see http://wiki.gnucash.org/wiki/Development . 2. Convince someone who is not yet part of the GnuCash team to join the team and implement your feature. 3. Pay some of the GnuCash developers to implement your feature - ask on the mailing list gnucash-devel@gnucash.org in that case. Thank you very much. Feel free to file other bugs or enhancement requests that you find, though.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=331439. Please update any external references or bookmarks.