The answer is “not quite”, but I have concerns. This is a complicated issue, so bear with me while I work through it in this article. I’m going to lay out some background info (“what is the SDK and why do I care?”), talk about what Intuit is changing, and make some guesses as to where this is going and how it affects YOU. Intuit is changing things and these changes may be very important to people who use, or recommend, QuickBooks compatible programs.
What is the QuickBooks SDK?
QuickBooks is a very flexible accounting program, but Intuit doesn’t have ALL the features built in that EVERY business might need. To address this there are several ways to access data in QuickBooks:
- Excel Imports and Exports: There are a limited number of places where you can get data into or out of QuickBooks, using Excel. Intuit has been expanding these (Batch Enter Transactions in QuickBooks 2013 for example), but they don’t cover all the bases.
- IIF Imports and Exports: Found in the File/Utilities menu, this is an older method of exchanging data with QuickBooks that you should avoid if possible. It has very poor error checking, and it hasn’t been updated to keep up with new developments in the QuickBooks database since around 2005 (just minor changes since then). When talking to developers, The Sleeter Group always recommends that they do NOT use this method of exchanging data with QuickBooks.
- Custom Reporting: This is an optional ODBC access method that is found in QuickBooks Enterprise. It is complicated to use, and it can only be used to extract data (not import).
- QuickBooks SDK: This is a “software development kit” that was introduced by Intuit to take over from the IIF format. It is a programming interface that can be used to develop add-on programs that can read and update QuickBooks files. There are hundreds of programs available that use the SDK. There are versions of this for QuickBooks for Windows, QuickBooks Online, QuickBooks Point of Sale, and QuickBooks Merchant Services (but not QuickBooks for Mac). Some of these are more fully developed than others (the QuickBooks Online SDK hasn’t been updated for a couple of years, for example).
- Intuit Partner Platform (IPP): This is an “API” (application programming interface) that was introduced by Intuit a few years ago to take over from the SDK. It is a programming interface that can be used to develop add-on programs for QuickBooks for Windows and QuickBooks Online. As it stands now, it provides access only to web based programs.
For an in depth review of the difference between the SDK and IPP interfaces see Chuck Vigeant’s article.
Intuit has testing programs in place for both SDK based programs and IPP based apps. SDK based programs that have been approved are listed in the Intuit Marketplace, although you can find other SDK based apps that haven’t been approved (Intuit charges a fee to be tested) in other places. IPP based programs that have been approved are listed in the Intuit App Center. Intuit collects a fee from the developer for each sale of an IPP app, and you won’t find any apps that use this interface that are NOT listed in the App Center.
Why Should I Care?
If you are using, or recommending, add-on software that works with QuickBooks for Windows, the distinction between these access methods is important. Excel imports and exports are very useful, but very limited in what they can do. IIF should generally be avoided as you run the risk of corrupting your data file. Custom Reporting is limited to Enterprise, and is really only a reporting tool. For the most part, all good QuickBooks add-on products use either the SDK or IPP programming interfaces.
What is the difference between these two approaches?
- In general, the SDK is a desktop programming interface. Most programs are Windows programs that you install on your computer, although there are a number that use the “web connector”, which allows a web based program to access your desktop data.
- The IPP is a web based programming interface. These apps don’t access your QuickBooks desktop data directly. Instead, you have the “Intuit Sync Manager” installed on your desktop, which sends your data to the “cloud” to be stored in the Intuit web servers. The IPP app will interact with that cloud data, which is kept in sync with your desktop data via the Intuit Sync Manager.
You will generally see IPP apps charging you a monthly fee, since Intuit is charging the app developer a monthly fee for each connection to the database. SDK apps are not controlled by Intuit, so the fee structure is entirely up to the developer.
There are over 300 programs in the Intuit Marketplace, and the majority of those are SDK apps. These include programs that you see recommended in many places, such as the Baystate Consulting import and export tools (Transaction Pro Importer, Transaction Pro Exporter), database maintenance tools by Karl Irvin (the Data Transfer Utility and others), CRM products like Results CRM, document management products like SmartVault, inventory products like MiSys and ACCTivate!, reporting tools like QQube, and many more. The SDK has been around since about 2002, so many of these products have been around for a long time.
There are less than 100 apps in the Intuit App Center at this time (but that number is growing). Intuit is strongly recommending that developers work only with the IPP interface, but it has taken them a long time to get this technology settled so it has taken developers longer to take up this approach.
The Sleeter Group has an annual Awesome Application award program that recognizes the best applications each year, and many of these are programs that work with QuickBooks. If you look through the list, just about all of these are SDK programs found in the Intuit Marketplace, rather than being IPP apps found in the Intuit App Center.
So, back to my question – why should I care?
QuickBooks users and recommenders need a wide variety of add-on products. So, looking at the SDK versus IPP, I have a few observations:
- There are many more SDK applications now than IPP applications.
- As it stands NOW, the IPP interface is not fully developed. There are numerous functions that it does not support that the SDK supports. This makes it difficult for some developers to move to the IPP. I’ll use my own company as an example (CCRSoftware) – I have a very popular SDK program that works with assembly items in your QuickBooks database (CCRQBOM), but I cannot convert to the IPP interface because the functions I need are not supported. Other developers have reported the same issues. I asked an Intuit representative “AT THIS TIME, does the IPP environment provide access to all of the data that can be obtained via the SDK?” The answer from Intuit was “The short answer is no and the follow-up response is that there are no current plans to have parity in the near term. We will continue to evaluate the delta though to determine if it is something that should be prioritized.” This means that many very popular and important QuickBooks Compatible programs, such as comprehensive data import/repair tools and reporting tools (amongst others), cannot be developed using the IPP interface at this time.
- The IPP interface is still evolving and that has been a problem for many developers. If you started working with the IPP product back in 2009, you would have had to start all over at least three times because Intuit has made drastic changes in the interface.
- IPP apps require the use of the Intuit Sync Manager, and what we used to call “business profiles” in the App Center. Although it is improving the Intuit Sync Manager has proven to be complicated to support (Intuit is now pushing end user support of this off to the developers), and the “business profiles” can be a complicated mess (I have at least 13 of them, and you can’t delete them once created). If you are a ProAdvisor, these business profiles are closely related to your “company account numbers” in the ProAdvisor site, which is another mess at this time.
- Many IPP developers are unhappy with the technology, and the support they get from Intuit. This is a tough one to prove, as none of the developers I interviewed would go “on the record”. They still have to rely on having a good relationship with Intuit. However, at The Sleeter Group we constantly hear complaints from developers about incomplete API’s, poor response to problem reports, continually changing development platforms, poor communications, and flawed customer billing processes. I’m not finding a lot of happy IPP developers.
There is no doubt that the IPP programming interface is the future for QuickBooks, and they are working hard on improving the IPP development system, but in my mind, at this time, we cannot rely solely on IPP apps to fill all of our needs. There are many good IPP apps now, and more coming, but we still need SDK apps for QuickBooks desktop users.
What is Intuit Changing?
OK, so you are saying “we have the best of both worlds now” – we have both SDK apps that we know and are comfortable with, we have IPP apps that are moving us into the connected future, it’s great! What’s the problem?
To be listed in the Intuit Marketplace you had to apply, and pay a fee. There are two levels of products, Gold and Silver, based on customer reviews and other criteria, and it has always been better to be listed as a Gold level application. However, Intuit recently changed their web site to say:
We are no longer accepting new QBSDK, QBOSDK, QBMSSDK or QBPOSSDK applications for Intuit Marketplace.
Existing applications can no longer upgrade their application status (Silver to Gold…).
This means that no additional SDK applications can be enrolled in the program, no more will be listed in the Intuit Marketplace. This has been the most important source of information for people who are looking for QuickBooks compatible programs, and it is an important source of leads for the developers. Now it is being limited.
In addition, if you go to the Intuit Marketplace to look for applications, IPP apps are always listed before SDK apps. Preference is being given to IPP apps, pushing SDK apps further out of the picture.
Where is All This Heading?
I can only speculate, but I have great concerns over the future of the Intuit Marketplace. Intuit is starting to shut off access to this by SDK developers (no new apps accepted, no ability to move from Silver to Gold). How long will it be until they shut this down altogether?
There will always be alternatives for finding QuickBooks Compatible applications. The Sleeter Group is developing a marketplace for products that it has evaluated (not limited to just QuickBooks compatible apps), and there are other sources.
Note that limiting the Intuit Marketplace is NOT the same as saying that Intuit will stop development of the SDK. Intuit IS continuing to develop the desktop SDK (not the QuickBooks Online SDK), and they are in the process of updating it for QuickBooks 2013 (although a bit late in this support, since QuickBooks 2013 is already shipping). For now, at least, Intuit is continuing to add features that SDK developers need to keep up to date with QuickBooks.
However, I fear the end is near. How long will it be until they discontinue the Intuit Marketplace altogether?