Skip to main content

QuickBooks Component

Create and manage customers and invoices within Intuit QuickBooks

Component key: quickbooks

Description#

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.

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.

QuickBooks 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 - as a 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. Create 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.
InputDefaultNotes
Input
Authorize URL
string
/ Required
Hidden Field
Default
https://appcenter.intuit.com/connect/oauth2
Notes
The OAuth 2.0 Authorization URL for Quickbooks
Input
Client ID
string
/ Required
Default
 
Notes
 
Input
Client Secret
password
/ Required
Default
 
Notes
 
Input
Revoke URL
string
/ Required
Hidden Field
Default
https://developer.api.intuit.com/v2/oauth2/tokens/revoke
Notes
The OAuth 2.0 Revocation URL for Quickbooks
Input
Scopes
string
/ Required
Default
com.intuit.quickbooks.accounting
Notes
A space-delimited set of one or more scopes to get the user's permission to access.
Input
Token URL
string
/ Required
Hidden Field
Default
https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
Notes
The OAuth 2.0 Token URL for Quickbooks
Input
Use Sandbox
boolean
/ Required
Default
 
Notes
Choose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.

Actions#

Create a refund receipt#

Create a new Refund Receipt in Quickbooks | key: createRefundReceipt

InputDefaultNotesExample
Input
Account Id
string
Default
 
Notes
Provide a value for the Id of the account to which payment money is deposited. If you do not specify this account, payment is applied to the Undeposited Funds account.
Example
35
Input
Account Name
string
Default
 
Notes
Provide a value for the name of the account to which payment money is deposited. If you do not specify this account, payment is applied to the Undeposited Funds account.
Example
Checking
Input
Billing Address Id
string
Default
 
Notes
Provide the unique identifier of the billing address.
Example
78
Input
Custom Fields
code
Default

[  {    "DefinitionId": "1",    "Type": "StringType",    "Name": "Crew #"  }]
Notes
Specify any optional custom fields to be attached. A custom field is a JavaScript Object that consists of a DefinitionId: String, Type: String, and Name: String. If you don't want to supply any custom fields, simply provide an empty JavaScript Array []
Example
 
Input
Optional Values
string
Key Value List
Default
 
Notes
The names of optional fields and their values to use when creating/updating a record. For example, if you have a custom configured field that is not represented as an input, here you are able to specify its key and assign it a value.
Example
 
Input
Billing Latitude
string
Default
 
Notes
Provide a value for the latitude of the billing address.
Example
40.7489277
Input
Billing Line 1
string
Default
 
Notes
Provide a value for line 1 of the billing address.
Example
Karen Pye
Input
Billing Line 2
string
Default
 
Notes
Provide a value for line 2 of the billing address.
Example
Pye's Cakes
Input
Billing Line 3
string
Default
 
Notes
Provide a value for line 3 of the billing address.
Example
350 Mountain View Dr.
Input
Billing Line 4
string
Default
 
Notes
Provide a value for line 4 of the billing address.
Example
South Orange, NJ 07079
Input
Line Items
code
/ Required
Default
[{      "DetailType": "SalesItemLineDetail",      "Amount": 400.0,      "SalesItemLineDetail": {        "ItemRef": {          "value": "21"        }      }    }]
Notes
For each list item, provide a JavaScript Object that represents an individual line item. Please follow the shape provided in the example. For more information on the line item object refer to the quickbooks documentation: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/salesreceipt#create-a-salesreceipt
Example
 
Input
Billing Longitude
string
Default
 
Notes
Provide a value for the longitude of the billing address.
Example
-74.2609903
Input
Connection
connection
/ Required
Default
 
Notes
 
Example
 

Create a sales receipt#

Create a new Sales Receipt in Quickbooks | key: createReceipt

InputDefaultNotesExample
Input
Account Id
string
Default
 
Notes
Provide a value for the Id of the account to which payment money is deposited. If you do not specify this account, payment is applied to the Undeposited Funds account.
Example
35
Input
Account Name
string
Default
 
Notes
Provide a value for the name of the account to which payment money is deposited. If you do not specify this account, payment is applied to the Undeposited Funds account.
Example
Checking
Input
Apply Tax After Discount
boolean
/ Required
Default
false
Notes
Specify weather or not to apply tax after discount.
Example
 
Input
Create Time
string
Default
 
Notes
Provide a date time value for the point in time this record was created
Example
2014-09-16T14:59:48-07:00
Input
Customer Id
string
Default
false
Notes
Provide a value for the Id of the customer you would like to attach to the receipt.
Example
56
Input
Customer Name
string
Default
 
