We are currently in the final stages of developing a completely new integration with QuickBooks Online. It’s an exciting new integration that provides much better support for QBO (QuickBooks Online) features.
The first QuickBooks integration we developed was for the QuickBooks Desktop Editions. Specifically this integration uses an underlying XML API called qbXML. We put export messages in a queue and the QuickBooks Web Connector program connects to Flex and pulls down the qbXML request messages which it uses to create the documents in Flex.
Back then, the best way to integrate with QBO was to use the same underlying qbXML API. So, we made a few modifications to our existing qbXML requests and built the necessary service to send data to QBO since you push directly to it (the Web Connector is not used).
However, QBO only supported a subset of the API. Two big things it was missing was the ability to modify a document and to push Purchase Orders. Later on, tax also changed in QBO and the qbXML API just doesn’t support the new tax model well at all. For awhile, I hoped that Intuit would bring the qbXML API up to par with all the features of QBO. But it seemed they were abandoning qbXML completely for QBO and instead were trying to create an online based API that would integrate with both the Desktop and Online Editions. This so called V2 API never seemed very straightforward to me and so we never pulled the trigger on using that API.
Recently, Intuit completely separated the approach for integrating with QB Desktop and QBO. The Desktop Edition is going to be sticking with the qbXML API. For QBO, there is a new V3 REST API that will be used exclusively with QBO. This new V3 REST API is the new integration mechanism this blog post is announcing.
What motivated us to do this now is that fact that Intuit is cutting off the old qbXML API for QBO in mid march 2014. The last week or so I’ve been focused almost exclusively on creating this new integration. Code is in place for sending Invoices, Payments, and Credit Memo’s. Purchase Orders will be coming soon but most likely will not be in the initial release simply because we are focused on first simply replacing what we had with the old API. We still have some plumbing work to complete like the setup connection process to QBO.
Our goal is to roll this out asap. We want to have some early beta testers to test it before we switch everybody over to it. If you are interested in early testing, please contact email@example.com and ask that your email be assigned to Roger.
All in all, this is a good step forward for QuickBooks software. The qbXML API was designed for the Desktop version of QB and was never a very good fit for QB Online. Having distinct API’s for the Desktop and Online editions will allow each application to evolve independently of the other. The cloud model is different and it deserves to take a different roadmap than a desktop application.