QuickBooks Component
Create and manage customers and invoices within Intuit QuickBooks
Component key: quickbooksDescription
QuickBooks is an accounting and payment platform for individuals and businesses. This component allows you to generate invoices, manage customers, and more within the QuickBooks platform.
API Documentation
This component was built using the QuickBooks Online API Documentation
The QuickBooks Sandbox allows developers to develop and test integrations without affecting real customer data. You can point your integrations at this sandbox as you assemble them.
Connections
QuickBooks OAuth 2.0
QuickBooks uses OAuth 2.0 to authenticate requests against the QuickBooks Online API.
- To configure an OAuth 2.0 credential through QuickBooks, you will need to create an app within the Intuit developer portal.
- When you create your app, be sure to enter Prismatic's OAuth callback URL
https://oauth2.prismatic.io/callback
for US based integrations.- For integrations outside the US refer to this guide to find your region’s Callback URL.
- Consult QuickBooks to determine the proper OAuth Scopes to assign.
- Once the app has been created, you will be provided with a Client ID and Client Secret.
- Now, configure OAuth 2.0 settings in Prismatic. C1. reate a new credential of type OAuth 2.0 - Authorization Code.
- Enter the Client ID and Client Secret that you received from the Intuit developer portal.
- Set Scopes to any of the values in this list.
Actions
Batch Request
Perform a batch request | key: batchRequest
Output Example Payload
{
"data": {
"BatchItemResponse": [
{
"Fault": {
"type": "ValidationFault",
"Error": [
{
"Message": "Stale Object Error",
"code": "5010",
"Detail": "Stale Object Error : You and root were working on this at the same time. root finished before you did, so your work was not saved.",
"element": ""
}
]
},
"bId": "bid1"
},
{
"bId": "bid2",
"QueryResponse": {
"SalesReceipt": [
{
"TxnDate": "2015-08-25",
"domain": "QBO",
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"PrintStatus": "NotSet",
"PaymentRefNum": "10264",
"TotalAmt": 337.5,
"Line": [
{
"Description": "Custom Design",
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"TaxCodeRef": {
"value": "NON"
},
"Qty": 4.5,
"UnitPrice": 75,
"ItemRef": {
"name": "Design",
"value": "4"
}
},
"LineNum": 1,
"Amount": 337.5,
"Id": "1"
},
{
"DetailType": "SubTotalLineDetail",
"Amount": 337.5,
"SubTotalLineDetail": {}
}
],
"ApplyTaxAfterDiscount": false,
"DocNumber": "1003",
"PrivateNote": "A private note.",
"sparse": false,
"DepositToAccountRef": {
"name": "Checking",
"value": "35"
},
"CustomerMemo": {
"value": "Thank you for your business and have a great day!"
},
"Balance": 0,
"CustomerRef": {
"name": "Dylan Sollfrank",
"value": "6"
},
"TxnTaxDetail": {
"TotalTax": 0
},
"SyncToken": "1",
"PaymentMethodRef": {
"name": "Check",
"value": "2"
},
"EmailStatus": "NotSet",
"BillAddr": {
"Lat": "INVALID",
"Long": "INVALID",
"Id": "49",
"Line1": "Dylan Sollfrank"
},
"MetaData": {
"CreateTime": "2015-08-27T14:59:48-07:00",
"LastUpdatedTime": "2016-04-15T09:01:10-07:00"
},
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
],
"Id": "11"
}
],
"startPosition": 1,
"maxResults": 1
}
}
],
"time": "2016-04-15T09:01:18.141-07:00"
}
}
Create a refund receipt
Create a new Refund Receipt in QuickBooks | key: createRefundReceipt
Create a sales receipt
Create a new Sales Receipt in QuickBooks | key: createReceipt
Create Invoice
Create an Invoice with the specified data | key: createInvoice
Create Note Attachment
Use this endpoint to attach a note to an object. | key: createNoteAttachment
Create Purchase Order
Create a new Purchase Order | key: createPurchaseOrder
Output Example Payload
{
"data": {
"PurchaseOrder": {
"DocNumber": "1005",
"SyncToken": "0",
"POEmail": {
"Address": "send_email@intuit.com"
},
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"TxnDate": "2015-07-28",
"TotalAmt": 25,
"ShipAddr": {
"Line4": "Half Moon Bay, CA 94213",
"Line3": "65 Ocean Dr.",
"Id": "121",
"Line1": "Grace Pariente",
"Line2": "Cool Cars"
},
"domain": "QBO",
"Id": "257",
"POStatus": "Open",
"sparse": false,
"EmailStatus": "NotSet",
"VendorRef": {
"name": "Hicks Hardware",
"value": "41"
},
"Line": [
{
"DetailType": "ItemBasedExpenseLineDetail",
"Amount": 25,
"Id": "1",
"ItemBasedExpenseLineDetail": {
"ItemRef": {
"name": "Garden Supplies",
"value": "38"
},
"CustomerRef": {
"name": "Cool Cars",
"value": "3"
},
"Qty": 1,
"TaxCodeRef": {
"value": "NON"
},
"BillableStatus": "NotBillable",
"UnitPrice": 25
}
}
],
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
},
{
"DefinitionId": "2",
"Type": "StringType",
"Name": "Sales Rep"
}
],
"VendorAddr": {
"Line4": "Middlefield, CA 94303",
"Line3": "42 Main St.",
"Id": "120",
"Line1": "Geoff Hicks",
"Line2": "Hicks Hardware"
},
"MetaData": {
"CreateTime": "2015-07-28T16:01:47-07:00",
"LastUpdatedTime": "2015-07-28T16:01:47-07:00"
}
},
"time": "2015-07-28T16:04:49.874-07:00"
}
}
Create Resource
Create a new Resource in QuickBooks | key: createResource
Delete a refund receipt
Delete an existing Refund Receipt in QuickBooks | key: deleteRefundReceipt
Delete Attachable
This operation deletes an attachable object. | key: deleteAttachable
Delete Purchase Order
Delete an existing Purchase Order | key: deletePurchaseOrder
Output Example Payload
{
"data": {
"PurchaseOrder": {
"status": "Deleted",
"domain": "QBO",
"Id": "125"
},
"time": "2015-05-26T14:08:39.858-07:00"
}
}
Download Attachment
Retrieves a temporary download URL to the specified attachableID. | key: downloadAttachment
Find Resource by Id
Returns a full Resource in QuickBooks | key: findResource
Get a refund receipt
Get the value of an existing Refund Receipt in QuickBooks | key: getRefundReceipt
Get a refund receipt as PDF
Get the value of an existing Refund Receipt in QuickBooks as a PDF | key: getRefundReceiptAsPDF
Get Company Info
Retrieve information about the company | key: getCompanyInfo
Output Example Payload
{
"data": {
"CompanyName": "Example Corp",
"Id": "1234",
"SyncToken": "exampleSyncToken",
"CompanyAddr": {
"City": "Mountain View",
"Country": "USA",
"CountrySubDviisionCode": "CA",
"Line1": "2500 Garcia Ave",
"PostalCode": "94043"
}
}
}
Get Customer By Display Name
Retrieve information about the Customer which matches the given Display Name | key: getCustomerByDisplayName
Output Example Payload
{
"data": {
"Id": "exampleId",
"SyncToken": "asdf123",
"MetaData": {},
"EmailMessagesPrefs": {},
"ProductAndServicesPrefs": {},
"ReportPrefs": {}
}
}
Get Customer By Id
Retrieve information about the Customer which matches the given id | key: getCustomerById
Output Example Payload
{
"data": {
"Id": "exampleId",
"SyncToken": "asdf123",
"MetaData": {},
"EmailMessagesPrefs": {},
"ProductAndServicesPrefs": {},
"ReportPrefs": {}
}
}
Get Invoice By Id
Retrieve information about the Invoice which matches the given id | key: getInvoiceById
Get Resource
Retrieve a QuickBooks resource using their SQL-like data query language | key: queryResource
This action allows for sending queries to the Query endpoint. Please refer to QuickBooks' documentation for building custom queries.
Get Sales Receipt
Get the information and metadata of a Sales Receipt by Id | key: getReceipt
Get Vendor Expenses
Retrieve information about vendor expenses | key: queryVendorExpenses
This action wraps QuickBooks' Query a Report API endpoint.
Query parameters can be added to filter results by customer
, vendor
, department
, accounting_method
, or class
.
Keys summarize_column_by
and sort_order
determine how the result should be structured.
You can also specify a date_macro
, or a combination of a start_date
and end_date
(both need to be specified) to get expenses from a particular date range.
Raw Request
Send raw HTTP request to QuickBooks | key: rawRequest
Read an Attachable
Read one attachable | key: readAnAttachable
Send a refund receipt
send an existing Refund Receipt to the email saved in QuickBooks | key: sendRefundReceipt
Send a refund receipt
Send an existing Refund Receipt in QuickBooks to any email | key: sendRefundReceiptToEmail
Update Attachable
Update any of the writable fields of an existing attachable object. | key: updateAttachable
Update Purchase Order
Update an existing Purchase Order | key: updatePurchaseOrder
Output Example Payload
{
"data": {
"PurchaseOrder": {
"DocNumber": "1005",
"SyncToken": "0",
"POEmail": {
"Address": "send_email@intuit.com"
},
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"TxnDate": "2015-07-28",
"TotalAmt": 25,
"ShipAddr": {
"Line4": "Half Moon Bay, CA 94213",
"Line3": "65 Ocean Dr.",
"Id": "121",
"Line1": "Grace Pariente",
"Line2": "Cool Cars"
},
"domain": "QBO",
"Id": "257",
"POStatus": "Open",
"sparse": false,
"EmailStatus": "NotSet",
"VendorRef": {
"name": "Hicks Hardware",
"value": "41"
},
"Line": [
{
"DetailType": "ItemBasedExpenseLineDetail",
"Amount": 25,
"Id": "1",
"ItemBasedExpenseLineDetail": {
"ItemRef": {
"name": "Garden Supplies",
"value": "38"
},
"CustomerRef": {
"name": "Cool Cars",
"value": "3"
},
"Qty": 1,
"TaxCodeRef": {
"value": "NON"
},
"BillableStatus": "NotBillable",
"UnitPrice": 25
}
}
],
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
},
{
"DefinitionId": "2",
"Type": "StringType",
"Name": "Sales Rep"
}
],
"VendorAddr": {
"Line4": "Middlefield, CA 94303",
"Line3": "42 Main St.",
"Id": "120",
"Line1": "Geoff Hicks",
"Line2": "Hicks Hardware"
},
"MetaData": {
"CreateTime": "2015-07-28T16:01:47-07:00",
"LastUpdatedTime": "2015-07-28T16:01:47-07:00"
}
},
"time": "2015-07-28T16:04:49.874-07:00"
}
}
Update refund receipt
Update the contents of an existing Refund Receipt in QuickBooks | key: updateRefundReceipt
Update Resource
Updates a Resource in QuickBooks | key: updateResource
Upload Attachment
Upload one attachment | key: uploadAttachment
Void Invoice
Voids an Invoice | key: voidInvoice