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.
- To configure an OAuth 2.0 credential through QuickBooks, you will need to create an app within the Intuit developer portal.
- When you create your app, be sure to enter the OAuth callback URL .
https://oauth2.prismatic.io/callback
- Consult QuickBooks to determine the proper OAuth Scopes to assign.
- Once the app has been created, you will be provided with a Client ID and Client Secret.
- Now, configure OAuth 2.0 settings.
- Create a new credential of type OAuth 2.0 - Authorization Code.
- Enter the Client ID and Client Secret that you received from the Intuit developer portal.
- Set Scopes to any of the values in this list.
Input | Default | Notes |
---|---|---|
Authorize URL string / Required Hidden Field authorizeUrl | https://appcenter.intuit.com/connect/oauth2 | The OAuth 2.0 Authorization URL for QuickBooks |
Client ID string / Required clientId | ||
Client Secret password / Required clientSecret | ||
Revoke URL string / Required Hidden Field revokeUrl | https://developer.api.intuit.com/v2/oauth2/tokens/revoke | The OAuth 2.0 Revocation URL for QuickBooks |
Scopes string / Required scopes | com.intuit.quickbooks.accounting | A space-delimited set of one or more scopes to get the user's permission to access. |
Token URL string / Required Hidden Field tokenUrl | https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer | The OAuth 2.0 Token URL for QuickBooks |
Use Sandbox boolean / Required useSandbox | false | Choose whether or not to use QuickBooks' sandbox. This is helpful for integration testing. |
Data Sources
Select Account
Select an Account from a dropdown menu. | key: selectAccount | type: picklist
Input | Notes |
---|---|
Connection connection / Required connectionInput |
{
"result": [
{
"key": "1",
"label": "Checking"
}
]
}
Select Customer
Select a Customer from a dropdown menu. | key: selectCustomer | type: picklist
Input | Notes |
---|---|
Connection connection / Required connectionInput |
{
"result": [
{
"key": "1",
"label": "John Doe"
}
]
}
Select Invoice
Select an Invoice from a dropdown menu. | key: selectInvoice | type: picklist
Input | Notes |
---|---|
Connection connection / Required connectionInput |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Select Purchase Order
Select a Purchase Order from a dropdown menu. | key: selectPurchaseOrder | type: picklist
Input | Notes |
---|---|
Connection connection / Required connectionInput |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Select Refund Receipt
Select a Refund Receipt from a dropdown menu. | key: selectRefundReceipt | type: picklist
Input | Notes |
---|---|
Connection connection / Required connectionInput |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Actions
Batch Request
Perform a batch request | key: batchRequest
Input | Notes | Example |
---|---|---|
Batch Request Items code / Required batchRequestItems | 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 connection / Required 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
Input | Default | Notes | Example |
---|---|---|---|
Account Id string accountId | 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 string accountName | 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 string billingAddressId | Provide the unique identifier of the billing address. | 78 | |
Custom Fields code customFields | 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 string Key Value List fieldValues | 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 string lat | Provide a value for the latitude of the billing address. | 40.7489277 | |
Billing Line 1 string line1 | Provide a value for line 1 of the billing address. | Karen Pye | |
Billing Line 2 string line2 | Provide a value for line 2 of the billing address. | Pye's Cakes | |
Billing Line 3 string line3 | Provide a value for line 3 of the billing address. | 350 Mountain View Dr. | |
Billing Line 4 string line4 | Provide a value for line 4 of the billing address. | South Orange, NJ 07079 | |
Line Items code / Required lineItems | 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 string long | Provide a value for the longitude of the billing address. | -74.2609903 | |
Connection connection / Required quickbooksConnection |
Create a sales receipt
Create a new Sales Receipt in QuickBooks | key: createReceipt
Input | Default | Notes | Example |
---|---|---|---|
Account Id string accountId | 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 string accountName | 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 boolean / Required applyTaxAfterDiscount | false | Specify weather or not to apply tax after discount. | |
Create Time string createTime | Provide a date time value for the point in time this record was created | 2014-09-16T14:59:48-07:00 | |
Customer Id string customerId | Provide a value for the Id of the customer you would like to attach to the receipt. | 56 | |
Customer Name string customerName | Provide a value for the name of the customer that will show on the receipt. | John Doe | |
Custom Fields code customFields | 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 code / Required lineItems | 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 string paymentMethodId | Provide a value for the id of a payment method associated with this transaction. | 2 | |
Payment Method Name string paymentMethodName | Provide a value for the name of a payment method associated with this transaction. | Check | |
Connection connection / Required quickbooksConnection |
Create Invoice
Create an Invoice with the specified data | key: createInvoice
Input | Notes | Example |
---|---|---|
Data code / Required data | This is a string of JSON data that represents a QuickBooks invoice. | |
Connection connection / Required quickbooksConnection |
Create Item
Create a new non-inventory item in QuickBooks | key: createNonInventoryItem
Input | Notes | Example |
---|---|---|
API Minor Version string minorVersion | Provide the version of the API you would like to use. | 75 |
Non-Inventory Item Data code nonInventoryItemData | The attributes of the non-inventory item to create | |
Connection connection / Required quickbooksConnection |
Create Note Attachment
Use this endpoint to attach a note to an object. | key: createNoteAttachment
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Entity Reference Type string entityRefType | Object reference to which this attachment is linked. Set this value with the specific type of the target object. | Invoice | |
Entity Reference Value string entityRefValue | 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 boolean includeOnSend | false | 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. | |
API Minor Version string minorVersion | 75 | Provide the version of the API you would like to use. | 75 |
Note string / Required 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
Input | Notes |
---|---|
AP Account ID string / Required apAccountId | The AP account to which the bill is credited |
Connection connection / Required connection | |
Dynamic Fields data dynamicValues | A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable. |
Optional Values string Key Value List fieldValues | 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 / Required 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 string / Required vendorId | 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
Input | Notes |
---|---|
Connection connection / Required quickbooksConnection | |
Resource Attributes data Key Value List resourceAttributes | 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 string / Required resourceType |
Delete a refund receipt
Delete an existing Refund Receipt in QuickBooks | key: deleteRefundReceipt
Input | Notes | Example |
---|---|---|
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | Provide a value for the Id of the receipt. | 101 |
Sync Token string / Required syncToken | The Sync Token of a resource in QuickBooks |
Delete Attachable
This operation deletes an attachable object. | key: deleteAttachable
Input | Default | Notes | Example |
---|---|---|---|
Attachable Payload data / Required attachablePayload | 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 connection / Required connection | |||
API Minor Version string minorVersion | 75 | Provide the version of the API you would like to use. | 75 |
Delete Purchase Order
Delete an existing Purchase Order | key: deletePurchaseOrder
Input | Notes | Example |
---|---|---|
Connection connection / Required connection | ||
Purchase Order Id string / Required id | The id of the purchase order to delete. | 259 |
Sync Token string / Required syncToken | 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
Input | Default | Notes | Example |
---|---|---|---|
Attachable Id string / Required attachableId | The unique identifier of the attachment | 5000000000001348400 | |
Connection connection / Required connection | |||
API Minor Version string minorVersion | 75 | Provide the version of the API you would like to use. | 75 |
Find Resource by Id
Returns a full Resource in QuickBooks | key: findResource
Input | Notes |
---|---|
Connection connection / Required quickbooksConnection | |
Id string / Required resourceId | The Primary ID of a resource in QuickBooks |
Resource Type string / Required resourceType |
Get a refund receipt
Get the value of an existing Refund Receipt in QuickBooks | key: getRefundReceipt
Input | Notes | Example |
---|---|---|
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | Provide a value for the Id of the receipt. | 101 |
Get Company Info
Retrieve information about the company | key: getCompanyInfo
Input | Notes |
---|---|
Connection connection / Required quickbooksConnection |
{
"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
Input | Notes | Example |
---|---|---|
Customer Display Name string / Required customerDisplayName | This represents the customer's display name | Smith Rocket Company |
Connection connection / Required quickbooksConnection |
{
"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
Input | Notes | Example |
---|---|---|
Customer Id string / Required id | The id of the customer to get. | 56 |
Connection connection / Required quickbooksConnection |
{
"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
Input | Notes | Example |
---|---|---|
Invoice Id string / Required id | The id of the invoice to get. | 259 |
Connection connection / Required quickbooksConnection |
Get Sales Receipt
Get the information and metadata of a Sales Receipt by Id | key: getReceipt
Input | Notes | Example |
---|---|---|
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | Provide a value for the Id of the receipt. | 101 |
Get Vendor Expenses
Retrieve information about vendor expenses | key: queryVendorExpenses
Input | Notes |
---|---|
Query Params string Key Value List queryParams | 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 connection / Required quickbooksConnection |
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
Input | Default | Notes | Example |
---|---|---|---|
Fetch All boolean fetchAll | false | Whether to fetch all results or not. | |
Max Results string maxResults | The maximum number of results to return. | 1000 | |
Connection connection / Required quickbooksConnection | |||
Start Position string startPosition | 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
Input | Notes | Example |
---|---|---|
Attachable Entity Id string / Required attachableEntityId | The id of the entity that the attachable is linked to. | 611 |
Attachable Entity Type string / Required attachableEntityType | The type of the entity that the attachable is linked to. | purchase |
Connection connection / Required quickbooksConnection |
{
"data": [
{
"Id": "100000000004062174",
"sparse": true
},
{
"Id": "100000000004158481",
"sparse": true
}
]
}
List Customers
Retrieve a list of all Customers. | key: listCustomers
Input | Default | Notes | Example |
---|---|---|---|
Fetch All boolean fetchAll | false | Whether to fetch all results or not. | |
Max Results string maxResults | The maximum number of results to return. | 1000 | |
Connection connection / Required quickbooksConnection | |||
Start Position string startPosition | 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
Input | Default | Notes | Example |
---|---|---|---|
Fetch All boolean fetchAll | false | Whether to fetch all results or not. | |
Max Results string maxResults | The maximum number of results to return. | 1000 | |
Connection connection / Required quickbooksConnection | |||
Start Position string startPosition | 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
Input | Default | Notes | Example |
---|---|---|---|
Fetch All boolean fetchAll | false | Whether to fetch all results or not. | |
Max Results string maxResults | The maximum number of results to return. | 1000 | |
Connection connection / Required quickbooksConnection | |||
Start Position string startPosition | 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
Input | Default | Notes | Example |
---|---|---|---|
Fetch All boolean fetchAll | false | Whether to fetch all results or not. | |
Max Results string maxResults | The maximum number of results to return. | 1000 | |
Connection connection / Required quickbooksConnection | |||
Start Position string startPosition | 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
Input | Notes | Example |
---|---|---|
API Minor Version string minorVersion | Provide the version of the API you would like to use. | 75 |
Query String string / Required queryString | Must be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash. | select * from department |
Connection connection / Required quickbooksConnection |
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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Data string data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} | |
File Data string Key Value List fileData | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] | |
File Data File Names string Key Value List fileDataFileNames | File names to apply to the file data inputs. Keys must match the file data keys above. | ||
Form Data string Key Value List formData | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] | |
Header string Key Value List headers | A list of headers to send with the request. | User-Agent: curl/7.64.1 | |
Max Retry Count string maxRetries | 0 | The maximum number of retries to attempt. Specify 0 for no retries. | |
Method string / Required method | The HTTP method to use. | ||
Query Parameter string Key Value List queryParams | 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 string / Required responseType | json | The type of data you expect in the response. You can request json, text, or binary data. | |
Retry On All Errors boolean retryAllErrors | false | 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. | |
Retry Delay (ms) string retryDelayMS | 0 | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | |
Timeout string timeout | The maximum time that a client will await a response to its request | 2000 | |
URL string / Required 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 boolean useExponentialBackoff | false | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. |
Read an Attachable
Read one attachable | key: readAnAttachable
Input | Default | Notes | Example |
---|---|---|---|
Attachable Id string / Required attachableId | The unique identifier of the attachment | 5000000000001348400 | |
Connection connection / Required connection | |||
API Minor Version string minorVersion | 75 | 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
Input | Notes | Example |
---|---|---|
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | 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
Input | Notes | Example |
---|---|---|
Email string / Required email | Provide a valid email to send the receipt to. | someone@example.com |
Connection connection / Required quickbooksConnection | ||
Receipt Id string / Required receiptId | 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
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
API Minor Version string minorVersion | 75 | Provide the version of the API you would like to use. | 75 |
Update Request Body code / Required updateRequestBody | 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
Input | Notes | Example |
---|---|---|
AP Account ID string apAccountId | The AP account to which the bill is credited | |
Base Record data baseRecord | 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 connection / Required connection | ||
Dynamic Fields data dynamicValues | A field for dynamic inputs that can be configured at deploy time with the use of a key/value config variable. | |
Optional Values string Key Value List fieldValues | 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 string / Required id | The id of the purchase order to update. | 259 |
Lines data 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 string / Required syncToken | The Sync Token of a resource in QuickBooks | |
Vendor ID string vendorId | 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
Input | Default | Notes | Example |
---|---|---|---|
Billing Address Id string billingAddressId | Provide the unique identifier of the billing address. | 78 | |
Custom Fields code customFields | 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 string Key Value List fieldValues | 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 string lat | Provide a value for the latitude of the billing address. | 40.7489277 | |
Billing Line 1 string line1 | Provide a value for line 1 of the billing address. | Karen Pye | |
Billing Line 2 string line2 | Provide a value for line 2 of the billing address. | Pye's Cakes | |
Billing Line 3 string line3 | Provide a value for line 3 of the billing address. | 350 Mountain View Dr. | |
Billing Line 4 string line4 | Provide a value for line 4 of the billing address. | South Orange, NJ 07079 | |
Line Items code / Required lineItems | 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 string long | Provide a value for the longitude of the billing address. | -74.2609903 | |
Connection connection / Required quickbooksConnection | |||
Receipt Id string / Required receiptId | Provide a value for the Id of the receipt. | 101 | |
Sync Token string / Required syncToken | The Sync Token of a resource in QuickBooks | ||
Total Amount string / Required totalAmount | Provide a value for the total amount on the receipt. | 150 |
Update Resource
Updates a Resource in QuickBooks | key: updateResource
Input | Notes |
---|---|
Connection connection / Required quickbooksConnection | |
Resource Attributes data Key Value List resourceAttributes | 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 data resourceData | An optional full map of the resource data |
Id string / Required resourceId | The Primary ID of a resource in QuickBooks |
Resource Type string / Required resourceType | |
Sync Token string / Required syncToken | The Sync Token of a resource in QuickBooks |
Upload Attachment
Upload one attachment | key: uploadAttachment
Input | Default | Notes | Example |
---|---|---|---|
Connection connection / Required connection | |||
Entity Reference Type string entityRefType | Object reference to which this attachment is linked. Set this value with the specific type of the target object. | Invoice | |
Entity Reference Value string entityRefValue | 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 data / Required file | File to attach. This should be a reference to a previous step | ||
File Name string / Required fileName | FileName of the attachment | receipt_nov15.jpg | |
File Type string / Required fileType | The file type of the attachment | ||
Include on Send boolean includeOnSend | false | 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. | |
API Minor Version string minorVersion | 75 | Provide the version of the API you would like to use. | 75 |
Note string 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
Input | Notes | Example |
---|---|---|
Invoice Id string / Required id | The id of the invoice to void. | 259 |
Connection connection / Required quickbooksConnection | ||
Sync Token string / Required syncToken | The Sync Token of a resource in QuickBooks |