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 authorizeUrl | Default https://appcenter.intuit.com/connect/oauth2 | Notes The OAuth 2.0 Authorization URL for QuickBooks |
Input Client ID string / Required clientId | Default | Notes |
Input Client Secret password / Required clientSecret | Default | Notes |
Input Revoke URL string / Required Hidden Field revokeUrl | Default https://developer.api.intuit.com/v2/oauth2/tokens/revoke | Notes The OAuth 2.0 Revocation URL for QuickBooks |
Input Scopes string / Required scopes | 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 tokenUrl | Default https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer | Notes The OAuth 2.0 Token URL for QuickBooks |
Input Use Sandbox boolean / Required useSandbox | 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 accountId | 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 accountName | 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 billingAddressId | Default | Notes Provide the unique identifier of the billing address. | Example 78 |
Input Custom Fields code customFields | 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 fieldValues | 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 lat | Default | Notes Provide a value for the latitude of the billing address. | Example 40.7489277 |
Input Billing Line 1 string line1 | Default | Notes Provide a value for line 1 of the billing address. | Example Karen Pye |
Input Billing Line 2 string line2 | Default | Notes Provide a value for line 2 of the billing address. | Example Pye's Cakes |
Input Billing Line 3 string line3 | Default | Notes Provide a value for line 3 of the billing address. | Example 350 Mountain View Dr. |
Input Billing Line 4 string line4 | Default | Notes Provide a value for line 4 of the billing address. | Example South Orange, NJ 07079 |
Input Line Items code / Required lineItems | 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 long | Default | Notes Provide a value for the longitude of the billing address. | Example -74.2609903 |
Input Connection connection / Required quickbooksConnection | Default | Notes | Example |
#
Create a sales receiptCreate a new Sales Receipt in QuickBooks | key: createReceipt
Input | Default | Notes | Example |
---|---|---|---|
Input Account Id string accountId | 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 accountName | 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 applyTaxAfterDiscount | Default false | Notes Specify weather or not to apply tax after discount. | Example |
Input Create Time string createTime | 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 customerId | 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 customerName | Default | Notes Provide a value for the name of the customer that will show on the receipt. | Example John Doe |
Input Custom Fields code customFields | 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 lineItems | 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 paymentMethodId | Default | Notes Provide a value for the id of a payment method associated with this transaction. | Example 2 |
Input Payment Method Name string paymentMethodName | Default | Notes Provide a value for the name of a payment method associated with this transaction. | Example Check |
Input Connection connection / Required quickbooksConnection | Default | Notes | Example |
#
Create InvoiceCreate an Invoice with the specified data | key: createInvoice
Input | Notes | Example |
---|---|---|
Input Data code / Required data | Notes This is a string of JSON data that represents a QuickBooks invoice. | Example
|
Input Connection connection / Required quickbooksConnection | Notes | Example |
#
Create Purchase OrderCreate a new Purchase Order | key: createPurchaseOrder
Input | Notes |
---|---|
Input AP Account ID string / Required apAccountId | Notes The AP account to which the bill is credited |
Input Connection connection / Required connection | Notes |
Input Dynamic Fields data dynamicValues | 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 fieldValues | 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 lines | 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 vendorId | 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 quickbooksConnection | Notes |
Input Resource Attributes data Key Value List resourceAttributes | Notes A list of attributes used to create a resource in QuickBooks |
Input Resource Type string / Required resourceType | Notes |
#
Delete a refund receiptDelete an existing Refund Receipt in QuickBooks | key: deleteRefundReceipt
Input | Notes | Example |
---|---|---|
Input Connection connection / Required quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | Notes Provide a value for the Id of the receipt. | Example 101 |
Input Sync Token string / Required syncToken | 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 connection | Notes | Example |
Input Id string / Required id | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Sync Token string / Required syncToken | 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 quickbooksConnection | Notes |
Input Id string / Required resourceId | Notes The Primary ID of a resource in QuickBooks |
Input Resource Type string / Required resourceType | Notes |
#
Get a refund receiptGet the value of an existing Refund Receipt in QuickBooks | key: getRefundReceipt
Input | Notes | Example |
---|---|---|
Input Connection connection / Required quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | 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 quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | 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 quickbooksConnection | 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 customerDisplayName | Notes This represents the customer's display name | Example Smith Rocket Company |
Input Connection connection / Required quickbooksConnection | 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 id | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Connection connection / Required quickbooksConnection | 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 id | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Connection connection / Required quickbooksConnection | Notes | Example |
#
Get ResourceRetrieve a QuickBooks resource using their SQL-like data query language | key: queryResource
Input | Notes | Example |
---|---|---|
Input API Minor Version string minorVersion | Notes Provide the version of the API you would like to use. | Example 59 |
Input Query String string / Required queryString | 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 quickbooksConnection | 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 quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | 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 queryParams | 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 quickbooksConnection | 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 connection | Notes | Example |
Input Headers string Key Value List headers | Notes Headers to send as part of the request | Example |
Input Post Body data postBody | Notes Data to send as the post body; payload will be JSON serialized | Example |
Input URL Fragment string / Required urlFragment | 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 quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | 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 email | Notes Provide a valid email to send the receipt to. | Example someone@example.com |
Input Connection connection / Required quickbooksConnection | Notes | Example |
Input Receipt Id string / Required receiptId | 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 apAccountId | Notes The AP account to which the bill is credited | Example |
Input Base Record data baseRecord | 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 connection | Notes | Example |
Input Dynamic Fields data dynamicValues | 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 fieldValues | 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 id | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Lines data lines | 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 syncToken | Notes The Sync Token of a resource in QuickBooks | Example |
Input Vendor ID string vendorId | 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 billingAddressId | Default | Notes Provide the unique identifier of the billing address. | Example 78 |
Input Custom Fields code customFields | 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 fieldValues | 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 lat | Default | Notes Provide a value for the latitude of the billing address. | Example 40.7489277 |
Input Billing Line 1 string line1 | Default | Notes Provide a value for line 1 of the billing address. | Example Karen Pye |
Input Billing Line 2 string line2 | Default | Notes Provide a value for line 2 of the billing address. | Example Pye's Cakes |
Input Billing Line 3 string line3 | Default | Notes Provide a value for line 3 of the billing address. | Example 350 Mountain View Dr. |
Input Billing Line 4 string line4 | Default | Notes Provide a value for line 4 of the billing address. | Example South Orange, NJ 07079 |
Input Line Items code / Required lineItems | 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 long | Default | Notes Provide a value for the longitude of the billing address. | Example -74.2609903 |
Input Connection connection / Required quickbooksConnection | Default | Notes | Example |
Input Receipt Id string / Required receiptId | Default | Notes Provide a value for the Id of the receipt. | Example 101 |
Input Sync Token string / Required syncToken | Default | Notes The Sync Token of a resource in QuickBooks | Example |
Input Total Amount string / Required totalAmount | 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 quickbooksConnection | Notes |
Input Resource Attributes data Key Value List resourceAttributes | Notes A list of attributes used to create a resource in QuickBooks |
Input Resource Data data resourceData | Notes An optional full map of the resource data |
Input Id string / Required resourceId | Notes The Primary ID of a resource in QuickBooks |
Input Resource Type string / Required resourceType | Notes |
Input Sync Token string / Required syncToken | Notes The Sync Token of a resource in QuickBooks |
#
Void InvoiceVoids an Invoice | key: voidInvoice
Input | Notes | Example |
---|---|---|
Input Id string / Required id | Notes This represents a resource's unique ID. It must be an integer number. | Example 1234 |
Input Connection connection / Required quickbooksConnection | Notes | Example |
Input Sync Token string / Required syncToken | Notes The Sync Token of a resource in QuickBooks | Example |