Skip to main content

QuickBooks Component

Create and manage customers and invoices within Intuit QuickBooks

Component key: quickbooks

Description

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

API Documentation

This component was built using the QuickBooks Online API Documentation

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.

Connections

QuickBooks OAuth 2.0

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.prismatic.io/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.
InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for QuickBooks

https://appcenter.intuit.com/connect/oauth2
Client ID
Client Secret
Revoke URL

The OAuth 2.0 Revocation URL for QuickBooks

https://developer.api.intuit.com/v2/oauth2/tokens/revoke
Scopes

A space-delimited set of one or more scopes to get the user's permission to access.

com.intuit.quickbooks.accounting
Token URL

The OAuth 2.0 Token URL for QuickBooks

https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
Use Sandbox

Choose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.

false

Data Sources

Select Account

Select an Account from a dropdown menu. | key: selectAccount | type: picklist

InputNotesExample
Connection

{
"result": [
{
"key": "1",
"label": "Checking"
}
]
}

Select Customer

Select a Customer from a dropdown menu. | key: selectCustomer | type: picklist

InputNotesExample
Connection

{
"result": [
{
"key": "1",
"label": "John Doe"
}
]
}

Select Invoice

Select an Invoice from a dropdown menu. | key: selectInvoice | type: picklist

InputNotesExample
Connection

{
"result": [
{
"key": "1",
"label": "1005"
}
]
}

Select Purchase Order

Select a Purchase Order from a dropdown menu. | key: selectPurchaseOrder | type: picklist

InputNotesExample
Connection

{
"result": [
{
"key": "1",
"label": "1005"
}
]
}

Select Refund Receipt

Select a Refund Receipt from a dropdown menu. | key: selectRefundReceipt | type: picklist

InputNotesExample
Connection

{
"result": [
{
"key": "1",
"label": "1005"
}
]
}

Actions

Batch Request

Perform a batch request | key: batchRequest

InputNotesExample
Batch Request Items

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

Connection

{
"data": {
"BatchItemResponse": [
{
"Fault": {
"type": "ValidationFault",
"Error": [
{
"Message": "Stale Object Error",
"code": "5010",
"Detail": "Stale Object Error : You and root were working on this at the same time. root finished before you did, so your work was not saved.",
"element": ""
}
]
},
"bId": "bid1"
},
{
"bId": "bid2",
"QueryResponse": {
"SalesReceipt": [
{
"TxnDate": "2015-08-25",
"domain": "QBO",
"CurrencyRef": {
"name": "United States Dollar",
"value": "USD"
},
"PrintStatus": "NotSet",
"PaymentRefNum": "10264",
"TotalAmt": 337.5,
"Line": [
{
"Description": "Custom Design",
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"TaxCodeRef": {
"value": "NON"
},
"Qty": 4.5,
"UnitPrice": 75,
"ItemRef": {
"name": "Design",
"value": "4"
}
},
"LineNum": 1,
"Amount": 337.5,
"Id": "1"
},
{
"DetailType": "SubTotalLineDetail",
"Amount": 337.5,
"SubTotalLineDetail": {}
}
],
"ApplyTaxAfterDiscount": false,
"DocNumber": "1003",
"PrivateNote": "A private note.",
"sparse": false,
"DepositToAccountRef": {
"name": "Checking",
"value": "35"
},
"CustomerMemo": {
"value": "Thank you for your business and have a great day!"
},
"Balance": 0,
"CustomerRef": {
"name": "Dylan Sollfrank",
"value": "6"
},
"TxnTaxDetail": {
"TotalTax": 0
},
"SyncToken": "1",
"PaymentMethodRef": {
"name": "Check",
"value": "2"
},
"EmailStatus": "NotSet",
"BillAddr": {
"Lat": "INVALID",
"Long": "INVALID",
"Id": "49",
"Line1": "Dylan Sollfrank"
},
"MetaData": {
"CreateTime": "2015-08-27T14:59:48-07:00",
"LastUpdatedTime": "2016-04-15T09:01:10-07:00"
},
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
],
"Id": "11"
}
],
"startPosition": 1,
"maxResults": 1
}
}
],
"time": "2016-04-15T09:01:18.141-07:00"
}
}

Create a refund receipt

Create a new Refund Receipt in QuickBooks | key: createRefundReceipt

InputNotesExample
Account Id

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.

35
Account Name

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.

