QuickBooks Component
Create and manage customers and invoices within Intuit QuickBooks
Component key: quickbooks#
DescriptionQuickBooks 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.0QuickBooks 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.
Input | Default | Notes |
---|---|---|
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 receiptCreate a new Refund Receipt in QuickBooks | key: createRefundReceipt
Input | Default | Notes | Example |
---|---|---|---|
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
| 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
| 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 receiptCreate a new Sales Receipt in QuickBooks | key: createReceipt
Input | Default | Notes | Example |
---|---|---|---|
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
| 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
| 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 InvoiceCreate an Invoice with the specified data | key: createInvoice
Input | Notes | Example |
---|---|---|
Input Data code / Required | Notes This is a string of JSON data that represents a QuickBooks invoice. | Example
|
Input Connection connection / Required | Notes | Example |
#
Create Purchase OrderCreate a new Purchase Order | key: createPurchaseOrder
Input | Notes |
---|---|
Input AP Account ID string / Required | Notes The AP account to which the bill is credited |
Input Connection connection / Required | Notes |
Input Dynamic Fields data | Notes A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable. |
Input Optional Values string Key Value List | 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. |
Input Lines data / Required | Notes Data representing line items of Purchase Orders; see 'Line' in QuickBooks' docs at https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/purchaseorder#create-a-purchase-order |
Input Vendor ID string / Required | Notes The Vendor referenced in this transaction |
#
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 ResourceCreate a new Resource in QuickBooks | key: createResource
Input | Notes |
---|---|
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 receiptDelete an existing Refund Receipt in QuickBooks | key: deleteRefundReceipt
Input | Notes | Example |
---|---|---|
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 |
#
Delete Purchase OrderDelete an existing Purchase Order | key: deletePurchaseOrder
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Id string / Required | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Sync Token string / Required | Notes The Sync Token of a resource in QuickBooks | Example |
#
Output Example Payload{ "data": { "PurchaseOrder": { "status": "Deleted", "domain": "QBO", "Id": "125" }, "time": "2015-05-26T14:08:39.858-07:00" }}
#
Find Resource by IdReturns a full Resource in QuickBooks | key: findResource
Input | Notes |
---|---|
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 receiptGet the value of an existing Refund Receipt in QuickBooks | key: getRefundReceipt
Input | Notes | Example |
---|---|---|
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 PDFGet the value of an existing Refund Receipt in QuickBooks as a PDF | key: getRefundReceiptAsPDF
Input | Notes | Example |
---|---|---|
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 InfoRetrieve information about the company | key: getCompanyInfo
Input | Notes |
---|---|
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 NameRetrieve information about the Customer which matches the given Display Name | key: getCustomerByDisplayName
Input | Notes | Example |
---|---|---|
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 IdRetrieve information about the Customer which matches the given id | key: getCustomerById
Input | Notes | Example |
---|---|---|
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 IdRetrieve information about the Invoice which matches the given id | key: getInvoiceById
Input | Notes | Example |
---|---|---|
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 ResourceRetrieve a QuickBooks resource using their SQL-like data query language | key: queryResource
Input | Notes | Example |
---|---|---|
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 |
This action allows for sending queries to the Query endpoint. Please refer to QuickBooks' documentation for building custom queries.
#
Get Sales ReceiptGet the information and metadata of a Sales Receipt by Id | key: getReceipt
Input | Notes | Example |
---|---|---|
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 ExpensesRetrieve information about vendor expenses | key: queryVendorExpenses
Input | Notes |
---|---|
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 RequestSend Raw Request | key: rawRequest
Input | Notes | Example |
---|---|---|
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 receiptsend an existing Refund Receipt to the email saved in QuickBooks | key: sendRefundReceipt
Input | Notes | Example |
---|---|---|
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 receiptSend an existing Refund Receipt in QuickBooks to any email | key: sendRefundReceiptToEmail
Input | Notes | Example |
---|---|---|
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 Purchase OrderUpdate an existing Purchase Order | key: updatePurchaseOrder
Input | Notes | Example |
---|---|---|
Input AP Account ID string | Notes The AP account to which the bill is credited | Example |
Input Base Record data | Notes Reference the existing record (from 'Get Resource' or other action) or desired base record; QuickBooks only does 'full' updates and treats unspecified keys as clearing out that field | Example |
Input Connection connection / Required | Notes | Example |
Input Dynamic Fields data | Notes A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable. | Example |
Input Optional Values string Key Value List | 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 Id string / Required | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Lines data | Notes Data representing line items of Purchase Orders; see 'Line' in QuickBooks' docs at https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/purchaseorder#create-a-purchase-order | Example |
Input Sync Token string / Required | Notes The Sync Token of a resource in QuickBooks | Example |
Input Vendor ID string | Notes The Vendor referenced in this transaction | Example |
#
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 receiptUpdate the contents of an existing Refund Receipt in QuickBooks | key: updateRefundReceipt
Input | Default | Notes | Example |
---|---|---|---|
Input Billing Address Id string | Default | Notes Provide the unique identifier of the billing address. | Example 78 |
Input Custom Fields code | Default
| 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
| 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 ResourceUpdates a Resource in QuickBooks | key: updateResource
Input | Notes |
---|---|
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 InvoiceVoids an Invoice | key: voidInvoice
Input | Notes | Example |
---|---|---|
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 |