If you are new to developing for the QuickBooks API you will need to create a QB app to work with.  Fortunately this is quite easy to do.

You will need an Intuit Developers Account, so if you do not have one create one now.

Once you are signed in, click on the Dashboard link at the top to see all of your apps.  Though your list will probably be empty, to the right is what the list will look like.

To get started creating your app, just push the “Create an app” button.

There is only one type of app to create at this point – a QuickBooks Online and Payments app.  Click the big button.

You can now give your app a name.  There are certain rules you need to follow when naming an app, mainly you cannot use the characters < > \ ” and you cannot use certain strings in the name, such as

  • QuickBooks
  • QB
  • ProAdvisor
  • Intuit
  • Turbo
  • Mint

You may pick either or both of the scopes that are provided.  The top one (com.intuit.quickbooks.accounting) is the most common and grants permission for interacting with the accounting system.  Intuit also offers a payment api which you can access with the second option.

Once you’ve chosen your app name and scope, just press the Create App button and your app is created.

To use the app there are some bits of information you will need for nearly anything you want to do.  On the left of the screen click on “Keys and credentials” to see the Client ID and Client Secret.  You will need these for interacting with any QB company so put them in a safe place.  Needless to say, the Client Secret is secret – “keep it secret, keep it safe”.

The Redirect URIs are callback URIs that the QB OAuth system uses when a caller requests an authorization code.  In order for an application to login to the QuickBooks API you must add a URI that is capable of receiving an HTTPS request from Intuit.

It is possible to test an application without adding the Redirect URI, but it gets tedious quite quickly.  In the OAuth Playground you can navigate through to get an access token which is needed in all QuickBooks API calls.  Note that Access Tokens are only valid for 60 minutes so to test without a Redirect URI setup you must manually refresh the access token in your app every 60 minutes.

The default Redirect URI value allows the Intuit OAuth Playground to function, so do not remove that.

Finally, you can setup any Webhooks your app needs.  The Webhook Endpoint URL is an address that can receive a POST request containing information on activity that has occurred in the QuickBooks company the app is attached to.  Setting the Webhooks is not required when creating an app.