Checking
Billing Address Id

Provide the unique identifier of the billing address.

78
Custom Fields

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 []

Optional Values

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.

Billing Latitude

Provide a value for the latitude of the billing address.

40.7489277
Billing Line 1

Provide a value for line 1 of the billing address.

Karen Pye
Billing Line 2

Provide a value for line 2 of the billing address.

Pye's Cakes
Billing Line 3

Provide a value for line 3 of the billing address.

350 Mountain View Dr.
Billing Line 4

Provide a value for line 4 of the billing address.

South Orange, NJ 07079
Line Items

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

Billing Longitude

Provide a value for the longitude of the billing address.

-74.2609903
Connection

Create a sales receipt

Create a new Sales Receipt in QuickBooks | key: createReceipt

InputNotesExample
Account Id

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.

35
Account Name

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.

Checking
Apply Tax After Discount

Specify whether or not to apply tax after discount.

false
Create Time

Provide a date time value for the point in time this record was created

2014-09-16T14:59:48-07:00
Customer Id

Provide a value for the Id of the customer you would like to attach to the receipt.

56
Customer Name

Provide a value for the name of the customer that will show on the receipt.

John Doe
Custom Fields

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 []

Line Items

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

Payment Method Id

Provide a value for the id of a payment method associated with this transaction.

2
Payment Method Name

Provide a value for the name of a payment method associated with this transaction.

Check
Connection

Create Invoice

Create an Invoice with the specified data | key: createInvoice

InputNotesExample
Data

This is a string of JSON data that represents a QuickBooks invoice.

Connection

Create Item

Create a new non-inventory item in QuickBooks | key: createNonInventoryItem

InputNotesExample
API Minor Version

Provide the version of the API you would like to use.

75
Non-Inventory Item Data

The attributes of the non-inventory item to create

Connection

Create Note Attachment

Use this endpoint to attach a note to an object. | key: createNoteAttachment

InputNotesExample
Connection
Entity Reference Type

Object reference to which this attachment is linked. Set this value with the specific type of the target object.

Invoice
Entity Reference Value

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

95
Include on Send

Used 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
API Minor Version

Provide the version of the API you would like to use.

75
Note

The note is either related to the attachment specified with the FileName attribute, or as a standalone note. Required for note attachments.


Create Purchase Order

Create a new Purchase Order | key: createPurchaseOrder

InputNotesExample
AP Account ID

The AP account to which the bill is credited

Connection
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable.

Optional Values

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.

Lines

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

Vendor ID

The Vendor referenced in this transaction

