Introduction
What is Snapbooks API?
An API that will help kickstart and make your life easier while working with the QuickBooks Online API.
- Automatically handle OAuth and renewals for you, just make the calls.
- No need for users to enter passwords when your code makes calls to QuickBooks Online.
- Production and development keys
- Simplify calls
- Skip dealing with complicated workflows through services like Zapier
Development Keys
Development keys require you to have a developer sandbox account in the QuickBooks Online API.Sign Up (opens new window)
Requirements
Any language that can make an http call.
QuickBooks Online Setup
If this is your first time setting up a new account in QuickBooks Online, its highly reccomended that you consult with a QuickBooks Expert before starting this journey.
Enter Your Opening Balances (opens new window) do this before starting or this can get messy cleaning up later after you start posting invoices and payments.
Setup Bank Accounts (opens new window)
Tax Setup (opens new window) By default, taxes for Invoices are not setup. Options are to let QuickBooks calculate the tax based on where you ship to, use your own tax method and override QuickBooks, or keep tax off and create an additional line item and code to tax.
Useful Lookup with SQL Command to retrieve Account Settings:
curl -X "POST" "https://snapbooksapi.com/api/v1/query" \
-H 'X-Api-Key: xxx' \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"query": "SELECT * FROM Preferences"
}'
Response from Query (Abbreviated):
{
...
"BookCloseDate": "2019-11-30",
"TaxPrefs": "UsingSalesTax": "false",
...
}
Need help with QuickBooks Online? Find a QuickBooks Professional Advisor
QuickBooksMoxie (opens new window) Advanced Certified Elite Level QuickBooks ProAdvisor with over 20 years of experience and hundreds of satisfied consulting clients.
Snapbooks API Account Creation
Before integrating Snapbooks into your application, you need to create an account (opens new window).
API Requests
All API requests require a X-Api-Key
header. Take a look at the following:
curl -X "POST" "https://snapbooksapi.com/api/v1/query" \
-H 'X-Api-Key: xxx' \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"query": "select * from customer where id = '80'"
}'
axios({
"method": "POST",
"url": "https://snapbooksapi.com/api/v1/query",
"headers": {
"X-Api-Key": "xxx",
"Content-Type": "application/json; charset=utf-8"
},
"data": {
"query": "select * from dd"
}
})
API Responses
Response bodies from Snapbooks look like this:
{
"success": true,
"message": null,
"details": [],
"results": []
}
You can always look at success
and tell whether or not what you have done worked.
You'll also be able to see how many remaining calls you have by looking at the X-Usages
header:
HTTP/1.1 200 OK
X-Usages: 1003/3000
Rate Limits
Each Snapbooks plan is subject to a total amount of calls per month along with QuickBooks' throttling (opens new window) rules.
You will recieve a 429
http response anytime you reach a limit.
QuickBooks Online Status Report
It is a good idea to subsribe to the QuickBooks Online Status Report to get email notifications whenever there is a know issue that Intuit support had identified and is working on. If your users are getting errors or your application is reporting errors to you, you can better communicate what is going on.
QuickBooks Online Status (opens new window) Also, the Intuit Developer Platform Services is a great resource as well.
Intuit Developer Group's Platform Services Dashboard (opens new window)
Customer →