A Developer's Opinion of the Quickbooks API

By Brandi Hererra in GET/technical Posted Oct 27, 2016

QuickBooks is an accounting program designed for small and mid-size businesses. Intuit, the company behind the QuickBooks API, has made it simple for developers to create apps with API integration that will automate changes to QuickBooks accounts.

QB_developer_banner-01.png

You'll need to start out by making a free Intuit developer account -- there are no fees if you're working with QuickBooks Online. Once you've done this, you'll be able to create apps that work on the cloud. Be aware that Intuit has discontinued support of the QuickBooks Desktop REST API, which reflects how its customers prefer QuickBooks Online over QuickBooks Desktop.

THE INTUIT DEVELOPER COMMUNITY

While there's still an active QuickBooks developer community, be aware that the demographics have changed in the past several years, with Intuit's decision to support the Intuit Partner Platform (IPP) over its original SDK. Critics allege that Intuit focusing on the cloud-based version of its product has made the API less friendly to developers. This, they say, has caused developers to leave for greener pastures.

While the community has changed and may be less active than it used to be, that isn't necessarily a bad thing: it means there's less competition for new tools.

Quickbooks_intuit_logo (2).png

SUPPORT FOR WEBHOOKS

It's just within the last several months that QuickBooks has announced support for webhooks. A webhook is a callback URL that some web APIs use to notify their clients of events. It's easy to configure webhooks within the settings page of a particular app: just add the endpoint URL and select any and all event triggers you want aggregated. 

Many endpoints support webhooks that can be used to track create, update and delete actions as they occur to objects notifying your application. Webhooks keep your app up-to-date with changes (events) at the endpoint.

When your app receives a notification, this will be a POST request with a JSON body. The output will look something like this:

{ "eventNotifications":[
{
"realmId":"1185883450",
"dataChangeEvent":
{
"entities":[
{
"name":"Customer",
"id":"1",
"operation":"Create",
"lastUpdated":"2015-10-05T14:42:19-0700"
},
{
"name":"Vendor",
"id":"1",
"operation":"Create",
"lastUpdated":"2015-10-05T14:42:19-0700"
}]
}
}]
} 
Here, name is the name of the entity type that changed. ID is its ID. Operation is the type of change it underwent, and lastUpdated is the latest timestamp (in UTC). If the operation is a Merge, deleteId is the ID of the deleted and merged entity.
 

A DEVELOPER'S OPINION

Despite acrimony within the developer community over Intuit's focus on the cloud, the QuickBooks API is still good to work within. QuickBooks is a very popular tool with consumers, and Intuit provides extensive support for developers. Plus, Intuit is generally quick to respond to developers' desires, and its choice to drop developer fees for QuickBooks Online makes it very attractive if you're looking for an API to work with.
 

helpful Webhook blogs

The Finance API Integration Guide