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.

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.
Debug RequestEnabling this flag will log out the current request.false

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 []
[
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
]
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.
Debug RequestEnabling this flag will log out the current request.false

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
[
{
"Description": "Pest Control Services",
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"TaxCodeRef": {
"value": "NON"
},
"Qty": 1,
"UnitPrice": 35,
"ItemRef": {
"name": "Pest Control",
"value": "10"
}
},
"LineNum": 1,
"Amount": 35,
"Id": "1"
},
{
"DetailType": "SubTotalLineDetail",
"Amount": 337.5,
"SubTotalLineDetail": {}
}
]
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 []
[
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
]
Apply Tax After DiscountSpecify weather 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.false
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.
Debug RequestEnabling this flag will log out the current request.false

Create Invoice

Create an Invoice with the specified data

InputCommentsDefault
Connection
DataThis is a string of JSON data that represents a QuickBooks invoice.
{
"Line": [
{
"DetailType": "SalesItemLineDetail",
"Amount": 100,
"SalesItemLineDetail": {
"ItemRef": {
"name": "Services",
"value": "1"
}
}
}
],
"CustomerRef": {
"value": "1"
}
}
Debug RequestEnabling this flag will log out the current request.false

Create Item

Create a new non-inventory item in QuickBooks

InputCommentsDefault
Connection
Non-Inventory Item DataThe attributes of the non-inventory item to create
Debug RequestEnabling this flag will log out the current request.false

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.69
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
Debug RequestEnabling this flag will log out the current request.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.
Debug RequestEnabling this flag will log out the current request.false

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
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

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.69
Debug RequestEnabling this flag will log out the current request.false

Delete Purchase Order

Delete an existing Purchase Order

InputCommentsDefault
Connection
IdThis represents a resource's unique ID. It must be an integer number.
Sync TokenThe Sync Token of a resource in QuickBooks
Debug RequestEnabling this flag will log out the current request.false

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.69
Debug RequestEnabling this flag will log out the current request.false

Find Resource by Id

Returns a full Resource in QuickBooks

InputCommentsDefault
Connection
Resource Type
IdThe Primary ID of a resource in QuickBooks
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

Get Company Info

Retrieve information about the company

InputCommentsDefault
Connection
Debug RequestEnabling this flag will log out the current request.false

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
Debug RequestEnabling this flag will log out the current request.false

Get Customer By Id

Retrieve information about the Customer which matches the given id

InputCommentsDefault
Connection
IdThis represents a resource's unique ID. It must be an integer number.
Debug RequestEnabling this flag will log out the current request.false

Get Invoice By Id

Retrieve information about the Invoice which matches the given id

InputCommentsDefault
Connection
IdThis represents a resource's unique ID. It must be an integer number.
Debug RequestEnabling this flag will log out the current request.false

Get Resource

Retrieve 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.
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

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
Debug RequestEnabling this flag will log out the current request.false

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.
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
Debug RequestEnabling this flag will log out the current request.false
Retry Delay (ms)The delay in milliseconds between retries.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type.false
Max Retry CountThe maximum number of retries to attempt.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries.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.69
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

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.
Debug RequestEnabling this flag will log out the current request.false

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.
{
"SyncToken": "1",
"domain": "QBO",
"AttachableRef": [
{
"IncludeOnSend": false,
"EntityRef": {
"type": "Invoice",
"value": "95"
}
}
],
"Note": "This is an updated attached note.",
"sparse": false,
"Id": "5000000000000010341",
"MetaData": {
"CreateTime": "2015-11-17T11:05:15-08:00",
"LastUpdatedTime": "2015-11-17T11:05:15-08:00"
}
}
API Minor VersionProvide the version of the API you would like to use.69
Debug RequestEnabling this flag will log out the current request.false

Update Purchase Order

Update an existing Purchase Order

InputCommentsDefault
Connection
IdThis represents a resource's unique ID. It must be an integer number.
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.
Debug RequestEnabling this flag will log out the current request.false

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 []
[
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
]
Debug RequestEnabling this flag will log out the current request.false

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
Debug RequestEnabling this flag will log out the current request.false

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.69
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
Debug RequestEnabling this flag will log out the current request.false

Void Invoice

Voids an Invoice

InputCommentsDefault
Connection
IdThis represents a resource's unique ID. It must be an integer number.
Sync TokenThe Sync Token of a resource in QuickBooks
Debug RequestEnabling this flag will log out the current request.false