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 | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "1",
"label": "Checking"
}
]
}
Select Customer
Select a Customer from a dropdown menu. | key: selectCustomer | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "1",
"label": "John Doe"
}
]
}
Select Invoice
Select an Invoice from a dropdown menu. | key: selectInvoice | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Select Purchase Order
Select a Purchase Order from a dropdown menu. | key: selectPurchaseOrder | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Select Refund Receipt
Select a Refund Receipt from a dropdown menu. | key: selectRefundReceipt | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"result": [
{
"key": "1",
"label": "1005"
}
]
}
Actions
Batch Request
Perform a batch request | key: batchRequest
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Receipt Id | Provide a value for the Id of the receipt. | 101 |
Get Company Info
Retrieve information about the company | key: getCompanyInfo
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Receipt Id | Provide a value for the Id of the receipt. | 101 |
Get Vendor Expenses
Retrieve information about vendor expenses | key: queryVendorExpenses
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Invoice Id | The id of the invoice to void. | 259 |
| Connection | ||
| Sync Token | The Sync Token of a resource in QuickBooks |