Notes
Provide a value for the name of the customer that will show on the receipt.
Example
John Doe
Input
Custom Fields
code
Default

[  {    "DefinitionId": "1",    "Type": "StringType",    "Name": "Crew #"  }]
Notes
Specify any optional custom fields to be attached. A custom field is a JavaScript Object that consists of a DefinitionId: String, Type: String, and Name: String. If you don't want to supply any custom fields, simply provide an empty JavaScript Array []
Example
 
Input
Line Items
code
/ Required
Default

[  {    "Description": "Pest Control Services",    "DetailType": "SalesItemLineDetail",    "SalesItemLineDetail": {      "TaxCodeRef": {        "value": "NON"      },      "Qty": 1,      "UnitPrice": 35,      "ItemRef": {        "name": "Pest Control",        "value": "10"      }    },    "LineNum": 1,    "Amount": 35.0,    "Id": "1"  },  {    "DetailType": "SubTotalLineDetail",    "Amount": 337.5,    "SubTotalLineDetail": {}  }]  
Notes
For each list item, provide a JavaScript Object that represents an individual line item. Please follow the shape provided in the example. For more information on the line item object refer to the quickbooks documentation: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/salesreceipt#create-a-salesreceipt
Example
 
Input
Payment Method Id
string
Default
 
Notes
Provide a value for the id of a payment method associated with this transaction.
Example
2
Input
Payment Method Name
string
Default
 
Notes
Provide a value for the name of a payment method associated with this transaction.
Example
Check
Input
Connection
connection
/ Required
Default
 
Notes
 
Example
 

Create Invoice#

Create an Invoice with the specified data | key: createInvoice

InputNotesExample
Input
Data
code
/ Required
Notes
This is a string of JSON data that represents a QuickBooks invoice.
Example
{  "CustomerRef": {    "value": "73",    "name": "John Doe"  },  "TotalAmt": 1100,  "Line": [    {      "Amount": 1100,      "LinkedTxn": [        {          "TxnId": "250",          "TxnType": "CreditMemo"        }      ]    }  ]}
Input
Connection
connection
/ Required
Notes
 
Example
 

Create Resource#

Create a new Resource in Quickbooks | key: createResource

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
Resource Attributes
data
Key Value List
Notes
A list of attributes used to create a resource in Quickbooks
Input
Resource Type
string
/ Required
Notes
 

Delete a refund receipt#

Delete an existing Refund Receipt in Quickbooks | key: deleteRefundReceipt

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101
Input
Sync Token
string
/ Required
Notes
The Sync Token of a resource in Quickbooks
Example
 

Find Resource by Id#

Returns a full Resource in Quickbooks | key: findResource

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
Id
string
/ Required
Notes
The Primary ID of a resource in Quickbooks
Input
Resource Type
string
/ Required
Notes
 

Get a refund receipt#

Get the value of an existing Refund Receipt in Quickbooks | key: getRefundReceipt

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101

Get a refund receipt as PDF#

Get the value of an existing Refund Receipt in Quickbooks as a PDF | key: getRefundReceiptAsPDF

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101

Get Company Info#

Retrieve information about the company | key: getCompanyInfo

InputNotes
Input
Connection
connection
/ Required
Notes
 

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

InputNotesExample
Input
Customer Display Name
string
/ Required
Notes
This represents the customer's display name
Example
Smith Rocket Company
Input
Connection
connection
/ Required
Notes
 
Example
 

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

InputNotesExample
Input
Id
string
/ Required
Notes
This represents a resource's unique ID. It must be an integer number.
Example
1234
Input
Connection
connection
/ Required
Notes
 
Example
 

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

InputNotesExample
Input
Id
string
/ Required
Notes
This represents a resource's unique ID. It must be an integer number.
Example
1234
Input
Connection
connection
/ Required
Notes
 
Example
 

Get Resource#

Retrieve a QuickBooks resource using their SQL-like data query language | key: queryResource

InputNotesExample
Input
API Minor Version
string
Notes
Provide the version of the API you would like to use.
Example
59
Input
Query String
string
/ Required
Notes
Must be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash.
Example
select * from department
Input
Connection
connection
/ Required
Notes
 
Example
 

Get Sales Receipt#

Get the information and metadata of a Sales Receipt by Id | key: getReceipt

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101

Get Vendor Expenses#

Retrieve information about vendor expenses | key: queryVendorExpenses

