Skip to main content

QuickBooks Connector

QuickBooks Create and manage customers and invoices within Intuit QuickBooks

Connections

QuickBooks OAuth 2.0

Authenticate requests to QuickBooks using values obtained from the Developer Console.

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

  1. To configure an OAuth 2.0 credential through QuickBooks, you will need to create an app within the Intuit developer portal.
  2. When you create your app, be sure to enter the OAuth callback URL https://oauth2.integrations.acme.com/callback.
    1. Consult QuickBooks to determine the proper OAuth Scopes to assign.
  3. Once the app has been created, you will be provided with a Client ID and Client Secret.
  4. Now, configure OAuth 2.0 settings.
  5. Create a new credential of type OAuth 2.0 - Authorization Code.
  6. Enter the Client ID and Client Secret that you received from the Intuit developer portal.
  7. Set Scopes to any of the values in this list.

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 get the user's permission to access.com.intuit.quickbooks.accounting
Client ID
Client Secret
Use SandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Actions

Batch Request

Perform a batch request

InputCommentsDefault
Connection
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 a refund receipt

Create a new Refund Receipt in QuickBooks

InputCommentsDefault
Connection
Line ItemsFor 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
[{
"DetailType": "SalesItemLineDetail",
"Amount": 400.0,
"SalesItemLineDetail": {
"ItemRef": {
"value": "21"
}
}
}]
Custom FieldsSpecify 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 []
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 NameProvide 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.
Account IdProvide 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.
Billing Line 4Provide a value for line 4 of the billing address.
Billing Line 3Provide a value for line 3 of the billing address.
Billing Line 2Provide a value for line 2 of the billing address.
Billing Line 1Provide a value for line 1 of the billing address.
Billing Address IdProvide the unique identifier of the billing address.
Billing LatitudeProvide a value for the latitude of the billing address.
Billing LongitudeProvide a value for the longitude of the billing address.

Create a sales receipt

Create a new Sales Receipt in QuickBooks

InputCommentsDefault
Connection
Line ItemsFor 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
Custom FieldsSpecify 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 []
Apply Tax After DiscountSpecify whether or not to apply tax after discount.false
Create TimeProvide a date time value for the point in time this record was created
Customer IdProvide a value for the Id of the customer you would like to attach to the receipt.
Customer NameProvide a value for the name of the customer that will show on the receipt.
Account NameProvide 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.
Account IdProvide 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.
Payment Method IdProvide a value for the id of a payment method associated with this transaction.
Payment Method NameProvide a value for the name of a payment method associated with this transaction.

Create Invoice

Create an Invoice with the specified data

InputCommentsDefault
Connection
DataThis is a string of JSON data that represents a QuickBooks invoice.

Create Item

Create a new non-inventory item in QuickBooks

InputCommentsDefault
Connection
Non-Inventory Item DataThe attributes of the non-inventory item to create
API Minor VersionProvide the version of the API you would like to use.

Create Note Attachment

Use this endpoint to attach a note to an object.

InputCommentsDefault
Connection
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 VersionProvide the version of the API you would like 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 (send email) is invoked for the object.false

Create Purchase Order

Create a new Purchase Order

InputCommentsDefault
Connection
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 Resource

Create a new resource in QuickBooks

InputCommentsDefault
Connection
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 Type

Delete a refund receipt

Delete an existing Refund Receipt in QuickBooks

InputCommentsDefault
Connection
Sync TokenThe Sync Token of a resource in QuickBooks
Receipt IdProvide a value for the Id of the receipt.

Delete Attachable

This operation deletes an attachable object.

InputCommentsDefault
Connection
Attachable PayloadThe full payload of the attachable as returned in a read response. Could be a reference from a previously executed "Read an Attachable" action response data.
API Minor VersionProvide the version of the API you would like to use.75

Delete Purchase Order

Delete an existing Purchase Order

InputCommentsDefault
Connection
Purchase Order IdThe id of the purchase order to delete.
Sync TokenThe sync token of the purchase order to delete.

Download Attachment

Retrieves a temporary download URL to the specified attachableID.

InputCommentsDefault
Connection
Attachable IdThe unique identifier of the attachment
API Minor VersionProvide the version of the API you would like to use.75

Find Resource by Id

Returns a full Resource in QuickBooks

InputCommentsDefault
Connection
Resource Type
IdThe Primary ID of a resource in QuickBooks

Get a refund receipt

