Intuit is changing how third-party products work with QuickBooks, and it is apparent to me that Intuit wants developers to work with QuickBooks Online
Some Background
This is a topic that we have talked about often in QuickBooks and Beyond. It is an important topic, because many businesses rely heavily on third party add-on products to make QuickBooks fulfill their needs.
If you aren’t familiar with how third-party products work with QuickBooks, take a look at these articles:
- Evaluating QuickBooks Integration Applications by Bonnie Nagayama
- Why Use QuickBooks Add-ons? by Doug Sleeter
- What is the IPP and how does it compare to the SDK? by Chuck Vigeant
Essentially, there are two programming methods that software developers can use to work with QuickBooks, the SDK for QuickBooks Windows (QBSDK) and Intuit Anywhere (IA). If you don’t use these (or a derivative), you can’t legally access the QuickBooks database.
The QBSDK method has been around for quite a few years, and applications using this method are usually found in the Intuit Marketplace. These are mostly aimed at QuickBooks Desktop (but not the Mac), although there can be products using this for QuickBooks Online. For QuickBooks Desktop these applications are usually working with your database on your desktop or local Server.
Intuit Anywhere has been a bit of a moving target over recent years, with the technologies and product name changing. Applications using this method are found in the Intuit App Center. They can work with QuickBooks Online and QuickBooks Desktop (again, not the Mac), although you have to look at the Intuit products supported by any particular app. If you are using one of these apps with QuickBooks Desktop you will be using the “Sync Manager” to synchronize your database with a copy maintained “in the cloud” on the Intuit servers.
The terminology can get a bit confusing sometimes, as things have evolved over the years. We used to refer to the “IPP” interface as being the new interface, supplanting the QBSDK. Now Intuit has updated things to refer to what we USED to call IPP as Intuit Anywhere, and brought the QBSDK under the Intuit Partner Platform banner. You’ll still see some references to portions of the new interface as “IPP”, which can be a bit confusing.
I’ve been a critic of the the new interface in the past, for a number of reasons:
- Initially I thought that Intuit was going to drop the QBSDK interface altogether (and I complained about that loudly at the time), but so far that hasn’t happened. Lately, Intuit has been slow to update the QBSDK as new features come out in QuickBooks Desktop, but they say that they will continue to support it. I won’t speculate on how long this support will continue, Intuit has publicly said that there are no plans to discontinue it. But they are strongly recommending that developers Intuit Anywhere.
- Part of my problem with Intuit Anywhere (please note – I’m a software developer who produces QBSDK applications) has been that you haven’t been able to access all of the information that is maintained in the QuickBooks database. Even after all these years there are portions of the database that you just cannot access with IA. In my opinion, Intuit has been slow to roll out the features that many software developers need. Note that Intuit is working on resolving this.
- The details of how a developer works with the IPP interface has changed multiple times over the past few years, leading many developers to be frustrated as they have to toss out code they have developed to switch to the latest revision.
- Quite honestly, I am not a fan of the Sync Manager tool that is used to replicate your QuickBooks Desktop database with the “cloud” version of your data, which is what an Intuit Anywhere app will access. In my opinion Intuit should have focused on QuickBooks Online and not wasted as much time as they did with getting this to work with QuickBooks Desktop (but continue to develop and support the QBSDK). The Sync Manager has been a thorn in the side for developers, ProAdvisors and consumers. However, Intuit has been working steadily to resolve these issues, and reliability has been improving.
That is a lot of negatives, but there are positives as well. The method that Intuit had for integrating with QuickBooks Online in the past was very poor, the new method is a great improvement (once all the kinks are worked out). I do believe that an online interface like Intuit Anywhere makes a lot of sense for and online software product like QuickBooks Online. Although they had a rough start in my opinion, they have taken great strides in the past year to resolve problems and improve relations with developers. Things are heading in the right direction, and I’m encouraged, at least as far as QuickBooks Online. The product has improved for QuickBooks Desktop, but I still don’t think that it makes as much sense in that environment.
Changes Coming Soon
So, what are the changes that are coming up from Intuit? Over the next few months Intuit will be rolling out a new database backend for Intuit Anywhere developers, IPP Services V3. Developers that are using the current data services model (V2) will have to retool their product to use V3.
What will IPP Services V3 bring to the developers?
- A simpler approach to working with QuickBooks data, that allows the developer to support both QuickBooks Desktop (Windows) and QuickBooks Online, in the US marketplace. Prior to V3 developers had one set of functions for QuickBooks Desktop, another set for QuickBooks Online. There will be some differences between the Desktop and Online products, of course, but those will be clearly defined and minimized as much as is possible.
-
A global
tax model will allow developers to integrate with QuickBooks Online on a worldwide basis without having to deal with the details of taxes (sales, VAT, etc.) in different countries. - Other “global ready” features such as support for currencies and international addresses.
- The ability to perform batch updates in a single API call. This allows the developer to affect a number of QuickBooks transactions in single procedure, which will lead to greater efficiency.
- An SQL-like query language supported for both QuickBooks Online and QuickBooks Desktop. Again, the efficiencies of having one common interface for both environments, as well as simplifying the amount of information you have to send to the database to get results.
- “Sparse queries and updates”, where you can retrieve and update information in the database without having to provide the entire set of data. Another efficiency issue. For instance, if you want to update just one field in a customer record you don’t have to send the entire customer record, just the information that has changed. This can greatly decrease the time it takes for an app to exchange information with the QuickBooks database.
- Unified error messaging between QuickBooks Desktop and QuickBooks Online. The app developer can expect the same kind of error message regardless of which QuickBooks product is being used.
These are all good improvements that should make Intuit Anywhere more viable, moving forward.
What Does This Mean? The Future is Online!
With these changes it is clear to me that Intuit is pushing developers towards working with QuickBooks Online. According to the information presented by Intuit in a recent developer
As we move towards a “world economy” a software developer must consider markets for their products outside of the US. I’ve noticed a significant increase in sales and queries in my own software products from other countries, such as Canada, England, Australia and the Middle East.
For Intuit Anywhere, if you want to support international products you must develop for QuickBooks Online. The new “global tax model” and other “global ready” features introduced in the V3 database are only available if you are working with QuickBooks Online.
This doesn’t mean that Intuit is abandoning the Desktop product – if you are focused just on the US market, QuickBooks Desktop support is still there. That support may be delayed in comparison to QuickBooks Online, but over time it will catch up.
This doesn’t surprise me at all. Intuit has struggled to get the international versions of QuickBooks Desktop in line with the US version for a number of years. They’ve advanced, but those versions have always lagged behind the US desktop version. With the announcement that QuickBooks Online Goes Global it has been clear that QuickBooks Online is Intuit’s focus for the future.
There will always be developers that are looking just at the US market, so there will always be products that work with QuickBooks Desktop. In addition, in the Desktop environment, Intuit works hard to keep future versions compatible with current versions of third-party add-on programs. So Intuit isn’t abandoning the desktop at this point – but if I were developing new products for QuickBooks, I would be thinking very hard about focusing on QuickBooks Online.