At Intuit’s annual conference, QuickBooks Connect, some details were shared about the latest version of their QuickBooks Online APITrack this API, currently open to partners. Included was a look at the Payroll functionality long desired by Intuit’s developer community.
The v4 API, available in a limited beta with select partners will cross all of the QuickBooks domains to cover use cases such as working with accounting forms and lists, processing payments, refunding charges and managing credit cards and bank accounts. New to the API will be payroll functionality such as the enablement of third-party time tracking and the ability for benefits providers to connect directly to QuickBooks Online(QBO) to provision deductions, benefits and pensions, and sync employee contributions and time by payroll items. Also new is the availability of financial data around sales, purchases, and expenses.
QuickBooks API Moves to GraphQL
Also new is that the v4 API has been built from the ground up using GraphQL. The advantage of this approach according to Intuit’s Director of Engineering, Rajashree Pimpalkhare, is that it allows for developers to make very targeted queries. This helps make it easier for apps to comply to regulations since extra data is not returned in the response payloads. An additional benefit is that by allowing for a single query and limiting the payloads to only the desired data, the API becomes less chatty than its RESTful counterpart.
Of course we’ve seen the connected nature of GraphQL be exploited by bad actors, such as the Facebook/Cambridge Analytica scandal earlier this year. When asked about security concerns during development of the API, Pimpalkhare explained how security cannot happen in just one place.
“We want to protect our customers at multiple levels. So the first level we want to protect our customers is by making sure we only have the right players in the ecosystem and that’s the developers as well as the apps they develop.”
Another important piece occurs when a customer connects to an app. During this step they explicitly give consent for the app to connect to their data. This access is limited to a customer’s data file only and does not extend to any external data that may be contained within the graph.
Pimpalkhare explained that the connection experiences are being changed to give explicit information to the user about what data will be accessed and what the app may use it for. With v4, those experiences are being designed to be more granular and give the customer the ability to approve or deny access to that data.
“We want to get a step further and make sure the customer really understands what it means to give access to data...we want to be the stewards of our customers data.”
Intuit Embraces Open APIs
Recently ProgrammableWeb has covered the trend of a number of API providers restricting or even shutting down their open API program. However, one of the clear themes of QuickBooks Connect is Intuit’s embrace of small developers.
This was seen on the weekend leading up to the event when the Small Business Hackathon was held. 42 teams competed over two days with the goal of building a solution that helps solve real world problems faced by small businesses. Previous winners of the Small Business Hackathon have gone on to compete in Intuit’s annual $100K Small Business App Showdown contest.
I spoke with Alex Barnett, Intuit’s Director of Developer and Partner Platform and he explained how the company views its developer ecosystem.
“QBO is all about solving the most important business problems for our small business customers...we just simply know that we can’t solve all of those problems alone. That’s where developers come in. They come in to solve glaring gaps within QBO or they complement what we do but add additional features, or in some cases those apps are doing almost exactly the same things but with very specific workflows for specific industries. Often in a localized way.”
In looking at the ROI that Intuit realizes from an open API program, Barnett insists that it’s worth considering the end customer benefit. He pointed out how users of third-party apps that integrate with QBO save an estimated 3.5 hours per month due to the automation of processes previously done by hand.
“It helps customers save time when they are using 3rd party apps...We know that when a customer connects to a 3rd party app, they stay with us longer, their retention increases, they’re getting more value out of the platform and they are saving more time.”
Intuit provides an example that running an open API program can still work and can offer value to both developers and providers alike. Asked about the early API strategy, Barnett explained that Intuit started by working with trusted partners on a small set of APIs. That allowed the team to learn what was working and what wasn't and iterate on that. Then over time, the APIs were expanded and released to a wider set of developers.