{
"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 Resource

Create a new resource in QuickBooks | key: createResource

InputNotesExample
Connection
Resource Attributes

A 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 | key: deleteRefundReceipt

InputNotesExample
Connection
Receipt Id

Provide a value for the Id of the receipt.

101
Sync Token

The Sync Token of a resource in QuickBooks


Delete Attachable

This operation deletes an attachable object. | key: deleteAttachable

InputNotesExample
Attachable Payload

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

Connection
API Minor Version

Provide the version of the API you would like to use.

75

Delete Purchase Order

Delete an existing Purchase Order | key: deletePurchaseOrder

InputNotesExample
Connection
Purchase Order Id

The id of the purchase order to delete.

259
Sync Token

The sync token of the purchase order to delete.

{
"data": {
"PurchaseOrder": {
"status": "Deleted",
"domain": "QBO",
"Id": "125"
},
"time": "2015-05-26T14:08:39.858-07:00"
}
}

Download Attachment

Retrieves a temporary download URL to the specified attachableID. | key: downloadAttachment

InputNotesExample
Attachable Id

The unique identifier of the attachment

5000000000001348400
Connection
API Minor Version

Provide the version of the API you would like to use.

75

Find Resource by Id

Returns a full Resource in QuickBooks | key: findResource

InputNotesExample
Connection
Id

The Primary ID of a resource in QuickBooks

Resource Type

Get a refund receipt

Get the value of an existing Refund Receipt in QuickBooks | key: getRefundReceipt

InputNotesExample
Connection
Receipt Id

Provide a value for the Id of the receipt.

101

Get a refund receipt as PDF

Get the value of an existing Refund Receipt in QuickBooks as a PDF | key: getRefundReceiptAsPDF

InputNotesExample
Connection
Receipt Id

Provide a value for the Id of the receipt.

101

Get Company Info

Retrieve information about the company | key: getCompanyInfo

InputNotesExample
Connection

{
"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 Name

Retrieve information about the Customer which matches the given Display Name | key: getCustomerByDisplayName

InputNotesExample
Customer Display Name

This represents the customer's display name

Smith Rocket Company
Connection

{
"data": {
"Id": "exampleId",
"SyncToken": "asdf123",
"MetaData": {},
"EmailMessagesPrefs": {},
"ProductAndServicesPrefs": {},
"ReportPrefs": {}
}
}

Get Customer By Id

Retrieve information about the Customer which matches the given id | key: getCustomerById

InputNotesExample
Customer Id

The id of the customer to get.

56
Connection

{
"data": {
"Id": "exampleId",
"SyncToken": "asdf123",
"MetaData": {},
"EmailMessagesPrefs": {},
"ProductAndServicesPrefs": {},
"ReportPrefs": {}
}
}

Get Invoice By Id

Retrieve information about the Invoice which matches the given id | key: getInvoiceById

InputNotesExample
Invoice Id

The id of the invoice to get.

259
Connection

Get Sales Receipt

Get the information and metadata of a Sales Receipt by Id | key: getReceipt

InputNotesExample
Connection
Receipt Id

Provide a value for the Id of the receipt.

101

Get Vendor Expenses

Retrieve information about vendor expenses | key: queryVendorExpenses

InputNotesExample
Query Params

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

Connection

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.


List Accounts

Retrieve a list of all Accounts | key: listAccounts

InputNotesExample
Fetch All

Whether to fetch all results or not.

false
Max Results

The maximum number of results to return.

1000
Connection
Start Position

The starting position to return results from.

1

{
"data": [
{
"Name": "Gas and Electric",
"SubAccount": true,
"ParentRef": {
"value": "24"
},
"FullyQualifiedName": "Utilities:Gas and Electric",
"Active": true,
"Classification": "Expense",
"AccountType": "Expense",
"AccountSubType": "Utilities",
"CurrentBalance": 0,
"CurrentBalanceWithSubAccounts": 0,
"CurrencyRef": {
"value": "USD",
"name": "United States Dollar"
},
"domain": "QBO",
"sparse": false,
"Id": "76",
"SyncToken": "0",
"MetaData": {
"CreateTime": "2022-04-24T10:30:29-07:00",
"LastUpdatedTime": "2022-04-24T10:30:29-07:00"
}
}
]
}

List Attachments

Retrieve a list of all Attachments linked to an entity. | key: listAttachments

InputNotesExample
Attachable Entity Id

The id of the entity that the attachable is linked to.

611
Attachable Entity Type

The type of the entity that the attachable is linked to.

purchase
Connection

{
"data": [
{
"Id": "100000000004062174",
"sparse": true
},
{
"Id": "100000000004158481",
"sparse": true
}
]
}

List Customers

Retrieve a list of all Customers. | key: listCustomers

InputNotesExample
Fetch All

Whether to fetch all results or not.

false
Max Results

The maximum number of results to return.

1000
Connection
Start Position

The starting position to return results from.

1

{
"data": [
{
"Taxable": false,
"BillAddr": {
"Id": "30",
"Line1": "45612 Main St.",
"City": "Bayshore",
"CountrySubDivisionCode": "CA",
"PostalCode": "94326",
"Lat": "45.256574",
"Long": "-66.0943698"
},
"ShipAddr": {
"Id": "30",
"Line1": "45612 Main St.",
"City": "Bayshore",
"CountrySubDivisionCode": "CA",
"PostalCode": "94326",
"Lat": "45.256574",
"Long": "-66.0943698"
},
"Job": false,
"BillWithParent": false,
"Balance": 375,
"BalanceWithJobs": 375,
"CurrencyRef": {
"value": "USD",
"name": "United States Dollar"
},
"PreferredDeliveryMethod": "Print",
"IsProject": false,
"ClientEntityId": "0",
"domain": "QBO",
"sparse": false,
"Id": "29",
"SyncToken": "0",
"MetaData": {
"CreateTime": "2022-04-19T17:29:04-07:00",
"LastUpdatedTime": "2022-04-25T11:09:08-07:00"
},
"GivenName": "Test",
"FamilyName": "Test",
"FullyQualifiedName": "Test Consulting",
"CompanyName": "Test Consulting",
"DisplayName": "Test Consulting",
"PrintOnCheckName": "Test Consulting",
"Active": true,
"V4IDPseudonym": "002098a6974364ee434c6fa12125da1d76756e",
"PrimaryPhone": {
"FreeFormNumber": "(650) 555-1423"
},
"PrimaryEmailAddr": {
"Address": "test@test.com"
}
}
]
}

List Invoices

Retrieve a list of all Invoices | key: listInvoices

InputNotesExample
Fetch All

Whether to fetch all results or not.

false
Max Results

The maximum number of results to return.

1000
Connection
Start Position

The starting position to return results from.

1

{
"data": [
{
"TxnDate": "2015-07-24",
"domain": "QBO",
"PrintStatus": "NeedToPrint",
"TotalAmt": 150,
"Line": [
{
"LineNum": 1,
"Amount": 150,
"SalesItemLineDetail": {
"TaxCodeRef": {
"value": "NON"
},
"ItemRef": {
"name": "Services",
"value": "1"
}
},
"Id": "1",
"DetailType": "SalesItemLineDetail"
},
{
"DetailType": "SubTotalLineDetail",
"Amount": 150,
"SubTotalLineDetail": {}
}
],
"DueDate": "2015-08-23",
"ApplyTaxAfterDiscount": false,
"DocNumber": "1070",
"sparse": false,
"ProjectRef": {
"value": "39298034"
},
"Deposit": 0,
"Balance": 150,
"CustomerRef": {
"name": "Amy's Bird Sanctuary",
"value": "1"
},
"TxnTaxDetail": {
"TotalTax": 0
},
"SyncToken": "0",
"LinkedTxn": [],
"ShipAddr": {
"City": "Bayshore",
"Line1": "4581 Finch St.",
"PostalCode": "94326",
"Lat": "INVALID",
"Long": "INVALID",
"CountrySubDivisionCode": "CA",
"Id": "109"
},
"EmailStatus": "NotSet",
"BillAddr": {
"City": "Bayshore",
"Line1": "4581 Finch St.",
"PostalCode": "94326",
"Lat": "INVALID",
"Long": "INVALID",
"CountrySubDivisionCode": "CA",
"Id": "2"
},
"MetaData": {
"CreateTime": "2015-07-24T10:35:08-07:00",
"LastUpdatedTime": "2015-07-24T10:35:08-07:00"
},
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
],
"Id": "239"
}
]
}

List Purchase Orders

Retrieve a list of all Purchase Orders | key: listPurchaseOrders

InputNotesExample
Fetch All

Whether to fetch all results or not.

false
Max Results

The maximum number of results to return.

1000
Connection
Start Position

The starting position to return results from.

1

{
"data": [
{
"DocNumber": "1007",
"SyncToken": "0",
"domain": "QBO",
"VendorRef": {
"name": "Hicks Hardware",
"value": "41"
},
"TxnDate": "2015-07-28",
"TotalAmt": 25,
"APAccountRef": {
"name": "Accounts Payable (A/P)",
"value": "33"
},
"sparse": false,
"Line": [
{
"DetailType": "ItemBasedExpenseLineDetail",
"Amount": 25,
"ProjectRef": {
"value": "39298034"
},
"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"
}
],
"Id": "259",
"MetaData": {
"CreateTime": "2015-07-28T16:06:03-07:00",
"LastUpdatedTime": "2015-07-28T16:06:03-07:00"
}
}
]
}

List Refund Receipts

Retrieve a list of all Refund Receipts | key: listRefundReceipts

InputNotesExample
Fetch All

Whether to fetch all results or not.

false
Max Results

The maximum number of results to return.

1000
Connection
Start Position

The starting position to return results from.

1

{
"data": [
{
"DocNumber": "1020",
"SyncToken": "0",
"domain": "QBO",
"Balance": 0,
"PaymentMethodRef": {
"name": "Check",
"value": "2"
},
"BillAddr": {
"Line4": "South Orange, NJ 07079",
"Line3": "350 Mountain View Dr.",
"Line2": "Pye's Cakes",
"Line1": "Karen Pye",
"Long": "-74.2609903",
"Lat": "40.7489277",
"Id": "73"
},
"DepositToAccountRef": {
"name": "Checking",
"value": "35"
},
"TxnDate": "2014-09-17",
"TotalAmt": 87.5,
"CustomerRef": {
"name": "Pye's Cakes",
"value": "15"
},
"CustomerMemo": {
"value": "Thank you for your business and have a great day!"
},
"PrintStatus": "NotSet",
"BillEmail": {
"Address": "pyescakes@intuit.com"
},
"sparse": false,
"Line": [
{
"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": {}
}
],
"ApplyTaxAfterDiscount": false,
"CustomField": [
{
"DefinitionId": "1",
"Type": "StringType",
"Name": "Crew #"
}
],
"Id": "66",
"TxnTaxDetail": {
"TotalTax": 0
},
"MetaData": {
"CreateTime": "2014-09-17T15:35:07-07:00",
"LastUpdatedTime": "2014-09-17T15:35:07-07:00"
}
}
]
}

Query Resource

Query a QuickBooks resource using their SQL-like data query language | key: queryResource

InputNotesExample
API Minor Version

Provide the version of the API you would like to use.

75
Query String

Must be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash.

select * from department
Connection

This action allows for sending queries to the Query endpoint. Please refer to QuickBooks' documentation for building custom queries.


Raw Request

Send raw HTTP request to QuickBooks | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

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

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If 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
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

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

/invoice
Use Exponential Backoff

Specifies 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 | key: readAnAttachable

InputNotesExample
Attachable Id

The unique identifier of the attachment

5000000000001348400
Connection
API Minor Version

Provide 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 | key: sendRefundReceipt

InputNotesExample
Connection
Receipt Id

Provide a value for the Id of the receipt.

101

Send a refund receipt

Send an existing Refund Receipt in QuickBooks to any email | key: sendRefundReceiptToEmail

InputNotesExample
Email

Provide a valid email to send the receipt to.

someone@example.com
Connection
Receipt Id

Provide a value for the Id of the receipt.

101

Update Attachable

Update any of the writable fields of an existing attachable object. | key: updateAttachable

InputNotesExample
Connection
API Minor Version

Provide the version of the API you would like to use.

75
Update Request Body

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


Update Purchase Order

Update an existing Purchase Order | key: updatePurchaseOrder

InputNotesExample
AP Account ID

The AP account to which the bill is credited

Base Record

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

Connection
Dynamic Fields

A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable.

Optional Values

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.

Purchase Order Id

The id of the purchase order to update.

259
Lines

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

Sync Token

The Sync Token of a resource in QuickBooks

Vendor ID

The Vendor referenced in this transaction

{
"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 receipt

Update the contents of an existing Refund Receipt in QuickBooks | key: updateRefundReceipt

InputNotesExample
Billing Address Id

Provide the unique identifier of the billing address.

78
Custom Fields

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 []

Optional Values

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.

Billing Latitude

Provide a value for the latitude of the billing address.

40.7489277
Billing Line 1

Provide a value for line 1 of the billing address.

Karen Pye
Billing Line 2

Provide a value for line 2 of the billing address.

Pye's Cakes
Billing Line 3

Provide a value for line 3 of the billing address.

350 Mountain View Dr.
Billing Line 4

Provide a value for line 4 of the billing address.

South Orange, NJ 07079
Line Items

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

Billing Longitude

Provide a value for the longitude of the billing address.

-74.2609903
Connection
Receipt Id

Provide a value for the Id of the receipt.

101
Sync Token

The Sync Token of a resource in QuickBooks

Total Amount

Provide a value for the total amount on the receipt.

150

Update Resource

Updates a Resource in QuickBooks | key: updateResource

InputNotesExample
Connection
Resource Attributes

A 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 Data

An optional full map of the resource data

Id

The Primary ID of a resource in QuickBooks

Resource Type
Sync Token

The Sync Token of a resource in QuickBooks


Upload Attachment

Upload one attachment | key: uploadAttachment

InputNotesExample
Connection
Entity Reference Type

Object reference to which this attachment is linked. Set this value with the specific type of the target object.

Invoice
Entity Reference Value

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

95
File

File to attach. This should be a reference to a previous step

File Name

FileName of the attachment

receipt_nov15.jpg
File Type

The file type of the attachment

Include on Send

Used 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
API Minor Version

Provide the version of the API you would like to use.

75
Note

The note is either related to the attachment specified with the FileName attribute, or as a standalone note. Required for note attachments.


Void Invoice

Voids an Invoice | key: voidInvoice

InputNotesExample
Invoice Id

The id of the invoice to void.

259
Connection
Sync Token

The Sync Token of a resource in QuickBooks