Skip to main content

QuickBooks Connector

QuickBooks QuickBooks is an accounting and payment platform for individuals and businesses. This component allows generating invoices, managing customers, and more within the QuickBooks platform.

API Documentation

This component was built using the QuickBooks Online API Documentation

Connections

OAuth 2.0

Authenticate using OAuth 2.0.

QuickBooks uses OAuth 2.0 to authenticate requests against the QuickBooks Online API.

Prerequisites

Setup Steps

  1. Create an app within the Intuit developer portal.
  2. When creating the app, enter the OAuth callback URL https://oauth2.integrations.acme.com/callback.
    1. Consult QuickBooks OAuth scopes documentation to determine the proper OAuth Scopes to assign.
  3. Once the app has been created, a Client ID and Client Secret will be provided.

Configure the Connection

Create a connection of type QuickBooks OAuth 2.0 and enter:

  • Client ID and Client Secret from the Intuit developer portal
  • Scopes: Set to any of the values in this list
  • Use Sandbox: Enable to connect to the QuickBooks Sandbox for testing without affecting real customer data

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
ScopesA space-delimited set of one or more scopes to request access to QuickBooks resources.com.intuit.quickbooks.accounting
Client IDThe client ID from the QuickBooks developer console, used to identify the application during OAuth authentication.
Client SecretThe client secret from the QuickBooks developer console, used to authenticate the application during OAuth token exchange.
Use SandboxWhen true, requests are sent to the QuickBooks sandbox environment instead of production. Useful for integration testing.false

Triggers

Entity Change Events

Receive webhook notifications from QuickBooks when entity changes occur.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.

Actions

Batch Request

Perform a batch request against the QuickBooks API.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Batch Request ItemsAn array of batch request items to be executed; see https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/batch for detailed information.

Create Invoice

Create a new invoice using individual field inputs.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Customer IDThe ID of the customer to attach to the receipt.
Line ItemsA JSON array of line item objects. Each line item requires a DetailType, Amount, and a detail object matching the type. The most common type is "SalesItemLineDetail" with ItemRef (value is the item ID), Qty, and UnitPrice. Add multiple objects to the array for multiple line items. See QuickBooks documentation for all supported line types.
Customer NameThe name of the customer that will show on the receipt.
Custom FieldsA JSON array of custom field objects. Each object requires DefinitionId (the custom field ID), Type (e.g., "StringType"), and Name (the field label). Leave empty if no custom fields are needed.
Bill EmailThe email address to send the invoice to.
Bill Email CCThe CC email address for the invoice.
Bill Email BCCThe BCC email address for the invoice.
Due DateThe due date of the invoice in YYYY-MM-DD format.
Invoice DateThe transaction date of the invoice in YYYY-MM-DD format.
Document NumberThe reference number for the invoice.
Customer MemoA memo that appears on the invoice sent to the customer.
Private NoteAn internal note that is not visible to the customer.
Sales Term IDThe ID of the sales term (e.g., Net 30) to apply to the invoice.
Apply Tax After DiscountWhen true, applies tax after discount is calculated.false
Billing Address Line 1Line 1 of the billing address.
Billing Address Line 2Line 2 of the billing address.
Billing CityThe city of the billing address.
Billing StateThe state or province of the billing address.
Billing Postal CodeThe postal code of the billing address.
Shipping Address Line 1Line 1 of the shipping address.
Shipping Address Line 2Line 2 of the shipping address.
Shipping CityThe city of the shipping address.
Shipping StateThe state or province of the shipping address.
Shipping Postal CodeThe postal code of the shipping address.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable.
Optional ValuesThe 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.

Create Invoice (JSON)

Create an invoice by providing a raw JSON payload matching the QuickBooks API schema.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
DataA string of JSON data that represents a QuickBooks invoice.

Create Item

Create a new non-inventory item in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Non-Inventory Item DataThe attributes of the non-inventory item to create
API Minor VersionThe minor version of the QuickBooks API to use.

Create Note Attachment

Attach a note to an object.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Entity Reference ValueObject reference to which this attachment is linked. Set this value with the ID of the target object as returned in its response body when queried.
Entity Reference TypeObject reference to which this attachment is linked. Set this value with the specific type of the target object.
NoteThe note is either related to the attachment specified with the FileName attribute, or as a standalone note. Required for note attachments.
API Minor VersionThe minor version of the QuickBooks API to use.75
Include on SendUsed when Entity Reference Type references a transaction object. This field indicates whether or not the attachment is sent with the transaction when Save and Send button is clicked in the QuickBooks UI or when the Send endpoint is invoked for the object.false

Create Purchase Order

Create a new Purchase Order.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
AP Account IDThe AP account to which the bill is credited.
Vendor IDThe vendor referenced in this transaction.
LinesData 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.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable.
Optional ValuesThe 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.

Create Refund Receipt

