QuickBooks SDK Integrations, Cloud Hosting, and the Customer Relationship
Intuit QuickBooks desktop editions are the most popular small business accounting software products on the market, boasting somewhere in the neighborhood of 3.5M users. In contrast to the QuickBooks Online Edition, which has approximately 300,000, desktop QuickBooks still reigns supreme with small business.
While QuickBooks satisfies most of the general business functionality required from a general accounting product, it doesn’t address much else. For this reason, numerous software developers have created the software products – the extensions, integrations, widgets, and tools – that make QuickBooks more useful to the business.
The sheer popularity of the QuickBooks product line has supported the creation of a very large and diverse community of developers who make things that work with QuickBooks. However, as with any attempt to bring like-minded people together, the QuickBooks developer “community” is not all-inclusive, and there are lots of ISVs (independent software developers) out there who aren’t communicating with Intuit frequently, and who aren’t necessarily exposing their solutions through the Intuit marketplace and other Intuit-branded venues. In many cases, these are developers who have line-of-business solutions that represent the operational priority for their business clients, and where the integration to QuickBooks financial is somewhat of an after-thought. In many cases, these solutions rely on QuickBooks only for general back-office account functions, where the GL, AR and AP are all that really matter. The “tough stuff” is done in the line-of-business application.
Most of these types of solutions, as well as many with more complicated functionality or data integration requirements, utilize a method of communicating with QuickBooks developed using the QuickBooks SDK, or software development kit. This SDK was originally introduced as a means to replace the clumsy IIF import facility, an early way to get data into QuickBooks from other systems. The SDK is really a tool kit designed to facilitate desktop application integrations, which is why so many developers use this method. Particularly when an application is intended to be used on the desktop in conjunction with QuickBooks, it makes sense for developers to use an integration method that will allow them to produce the rich experience and seamless re-use of data that the desktop environment allows. The SDK requires that the QuickBooks program be present, and QuickBooks controls access to the data file rather than allowing the 3rd party application to have direct data access.
The new method for integrating with a QuickBooks application is by using the IPP (Intuit Partner Platform) method, which is essentially an API (application programming interface) which simplifies the creation of data streams to and from the QuickBooks database. This method of integration is intended to be serviced by the Intuit Sync Manager (included with QuickBooks), where your data first syncs to Intuit servers, and then connected apps sync from that source. In this case, Intuit acts as the intermediary, hosting the synchronized data and controlling the sync with the QuickBooks database. While this may be much easier in terms of offering stricter standards for QuickBooks data integration, it is not a method which addresses the needs of those solutions requiring an integrated experience involving QuickBooks programs and data, or which have more complex data integration requirements than may be served through the IPP.
Because the QuickBooks SDK has been around for many years, it allowed for very stable QuickBooks-integrated solutions to be developed. In comparison, the IPP is pretty new and has taken Intuit a few tries to get working. For this reason, there is a limited catalogue of solutions available in the Intuit App Center, which is where IPP solutions are promoted. Moving forward, Intuit has stated that the focus will remain on the IPP, with the SDK no longer being a preferred (or supported) method.
The method of integrating with QuickBooks desktop editions matters, especially if you’re looking to bring your business applications to the cloud. Application hosting services is the way to “cloud-enable” desktop solutions, yet not all hosting providers recognize or understand the differences in how applications might integrate with QuickBooks, and what that means to the technical and user environments. Not all applications are created equal, and not all QuickBooks integrations are, either. Some integrations sound simple enough to implement, yet have hidden requirements that make deployment with a host or outsourced infrastructure provider an interesting endeavor to say the least.
Developers using SDK integrations with QuickBooks should make certain that they have thoroughly discussed their solution requirements prior to deploying their applications with any host, particularly with a client-selected provider. Companies experienced in hosting QuickBooks are not necessarily adept at understanding the nuances of SDK-developed integrations, and may minimize the technical requirement to the point of leaving your company and your customer with a bad feeling about hosting. In worst-case scenarios, the software developer loses their customer altogether due to a poor experience with the solution in a hosted environment.
Cooper Mann Consulting is working to help developers and commercial ISVs with QuickBooks-connected solutions get their products to the cloud, and in a way that they can influence and help control the all-important customer experience. Rather than being just one of a few hundred hosted products customers can select from the provider menu of offerings, we believe your solution should be delivered with your values, your message, and your unique service approach. Doing so allows you to keep your arms firmly wrapped around your customers and users, working closely with them as you develop your solutions towards a true SaaS or cloud application model, and easing the transition from desktop to web application delivery and subscription service.
Intuit believes they own the relationship to all QuickBooks customers, and they’re right to the extent that the user relies on QuickBooks for some business functionality. Hosting service providers think they own the customer relationship because they have significant influence over the products accessed from their servers.
Operational support solutions go deeper into the business than any high-level accounting product, and the method of deploying the solution (locally installed or hosted) is an IT issue and nothing more. As a developer or provider of essential solutions which address specific vertical industry or line-of-business needs, and as the company who understands the business of your customer and supplies those solutions that help them perform, don’t you really think you should own that customer relationship? We do.
Want to know more about how Intuit is changing their approach to QuickBooks integration? Read Charlie Russell’s rant: Is Intuit Abandoning QuickBooks SDK Developers?
Read more about QuickBooks cloud hosting: Cloud Hold-Out No More: QuickBooks Desktop Editions in the Cloud
Read more about cloud development: Lessons Learned (or Not): Development and the Cloud