Get the value of an existing Refund Receipt in QuickBooks

InputCommentsDefault
Connection
Receipt IdProvide a value for the Id of the receipt.

Get a refund receipt as PDF

Get the value of an existing Refund Receipt in QuickBooks as a PDF

InputCommentsDefault
Connection
Receipt IdProvide a value for the Id of the receipt.

Get Company Info

Retrieve information about the company

InputCommentsDefault
Connection

Get Customer By Display Name

Retrieve information about the Customer which matches the given Display Name

InputCommentsDefault
Connection
Customer Display NameThis represents the customer's display name

Get Customer By Id

Retrieve information about the Customer which matches the given id

InputCommentsDefault
Connection
Customer IdThe id of the customer to get.

Get Invoice By Id

Retrieve information about the Invoice which matches the given id

InputCommentsDefault
Connection
Invoice IdThe id of the invoice to get.

Get Sales Receipt

Get the information and metadata of a Sales Receipt by Id

InputCommentsDefault
Connection
Receipt IdProvide a value for the Id of the receipt.

Get Vendor Expenses

Retrieve information about vendor expenses

InputCommentsDefault
Connection
Query ParamsCustomize 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

List Accounts

Retrieve a list of all Accounts

InputCommentsDefault
Fetch AllWhether to fetch all results or not.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
Connection

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.
Connection

List Customers

Retrieve a list of all Customers.

InputCommentsDefault
Fetch AllWhether to fetch all results or not.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
Connection

List Invoices

Retrieve a list of all Invoices

InputCommentsDefault
Fetch AllWhether to fetch all results or not.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
Connection

List Purchase Orders

Retrieve a list of all Purchase Orders

InputCommentsDefault
Fetch AllWhether to fetch all results or not.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
Connection

List Refund Receipts

Retrieve a list of all Refund Receipts

InputCommentsDefault
Fetch AllWhether to fetch all results or not.false
Max ResultsThe maximum number of results to return.
Start PositionThe starting position to return results from.
Connection

Query Resource

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

InputCommentsDefault
Connection
Query StringMust be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash.
API Minor VersionProvide the version of the API you would like to use.

Raw Request

Send raw HTTP request to QuickBooks

InputCommentsDefault
Connection
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 an Attachable

Read one attachable

InputCommentsDefault
Connection
Attachable IdThe unique identifier of the attachment
API Minor VersionProvide the version of the API you would like to use.75

Send a refund receipt

send an existing Refund Receipt to the email saved in QuickBooks

InputCommentsDefault
Connection
Receipt IdProvide a value for the Id of the receipt.

Send a refund receipt

Send an existing Refund Receipt in QuickBooks to any email

InputCommentsDefault
Connection
Receipt IdProvide a value for the Id of the receipt.
EmailProvide a valid email to send the receipt to.

Update Attachable

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

InputCommentsDefault
Connection
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 VersionProvide the version of the API you would like to use.75

Update Purchase Order

Update an existing Purchase Order

InputCommentsDefault
Connection
Purchase Order IdThe id of the purchase order to update.
Sync TokenThe Sync Token of a resource in QuickBooks
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
Connection
Sync TokenThe Sync Token of a resource in QuickBooks
Total AmountProvide a value for the total amount on the receipt.
Receipt IdProvide a value for the Id of the receipt.
Line ItemsFor 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
[
{
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 4Provide a value for line 4 of the billing address.
Billing Line 3Provide a value for line 3 of the billing address.
Billing Line 2Provide a value for line 2 of the billing address.
Billing Line 1Provide a value for line 1 of the billing address.
Billing Address IdProvide the unique identifier of the billing address.
Billing LatitudeProvide a value for the latitude of the billing address.
Billing LongitudeProvide a value for the 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 FieldsSpecify 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 []

Update Resource

Updates a Resource in QuickBooks

InputCommentsDefault
Connection
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 Type
Sync TokenThe Sync Token of a resource in QuickBooks
IdThe Primary ID of a resource in QuickBooks
Resource DataAn optional full map of the resource data

Upload Attachment

Upload one attachment

InputCommentsDefault
Connection
FileFile to attach. This should be a reference to a previous step
File NameFileName 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 VersionProvide the version of the API you would like 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 (send email) is invoked for the object.false

Void Invoice

Voids an Invoice

InputCommentsDefault
Connection
Invoice IdThe id of the invoice to void.
Sync TokenThe Sync Token of a resource in QuickBooks