InputNotes
Input
Query Params
string
Key Value List
Notes
Customize the information returned in the report by specifying query parameters with the query. Listed here are the query parameters available for this report: customer, vendor, end_date, date_macro, class, sort_order, summarize_column_id, department, accounting_method, and start_date
Input
Connection
connection
/ Required
Notes
 

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 Request | key: rawRequest

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Headers
string
Key Value List
Notes
Headers to send as part of the request
Example
 
Input
Post Body
data
Notes
Data to send as the post body; payload will be JSON serialized
Example
 
Input
URL Fragment
string
/ Required
Notes
URL fragment to append to the request
Example
/purchaseorders

Send a refund receipt#

send an existing Refund Receipt to the email saved in Quickbooks | key: sendRefundReceipt

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101

Send a refund receipt#

Send an existing Refund Receipt in Quickbooks to any email | key: sendRefundReceiptToEmail

InputNotesExample
Input
Email
string
/ Required
Notes
Provide a valid email to send the receipt to.
Example
someone@example.com
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Notes
Provide a value for the Id of the receipt.
Example
101

Update refund receipt#

Update the contents of an existing Refund Receipt in Quickbooks | key: updateRefundReceipt

InputDefaultNotesExample
Input
Billing Address Id
string
Default
 
Notes
Provide the unique identifier of the billing address.
Example
78
Input
Custom Fields
code
Default

[  {    "DefinitionId": "1",    "Type": "StringType",    "Name": "Crew #"  }]
Notes
Specify any optional custom fields to be attached. A custom field is a JavaScript Object that consists of a DefinitionId: String, Type: String, and Name: String. If you don't want to supply any custom fields, simply provide an empty JavaScript Array []
Example
 
Input
Optional Values
string
Key Value List
Default
 
Notes
The names of optional fields and their values to use when creating/updating a record. For example, if you have a custom configured field that is not represented as an input, here you are able to specify its key and assign it a value.
Example
 
Input
Billing Latitude
string
Default
 
Notes
Provide a value for the latitude of the billing address.
Example
40.7489277
Input
Billing Line 1
string
Default
 
Notes
Provide a value for line 1 of the billing address.
Example
Karen Pye
Input
Billing Line 2
string
Default
 
Notes
Provide a value for line 2 of the billing address.
Example
Pye's Cakes
Input
Billing Line 3
string
Default
 
Notes
Provide a value for line 3 of the billing address.
Example
350 Mountain View Dr.
Input
Billing Line 4
string
Default
 
Notes
Provide a value for line 4 of the billing address.
Example
South Orange, NJ 07079
Input
Line Items
code
/ Required
Default
[      {        Description: "Refund - Pest control was ineffective",        DetailType: "SalesItemLineDetail",        SalesItemLineDetail: {          TaxCodeRef: {            value: "NON",          },          Qty: 2.5,          UnitPrice: 35,          ItemRef: {            name: "Pest Control",            value: "10",          },        },        LineNum: 1,        Amount: 87.5,        Id: "1",      },      {        DetailType: "SubTotalLineDetail",        Amount: 87.5,        SubTotalLineDetail: {},      },    ]
Notes
For each list item, provide a JavaScript Object that represents an individual line item. Please follow the shape provided in the example. For more information on the line item object refer to the quickbooks documentation: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/salesreceipt#create-a-salesreceipt
Example
 
Input
Billing Longitude
string
Default
 
Notes
Provide a value for the longitude of the billing address.
Example
-74.2609903
Input
Connection
connection
/ Required
Default
 
Notes
 
Example
 
Input
Receipt Id
string
/ Required
Default
 
Notes
Provide a value for the Id of the receipt.
Example
101
Input
Sync Token
string
/ Required
Default
 
Notes
The Sync Token of a resource in Quickbooks
Example
 
Input
Total Amount
string
/ Required
Default
 
Notes
Provide a value for the total amount on the receipt.
Example
150

Update Resource#

Updates a Resource in Quickbooks | key: updateResource

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
Resource Attributes
data
Key Value List
Notes
A list of attributes used to create a resource in Quickbooks
Input
Resource Data
data
Notes
An optional full map of the resource data
Input
Id
string
/ Required
Notes
The Primary ID of a resource in Quickbooks
Input
Resource Type
string
/ Required
Notes
 
Input
Sync Token
string
/ Required
Notes
The Sync Token of a resource in Quickbooks

Void Invoice#

Voids an Invoice | key: voidInvoice

InputNotesExample
Input
Id
string
/ Required
Notes
This represents a resource's unique ID. It must be an integer number.
Example
1234
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Sync Token
string
/ Required
Notes
The Sync Token of a resource in Quickbooks
Example