Create a new Refund Receipt in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Line ItemsA JSON array of line item objects. Each line item requires a DetailType, Amount, and a detail object matching the type. The most common type is "SalesItemLineDetail" with ItemRef (value is the item ID), Qty, and UnitPrice. Add multiple objects to the array for multiple line items. See QuickBooks documentation for all supported line types.
[{
"DetailType": "SalesItemLineDetail",
"Amount": 400.0,
"SalesItemLineDetail": {
"ItemRef": {
"value": "21"
}
}
}]
Custom FieldsA JSON array of custom field objects. Each object requires DefinitionId (the custom field ID), Type (e.g., "StringType"), and Name (the field label). Leave empty if no custom fields are needed.
Optional ValuesThe 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.
Account NameThe name of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.
Account IDThe ID of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.
Billing Line 4Line 4 of the billing address.
Billing Line 3Line 3 of the billing address.
Billing Line 2Line 2 of the billing address.
Billing Line 1Line 1 of the billing address.
Billing Address IDThe unique identifier of the billing address.
Billing LatitudeThe latitude of the billing address.
Billing LongitudeThe longitude of the billing address.

Create Resource

Create a new resource in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Resource AttributesA list of attributes used to create a resource in QuickBooks. For more information refer to https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer.
Resource TypeThe type of QuickBooks resource to operate on.

Create Sales Receipt

Create a new Sales Receipt in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Line ItemsA JSON array of line item objects. Each line item requires a DetailType, Amount, and a detail object matching the type. The most common type is "SalesItemLineDetail" with ItemRef (value is the item ID), Qty, and UnitPrice. Add multiple objects to the array for multiple line items. See QuickBooks documentation for all supported line types.
Custom FieldsA JSON array of custom field objects. Each object requires DefinitionId (the custom field ID), Type (e.g., "StringType"), and Name (the field label). Leave empty if no custom fields are needed.
Apply Tax After DiscountWhen true, applies tax after discount is calculated.false
Create TimeThe date and time when the record was created in ISO 8601 format.
Customer IDThe ID of the customer to attach to the receipt.
Customer NameThe name of the customer that will show on the receipt.
Account NameThe name of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.
Account IDThe ID of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.
Payment Method IDThe ID of the payment method associated with this transaction.
Payment Method NameThe name of the payment method associated with this transaction.

Delete Attachable

Delete an attachable object.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Attachable PayloadThe full payload of the attachable as returned in a read response. Could be a reference from a previously executed "Read Attachable" action response data.
API Minor VersionThe minor version of the QuickBooks API to use.75

Delete Purchase Order

Delete an existing Purchase Order.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Purchase Order IDThe id of the purchase order to delete.
Sync TokenThe sync token of the purchase order to delete.

Delete Refund Receipt

Delete an existing Refund Receipt in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Sync TokenThe sync token of the resource, used for optimistic locking to prevent concurrent update conflicts.
Receipt IDThe unique identifier of the receipt.

Download Attachment

Retrieves a temporary download URL to the specified attachableID.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Attachable IDThe unique identifier of the attachment.
API Minor VersionThe minor version of the QuickBooks API to use.75

Find Resource by ID

Retrieve a resource by ID from QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Resource TypeThe type of QuickBooks resource to operate on.
Resource IDThe primary ID of a resource in QuickBooks.

Get Company Info

Retrieve information about the company.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.

Get Customer By Display Name

Retrieve information about the Customer which matches the given Display Name.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Customer Display NameThe display name of the customer in QuickBooks.

Get Customer By ID

Retrieve information about the Customer which matches the given ID.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Customer IDThe id of the customer to get.

Get Invoice By ID

Retrieve information about the Invoice which matches the given ID.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Invoice IDThe id of the invoice to get.

Get Refund Receipt

Retrieve an existing Refund Receipt from QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Receipt IDThe unique identifier of the receipt.

Get Refund Receipt as PDF

Retrieve an existing Refund Receipt from QuickBooks as a PDF.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Receipt IDThe unique identifier of the receipt.

Get Sales Receipt

Retrieve the information and metadata of a Sales Receipt by ID.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Receipt IDThe unique identifier of the receipt.

Get Vendor Expenses

Retrieve information about vendor expenses.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Query ParamsQuery parameters to filter report results. Available parameters: customer, vendor, end_date, date_macro, class, sort_order, summarize_column_id, department, accounting_method, and start_date.

List Accounts

Retrieve a list of all Accounts.

InputCommentsDefault
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
ConnectionThe QuickBooks connection to use.

List Attachments

Retrieve a list of all Attachments linked to an entity.

InputCommentsDefault
Attachable Entity TypeThe type of the entity that the attachable is linked to.
Attachable Entity IDThe ID of the entity that the attachable is linked to.
ConnectionThe QuickBooks connection to use.

List Customers

Retrieve a list of all Customers.

InputCommentsDefault
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
ConnectionThe QuickBooks connection to use.

List Invoices

Retrieve a list of all Invoices.

InputCommentsDefault
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
ConnectionThe QuickBooks connection to use.

List Purchase Orders

Retrieve a list of all Purchase Orders.

InputCommentsDefault
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
ConnectionThe QuickBooks connection to use.

List Refund Receipts

Retrieve a list of all Refund Receipts.

InputCommentsDefault
Fetch AllWhen true, automatically fetches all pages of results using pagination.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
ConnectionThe QuickBooks connection to use.

Query Resource

Query a QuickBooks resource using their SQL-like data query language.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Query StringMust be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash.
API Minor VersionThe minor version of the QuickBooks API to use.

Raw Request

Send raw HTTP request to QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
URLInput the path only (/invoice), The base URL is already included (https://quickbooks.api.intuit.com/v3/company/1234567890 for production or https://sandbox-quickbooks.api.intuit.com/v3/company/1234567890 for sandbox). For example, to connect to https://quickbooks.api.intuit.com/v3/company/1234567890/invoice, only /invoice is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Read Attachable

Read an attachable object.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Attachable IDThe unique identifier of the attachment.
API Minor VersionThe minor version of the QuickBooks API to use.75

Send Refund Receipt

Send an existing Refund Receipt to the email saved in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Receipt IDThe unique identifier of the receipt.

Send Refund Receipt to Email

Send an existing Refund Receipt in QuickBooks to any email.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Receipt IDThe unique identifier of the receipt.
EmailA valid email address to send the receipt to.

Update Attachable

Update any of the writable fields of an existing attachable object.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Update Request BodyThe request body must include all writable fields of the existing object as returned in a read response. Writable fields omitted from the request body are set to NULL. The ID of the object to update is specified in the request body.
API Minor VersionThe minor version of the QuickBooks API to use.75

Update Purchase Order

Update an existing Purchase Order.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Purchase Order IDThe id of the purchase order to update.
Sync TokenThe sync token of the resource, used for optimistic locking to prevent concurrent update conflicts.
Base RecordReference 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.
AP Account IDThe AP account to which the bill is credited.
Vendor IDThe vendor referenced in this transaction.
LinesData 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.
Dynamic FieldsA field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable.
Optional ValuesThe 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.

Update Refund Receipt

Update the contents of an existing Refund Receipt in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Sync TokenThe sync token of the resource, used for optimistic locking to prevent concurrent update conflicts.
Total AmountThe total amount on the receipt.
Receipt IDThe unique identifier of the receipt.
Line ItemsA JSON array of line item objects. Each line item requires a DetailType, Amount, and a detail object matching the type. The most common type is "SalesItemLineDetail" with ItemRef (value is the item ID), Qty, and UnitPrice. Add multiple objects to the array for multiple line items. See QuickBooks documentation for all supported line types.
[
{
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: {},
},
]
Billing Line 4Line 4 of the billing address.
Billing Line 3Line 3 of the billing address.
Billing Line 2Line 2 of the billing address.
Billing Line 1Line 1 of the billing address.
Billing Address IDThe unique identifier of the billing address.
Billing LatitudeThe latitude of the billing address.
Billing LongitudeThe longitude of the billing address.
Optional ValuesThe 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.
Custom FieldsA JSON array of custom field objects. Each object requires DefinitionId (the custom field ID), Type (e.g., "StringType"), and Name (the field label). Leave empty if no custom fields are needed.

Update Resource

Update a resource in QuickBooks.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Resource AttributesA list of attributes used to create a resource in QuickBooks. For more information refer to https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer.
Resource TypeThe type of QuickBooks resource to operate on.
Sync TokenThe sync token of the resource, used for optimistic locking to prevent concurrent update conflicts.
Resource IDThe primary ID of a resource in QuickBooks.
Resource DataA full map of the resource data to create or update.

Upload Attachment

Upload an attachment to an object.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
FileFile to attach. This should be a reference to a previous step.
File NameThe file name of the attachment.
Entity Reference ValueObject reference to which this attachment is linked. Set this value with the ID of the target object as returned in its response body when queried.
Entity Reference TypeObject reference to which this attachment is linked. Set this value with the specific type of the target object.
NoteThe note is either related to the attachment specified with the FileName attribute, or as a standalone note. Required for note attachments.
API Minor VersionThe minor version of the QuickBooks API to use.75
File TypeThe file type of the attachment.
Include on SendUsed when Entity Reference Type references a transaction object. This field indicates whether or not the attachment is sent with the transaction when Save and Send button is clicked in the QuickBooks UI or when the Send endpoint is invoked for the object.false

Void Invoice

Void an Invoice.

InputCommentsDefault
ConnectionThe QuickBooks connection to use.
Invoice IDThe id of the invoice to void.
Sync TokenThe sync token of the resource, used for optimistic locking to prevent concurrent update conflicts.