# QuickBooks Component

![](/docs/img/components/icons/60/cXVpY2tib29rcw==.png)

#### Create and manage customers and invoices within Intuit QuickBooks

Component key: **quickbooks**

[Changelog ↓](#changelog)

## Description[​](#description "Direct link to Description")

[QuickBooks](https://quickbooks.intuit.com/) 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[​](#api-documentation "Direct link to API Documentation")

This component was built using the [QuickBooks Online API Documentation](https://developer.intuit.com/app/developer/qbo/docs/get-started)

The [QuickBooks Sandbox](https://developer.intuit.com/app/developer/qbo/docs/develop/sandboxes) allows developers to develop and test integrations without affecting real customer data. Point integrations at this sandbox during development and testing.

## Connections[​](#connections "Direct link to Connections")

### OAuth 2.0[​](#oauth2 "Direct link to OAuth 2.0")

**key: oauth2**

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

#### Prerequisites[​](#prerequisites "Direct link to Prerequisites")

* A QuickBooks account with access to the [Intuit Developer Portal](https://developer.intuit.com/)

#### Setup Steps[​](#setup-steps "Direct link to Setup Steps")

1. [Create an app](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0-playground#get-the-access-token) within the Intuit developer portal.
2. When creating the app, enter the OAuth callback URL `https://oauth2.prismatic.io/callback`.
   <!-- -->
   1. Consult [QuickBooks OAuth scopes documentation](https://developer.intuit.com/app/developer/qbo/docs/learn/scopes) to determine the proper OAuth Scopes to assign.
3. Once the app has been created, a **Client ID** and **Client Secret** will be provided.

#### Configure the Connection[​](#configure-the-connection "Direct link to Configure the Connection")

Create a connection of type **QuickBooks OAuth 2.0** and enter:

* **Client ID** and **Client Secret** from the Intuit developer portal
* **Scopes**: Set to any of the values in [this list](https://developer.intuit.com/app/developer/qbo/docs/learn/scopes)
* **Use Sandbox**: Enable to connect to the [QuickBooks Sandbox](https://developer.intuit.com/app/developer/qbo/docs/develop/sandboxes) for testing without affecting real customer data

| Input         | Notes                                                                                                                      | Example                                                    |
| ------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Authorize URL | The OAuth 2.0 Authorization URL for QuickBooks.                                                                            | https\://appcenter.intuit.com/connect/oauth2               |
| Client ID     | The client ID from the QuickBooks developer console, used to identify the application during OAuth authentication.         |                                                            |
| Client Secret | The client secret from the QuickBooks developer console, used to authenticate the application during OAuth token exchange. |                                                            |
| 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 request access to QuickBooks resources.                                     | 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   | When true, requests are sent to the QuickBooks sandbox environment instead of production. Useful for integration testing.  | false                                                      |

## Triggers[​](#triggers "Direct link to Triggers")

### Entity Change Events[​](#webhook "Direct link to Entity Change Events")

Receive webhook notifications from QuickBooks when entity changes occur. | **key: webhook**

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

QuickBooks sends [webhook notifications](https://developer.intuit.com/app/developer/qbo/docs/develop/webhooks) when entities change in a company's account (e.g., an Invoice is created, a Customer is updated, a Payment is deleted).

This trigger automatically normalizes both [CloudEvents](https://developer.intuit.com/app/developer/qbo/docs/develop/webhooks/cloudevents-webhooks) and legacy webhook formats into a consistent data structure, so no additional parsing is required.

#### How It Works[​](#how-it-works "Direct link to How It Works")

1. Configure a webhook subscription in the [QuickBooks Developer Portal](https://developer.intuit.com/) pointing to the flow's webhook URL.
2. When an entity change occurs, QuickBooks sends a notification to the webhook URL.
3. The trigger detects the payload format (CloudEvents or legacy) and normalizes it into a consistent structure.
4. The normalized data is passed to the flow for processing.

**Format detection is automatic.** The trigger inspects the incoming payload and handles both formats transparently. If a legacy-format webhook is received, a deprecation warning is included in the output since QuickBooks will require CloudEvents format after May 15, 2026.

#### Event Types[​](#event-types "Direct link to Event Types")

Common Entity Change Events

| Entity          | Operations                    | Description                  |
| --------------- | ----------------------------- | ---------------------------- |
| `Account`       | Create, Update, Delete        | Chart of accounts changes    |
| `Customer`      | Create, Update, Delete, Merge | Customer record changes      |
| `Invoice`       | Create, Update, Delete, Void  | Invoice lifecycle events     |
| `Payment`       | Create, Update, Delete, Void  | Payment processing events    |
| `Bill`          | Create, Update, Delete        | Vendor bill changes          |
| `Vendor`        | Create, Update, Delete, Merge | Vendor record changes        |
| `Item`          | Create, Update, Delete        | Product and service changes  |
| `Employee`      | Create, Update, Delete        | Employee record changes      |
| `Purchase`      | Create, Update, Delete        | Purchase transaction changes |
| `Estimate`      | Create, Update, Delete        | Estimate lifecycle events    |
| `SalesReceipt`  | Create, Update, Delete, Void  | Sales receipt events         |
| `RefundReceipt` | Create, Update, Delete, Void  | Refund receipt events        |
| `PurchaseOrder` | Create, Update, Delete        | Purchase order changes       |

Refer to the [QuickBooks webhook documentation](https://developer.intuit.com/app/developer/qbo/docs/develop/webhooks) for the complete and up-to-date list of supported entities and operations.

#### Returned Data[​](#returned-data "Direct link to Returned Data")

The trigger normalizes both webhook formats into a consistent `NormalizedWebhookOutput` structure available at `payload.body.data`:

Example Payload (CloudEvents format)

```json
{
  "format": "cloudevents",
  "eventCount": 1,
  "events": [
    {
      "id": "evt_abc123",
      "entityId": "456",
      "accountId": "1234567890",
      "entity": "invoice",
      "operation": "create",
      "eventType": "qbo.invoice.create",
      "timestamp": "2026-02-26T14:30:00Z",
      "source": "qbo",
      "specversion": "1.0"
    }
  ],
  "event": {
    "id": "evt_abc123",
    "entityId": "456",
    "accountId": "1234567890",
    "entity": "invoice",
    "operation": "create",
    "eventType": "qbo.invoice.create",
    "timestamp": "2026-02-26T14:30:00Z",
    "source": "qbo",
    "specversion": "1.0"
  },
  "entityId": "456",
  "accountId": "1234567890",
  "entity": "invoice",
  "operation": "create",
  "eventType": "qbo.invoice.create",
  "timestamp": "2026-02-26T14:30:00Z"
}

```

Example Payload (Legacy format - deprecated)

```json
{
  "format": "legacy",
  "formatWarning": "Legacy webhook format detected. This format is deprecated and will be removed on May 15, 2026. Please migrate to CloudEvents format in your QuickBooks webhook settings.",
  "eventCount": 1,
  "events": [
    {
      "id": "1234567890-456-2026-02-26T14:30:00Z",
      "entityId": "456",
      "accountId": "1234567890",
      "entity": "customer",
      "operation": "update",
      "eventType": "legacy.customer.update",
      "timestamp": "2026-02-26T14:30:00Z",
      "source": "legacy"
    }
  ],
  "event": {
    "id": "1234567890-456-2026-02-26T14:30:00Z",
    "entityId": "456",
    "accountId": "1234567890",
    "entity": "customer",
    "operation": "update",
    "eventType": "legacy.customer.update",
    "timestamp": "2026-02-26T14:30:00Z",
    "source": "legacy"
  },
  "entityId": "456",
  "accountId": "1234567890",
  "entity": "customer",
  "operation": "update",
  "eventType": "legacy.customer.update",
  "timestamp": "2026-02-26T14:30:00Z"
}

```

**Key fields:**

* **`format`** — Either `"cloudevents"` or `"legacy"`, indicating which webhook format was received.
* **`event`** — The first parsed event (convenient shortcut when processing single-event webhooks).
* **`events`** — Array of all parsed events in the notification.
* **`entity`** / **`operation`** — The entity type and operation from the first event (e.g., `"invoice"` / `"create"`).
* **`entityId`** / **`accountId`** — The affected entity ID and QuickBooks company account ID.

#### Notes[​](#notes "Direct link to Notes")

* **Legacy format deprecation**: QuickBooks will require CloudEvents format after **May 15, 2026**. Update webhook subscriptions in the [QuickBooks Developer Portal](https://developer.intuit.com/) to use CloudEvents before this date.
* **Multi-event notifications**: A single webhook request may contain multiple entity change events. Use the `events` array to process all changes, not just the `event` shortcut.
* **Webhook verification**: QuickBooks signs webhook payloads with a verification token. Configure the token in the QuickBooks Developer Portal to match the value in the connection settings.

***

## Data Sources[​](#data-sources "Direct link to Data Sources")

### Select Account[​](#selectaccount "Direct link to Select Account")

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

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Account

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

```

***

### Select Attachment[​](#selectattachment "Direct link to Select Attachment")

Select an attachment from a dropdown menu. | **key: selectAttachment** | **type: picklist**

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Attachment

```json
{
  "result": [
    {
      "label": "invoice_scan.pdf",
      "key": "5000000000001348400"
    },
    {
      "label": "receipt_photo.jpg",
      "key": "5000000000001348401"
    }
  ]
}

```

***

### Select Customer[​](#selectcustomer "Direct link to Select Customer")

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

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Customer

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

```

***

### Select Invoice[​](#selectinvoice "Direct link to Select Invoice")

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

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Invoice

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

```

***

### Select Purchase Order[​](#selectpurchaseorder "Direct link to Select Purchase Order")

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

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Purchase Order

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

```

***

### Select Refund Receipt[​](#selectrefundreceipt "Direct link to Select Refund Receipt")

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

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Select Refund Receipt

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

```

***

## Actions[​](#actions "Direct link to Actions")

### Batch Request[​](#batchrequest "Direct link to Batch Request")

Perform a batch request against the QuickBooks API. | **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. | See Example |
| Connection          | The QuickBooks connection to use.                                                                                                                                    |             |

### Example Payload for <!-- -->Batch Request

```json
{
  "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 Invoice[​](#createinvoice "Direct link to 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. | See Example |
| Connection | The QuickBooks connection to use.                                   |             |

***

### Create Item[​](#createnoninventoryitem "Direct link to Create Item")

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

| Input                   | Notes                                                                                                                   | Example     |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------- |
| API Minor Version       | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied. | 75          |
| Non-Inventory Item Data | The attributes of the non-inventory item to create                                                                      | See Example |
| Connection              | The QuickBooks connection to use.                                                                                       |             |

***

### Create Note Attachment[​](#createnoteattachment "Direct link to Create Note Attachment")

Attach a note to an object. | **key: createNoteAttachment**

| Input                  | Notes                                                                                                                                                            | Example |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| Connection             | The QuickBooks connection to use.                                                                                                                                |         |
| Entity Reference Type  | Object reference to which this attachment is linked. Set this value with the specific type of the target object (e.g., Invoice, Bill, Purchase).                 | 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        | When true, the attachment is sent along with the transaction when the Save and Send button is clicked in the QuickBooks UI or when the Send endpoint is invoked. | false   |
| API Minor Version      | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied.                                          | 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[​](#createpurchaseorder "Direct link to Create Purchase Order")

Create a new Purchase Order. | **key: createPurchaseOrder**

| Input           | Notes                                                                                                                                                                                                                                     | Example |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| AP Account ID   | The unique identifier of the accounts payable account to which the bill is credited.                                                                                                                                                      | 33      |
| Connection      | The QuickBooks connection to use.                                                                                                                                                                                                         |         |
| 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 unique identifier of the vendor referenced in this transaction.                                                                                                                                                                       | 56      |

### Example Payload for <!-- -->Create Purchase Order

```json
{
  "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 Refund Receipt[​](#createrefundreceipt "Direct link to Create Refund Receipt")

Create a new Refund Receipt in QuickBooks. | **key: createRefundReceipt**

| Input              | Notes                                                                                                                                                                                                                                                                                                                                             | Example                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Account ID         | The unique identifier of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.                                                                                                                                                                                                  | 35                     |
| Account Name       | The name of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.                                                                                                                                                                                                               | Checking               |
| Billing Address ID | 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 \[]                                                                                     | See Example            |
| 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   | The latitude coordinate of the billing address.                                                                                                                                                                                                                                                                                                   | 40.7489277             |
| Billing Line 1     | The first line of the billing address, typically the name or primary address line.                                                                                                                                                                                                                                                                | Karen Pye              |
| Billing Line 2     | The second line of the billing address, typically used for a business or suite name.                                                                                                                                                                                                                                                              | Pye's Cakes            |
| Billing Line 3     | The third line of the billing address, typically used for street address or suite information.                                                                                                                                                                                                                                                    | 350 Mountain View Dr.  |
| Billing Line 4     | The fourth line of the billing address, typically used for city, state, and ZIP code.                                                                                                                                                                                                                                                             | 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 | See Example            |
| Billing Longitude  | The longitude coordinate of the billing address.                                                                                                                                                                                                                                                                                                  | -74.2609903            |
| Connection         | The QuickBooks connection to use.                                                                                                                                                                                                                                                                                                                 |                        |

***

### Create Resource[​](#createresource "Direct link to Create Resource")

Create a new resource in QuickBooks. | **key: createResource**

| Input               | Notes                                                                                                                                                                                  | Example |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| Connection          | The QuickBooks connection to use.                                                                                                                                                      |         |
| 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       | The type of QuickBooks resource to operate on.                                                                                                                                         |         |

***

### Create Sales Receipt[​](#createreceipt "Direct link to Create Sales Receipt")

Create a new Sales Receipt in QuickBooks. | **key: createReceipt**

| Input                    | Notes                                                                                                                                                                                                                                                                                                                                             | Example                   |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| Account ID               | The unique identifier of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.                                                                                                                                                                                                  | 35                        |
| Account Name             | The name of the account to which payment money is deposited. If not specified, payment is applied to the Undeposited Funds account.                                                                                                                                                                                                               | Checking                  |
| Apply Tax After Discount | When true, tax is calculated on the discounted amount rather than the original amount.                                                                                                                                                                                                                                                            | false                     |
| Create Time              | The date and time this record was created. Format: ISO 8601 (e.g., 2014-09-16T14:59:48-07:00).                                                                                                                                                                                                                                                    | 2014-09-16T14:59:48-07:00 |
| Customer ID              | The unique identifier of the customer to attach to the receipt.                                                                                                                                                                                                                                                                                   | 56                        |
| Customer Name            | The name of the customer that will appear 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 \[]                                                                                     | See Example               |
| 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 | See Example               |
| Payment Method ID        | The unique identifier of the payment method associated with this transaction.                                                                                                                                                                                                                                                                     | 2                         |
| Payment Method Name      | The name of the payment method associated with this transaction.                                                                                                                                                                                                                                                                                  | Check                     |
| Connection               | The QuickBooks connection to use.                                                                                                                                                                                                                                                                                                                 |                           |

***

### Delete Attachable[​](#deleteattachable "Direct link to Delete Attachable")

Delete 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         | The QuickBooks connection to use.                                                                                                                             |         |
| API Minor Version  | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied.                                       | 75      |

***

### Delete Purchase Order[​](#deletepurchaseorder "Direct link to Delete Purchase Order")

Delete an existing Purchase Order. | **key: deletePurchaseOrder**

| Input             | Notes                                           | Example |
| ----------------- | ----------------------------------------------- | ------- |
| Connection        | The QuickBooks connection to use.               |         |
| Purchase Order ID | The id of the purchase order to delete.         | 259     |
| Sync Token        | The sync token of the purchase order to delete. | 0       |

### Example Payload for <!-- -->Delete Purchase Order

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

```

***

### Delete Refund Receipt[​](#deleterefundreceipt "Direct link to Delete Refund Receipt")

Delete an existing Refund Receipt in QuickBooks. | **key: deleteRefundReceipt**

| Input      | Notes                                                                                            | Example |
| ---------- | ------------------------------------------------------------------------------------------------ | ------- |
| Connection | The QuickBooks connection to use.                                                                |         |
| Receipt ID | The unique identifier of the refund receipt.                                                     | 101     |
| Sync Token | The sync token of a QuickBooks resource, used for optimistic concurrency control during updates. | 0       |

***

### Download Attachment[​](#downloadattachment "Direct link to 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        | The QuickBooks connection to use.                                                                                       |                     |
| API Minor Version | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied. | 75                  |

***

### Find Resource by ID[​](#findresource "Direct link to Find Resource by ID")

Retrieve a resource by ID from QuickBooks. | **key: findResource**

| Input         | Notes                                                   | Example |
| ------------- | ------------------------------------------------------- | ------- |
| Connection    | The QuickBooks connection to use.                       |         |
| ID            | The primary unique identifier of a QuickBooks resource. | 123     |
| Resource Type | The type of QuickBooks resource to operate on.          |         |

***

### Get Company Info[​](#getcompanyinfo "Direct link to Get Company Info")

Retrieve information about the company. | **key: getCompanyInfo**

| Input      | Notes                             | Example |
| ---------- | --------------------------------- | ------- |
| Connection | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Get Company Info

```json
{
  "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[​](#getcustomerbydisplayname "Direct link to Get Customer By Display Name")

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

| Input                 | Notes                                                                     | Example              |
| --------------------- | ------------------------------------------------------------------------- | -------------------- |
| Customer Display Name | The name shown for the customer in the QuickBooks UI and on transactions. | Smith Rocket Company |
| Connection            | The QuickBooks connection to use.                                         |                      |

### Example Payload for <!-- -->Get Customer By Display Name

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

```

***

### Get Customer By ID[​](#getcustomerbyid "Direct link to 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  | The QuickBooks connection to use. |         |

### Example Payload for <!-- -->Get Customer By ID

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

```

***

### Get Invoice By ID[​](#getinvoicebyid "Direct link to 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 | The QuickBooks connection to use. |         |

***

### Get Refund Receipt[​](#getrefundreceipt "Direct link to Get Refund Receipt")

Retrieve an existing Refund Receipt from QuickBooks. | **key: getRefundReceipt**

| Input      | Notes                                        | Example |
| ---------- | -------------------------------------------- | ------- |
| Connection | The QuickBooks connection to use.            |         |
| Receipt ID | The unique identifier of the refund receipt. | 101     |

***

### Get Refund Receipt as PDF[​](#getrefundreceiptaspdf "Direct link to Get Refund Receipt as PDF")

Retrieve an existing Refund Receipt from QuickBooks as a PDF. | **key: getRefundReceiptAsPDF**

| Input      | Notes                                        | Example |
| ---------- | -------------------------------------------- | ------- |
| Connection | The QuickBooks connection to use.            |         |
| Receipt ID | The unique identifier of the refund receipt. | 101     |

***

### Get Sales Receipt[​](#getreceipt "Direct link to Get Sales Receipt")

Retrieve the information and metadata of a Sales Receipt by ID. | **key: getReceipt**

| Input      | Notes                                        | Example |
| ---------- | -------------------------------------------- | ------- |
| Connection | The QuickBooks connection to use.            |         |
| Receipt ID | The unique identifier of the refund receipt. | 101     |

***

### Get Vendor Expenses[​](#queryvendorexpenses "Direct link to 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   | The QuickBooks connection to use.                                                                                                                                                                                                                                                                    |         |

This action wraps QuickBooks' [Query a Report](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/report-entities/vendorexpenses#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. 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.

![Query vendor expenses action](/docs/assets/images/query-vendor-expenses-parameters-745bb2a05b88e5307e11bac636c45c3e.png)

***

### List Accounts[​](#listaccounts "Direct link to List Accounts")

Retrieve a list of all Accounts. | **key: listAccounts**

| Input          | Notes                                                                                      | Example |
| -------------- | ------------------------------------------------------------------------------------------ | ------- |
| Fetch All      | When true, automatically fetches all pages of results rather than returning a single page. | false   |
| Max Results    | The maximum number of results to return.                                                   | 1000    |
| Connection     | The QuickBooks connection to use.                                                          |         |
| Start Position | The starting position (1-based) from which to return results in a paginated query.         | 1       |

### Example Payload for <!-- -->List Accounts

```json
{
  "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[​](#listattachments "Direct link to List Attachments")

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

| Input                  | Notes                                                                                               | Example  |
| ---------------------- | --------------------------------------------------------------------------------------------------- | -------- |
| Attachable Entity ID   | The unique identifier of the QuickBooks entity that the attachment is linked to.                    | 611      |
| Attachable Entity Type | The type of the QuickBooks entity that the attachment is linked to (e.g., purchase, invoice, bill). | purchase |
| Connection             | The QuickBooks connection to use.                                                                   |          |

### Example Payload for <!-- -->List Attachments

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

```

***

### List Customers[​](#listcustomers "Direct link to List Customers")

Retrieve a list of all Customers. | **key: listCustomers**

| Input          | Notes                                                                                      | Example |
| -------------- | ------------------------------------------------------------------------------------------ | ------- |
| Fetch All      | When true, automatically fetches all pages of results rather than returning a single page. | false   |
| Max Results    | The maximum number of results to return.                                                   | 1000    |
| Connection     | The QuickBooks connection to use.                                                          |         |
| Start Position | The starting position (1-based) from which to return results in a paginated query.         | 1       |

### Example Payload for <!-- -->List Customers

```json
{
  "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[​](#listinvoices "Direct link to List Invoices")

Retrieve a list of all Invoices. | **key: listInvoices**

| Input          | Notes                                                                                      | Example |
| -------------- | ------------------------------------------------------------------------------------------ | ------- |
| Fetch All      | When true, automatically fetches all pages of results rather than returning a single page. | false   |
| Max Results    | The maximum number of results to return.                                                   | 1000    |
| Connection     | The QuickBooks connection to use.                                                          |         |
| Start Position | The starting position (1-based) from which to return results in a paginated query.         | 1       |

### Example Payload for <!-- -->List Invoices

```json
{
  "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[​](#listpurchaseorders "Direct link to List Purchase Orders")

Retrieve a list of all Purchase Orders. | **key: listPurchaseOrders**

| Input          | Notes                                                                                      | Example |
| -------------- | ------------------------------------------------------------------------------------------ | ------- |
| Fetch All      | When true, automatically fetches all pages of results rather than returning a single page. | false   |
| Max Results    | The maximum number of results to return.                                                   | 1000    |
| Connection     | The QuickBooks connection to use.                                                          |         |
| Start Position | The starting position (1-based) from which to return results in a paginated query.         | 1       |

### Example Payload for <!-- -->List Purchase Orders

```json
{
  "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[​](#listrefundreceipts "Direct link to List Refund Receipts")

Retrieve a list of all Refund Receipts. | **key: listRefundReceipts**

| Input          | Notes                                                                                      | Example |
| -------------- | ------------------------------------------------------------------------------------------ | ------- |
| Fetch All      | When true, automatically fetches all pages of results rather than returning a single page. | false   |
| Max Results    | The maximum number of results to return.                                                   | 1000    |
| Connection     | The QuickBooks connection to use.                                                          |         |
| Start Position | The starting position (1-based) from which to return results in a paginated query.         | 1       |

### Example Payload for <!-- -->List Refund Receipts

```json
{
  "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[​](#queryresource "Direct link to Query Resource")

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

| Input             | Notes                                                                                                                   | Example                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| API Minor Version | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied. | 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        | The QuickBooks connection to use.                                                                                       |                           |

This action allows for sending queries to [the Query endpoint](https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/data-queries#use-query-operation). Please [refer to QuickBooks' documentation](https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/data-queries#query-syntax) for building custom queries.

***

### Raw Request[​](#rawrequest "Direct link to Raw Request")

Send raw HTTP request to QuickBooks. | **key: rawRequest**

| Input                   | Notes                                                                                                                                                                                                                                                                                                                                                            | Example                                                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| Connection              | The QuickBooks connection to use.                                                                                                                                                                                                                                                                                                                                |                                                               |
| 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 Attachable[​](#readanattachable "Direct link to Read Attachable")

Read an attachable object. | **key: readAnAttachable**

| Input             | Notes                                                                                                                   | Example             |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------- |
| Attachable ID     | The unique identifier of the attachment.                                                                                | 5000000000001348400 |
| Connection        | The QuickBooks connection to use.                                                                                       |                     |
| API Minor Version | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied. | 75                  |

***

### Send Refund Receipt[​](#sendrefundreceipt "Direct link to Send Refund Receipt")

Send an existing Refund Receipt to the email saved in QuickBooks. | **key: sendRefundReceipt**

| Input      | Notes                                        | Example |
| ---------- | -------------------------------------------- | ------- |
| Connection | The QuickBooks connection to use.            |         |
| Receipt ID | The unique identifier of the refund receipt. | 101     |

***

### Send Refund Receipt to Email[​](#sendrefundreceipttoemail "Direct link to Send Refund Receipt to Email")

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

| Input      | Notes                                        | Example              |
| ---------- | -------------------------------------------- | -------------------- |
| Email      | The email address to send the receipt to.    | someone\@example.com |
| Connection | The QuickBooks connection to use.            |                      |
| Receipt ID | The unique identifier of the refund receipt. | 101                  |

***

### Update Attachable[​](#updateattachable "Direct link to Update Attachable")

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

| Input               | Notes                                                                                                                                                                                                                                    | Example     |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| Connection          | The QuickBooks connection to use.                                                                                                                                                                                                        |             |
| API Minor Version   | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied.                                                                                                                  | 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. | See Example |

***

### Update Purchase Order[​](#updatepurchaseorder "Direct link to Update Purchase Order")

Update an existing Purchase Order. | **key: updatePurchaseOrder**

| Input             | Notes                                                                                                                                                                                                                                     | Example |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| AP Account ID     | The unique identifier of the accounts payable account to which the bill is credited.                                                                                                                                                      | 33      |
| 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        | The QuickBooks connection to use.                                                                                                                                                                                                         |         |
| 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 QuickBooks resource, used for optimistic concurrency control during updates.                                                                                                                                          | 0       |
| Vendor ID         | The unique identifier of the vendor referenced in this transaction.                                                                                                                                                                       | 56      |

### Example Payload for <!-- -->Update Purchase Order

```json
{
  "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[​](#updaterefundreceipt "Direct link to Update Refund Receipt")

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

| Input              | Notes                                                                                                                                                                                                                                                                                                                                             | Example                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Billing Address ID | 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 \[]                                                                                     | See Example            |
| 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   | The latitude coordinate of the billing address.                                                                                                                                                                                                                                                                                                   | 40.7489277             |
| Billing Line 1     | The first line of the billing address, typically the name or primary address line.                                                                                                                                                                                                                                                                | Karen Pye              |
| Billing Line 2     | The second line of the billing address, typically used for a business or suite name.                                                                                                                                                                                                                                                              | Pye's Cakes            |
| Billing Line 3     | The third line of the billing address, typically used for street address or suite information.                                                                                                                                                                                                                                                    | 350 Mountain View Dr.  |
| Billing Line 4     | The fourth line of the billing address, typically used for city, state, and ZIP code.                                                                                                                                                                                                                                                             | 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 | See Example            |
| Billing Longitude  | The longitude coordinate of the billing address.                                                                                                                                                                                                                                                                                                  | -74.2609903            |
| Connection         | The QuickBooks connection to use.                                                                                                                                                                                                                                                                                                                 |                        |
| Receipt ID         | The unique identifier of the refund receipt.                                                                                                                                                                                                                                                                                                      | 101                    |
| Sync Token         | The sync token of a QuickBooks resource, used for optimistic concurrency control during updates.                                                                                                                                                                                                                                                  | 0                      |
| Total Amount       | The total monetary amount on the receipt.                                                                                                                                                                                                                                                                                                         | 150                    |

***

### Update Resource[​](#updateresource "Direct link to Update Resource")

Update a resource in QuickBooks. | **key: updateResource**

| Input               | Notes                                                                                                                                                                                  | Example |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| Connection          | The QuickBooks connection to use.                                                                                                                                                      |         |
| 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 unique identifier of a QuickBooks resource.                                                                                                                                | 123     |
| Resource Type       | The type of QuickBooks resource to operate on.                                                                                                                                         |         |
| Sync Token          | The sync token of a QuickBooks resource, used for optimistic concurrency control during updates.                                                                                       | 0       |

***

### Upload Attachment[​](#uploadattachment "Direct link to Upload Attachment")

Upload an attachment to an object. | **key: uploadAttachment**

| Input                  | Notes                                                                                                                                                            | Example            |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| Connection             | The QuickBooks connection to use.                                                                                                                                |                    |
| Entity Reference Type  | Object reference to which this attachment is linked. Set this value with the specific type of the target object (e.g., Invoice, Bill, Purchase).                 | 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                   | The file to attach. This should be a reference to a previous step's output.                                                                                      |                    |
| File Name              | The file name of the attachment.                                                                                                                                 | receipt\_nov15.jpg |
| File Type              | The MIME type of the attachment file.                                                                                                                            |                    |
| Include on Send        | When true, the attachment is sent along with the transaction when the Save and Send button is clicked in the QuickBooks UI or when the Send endpoint is invoked. | false              |
| API Minor Version      | The QuickBooks API minor version to use for this request. Controls which API features and response formats are applied.                                          | 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[​](#voidinvoice "Direct link to Void Invoice")

Void an Invoice. | **key: voidInvoice**

| Input      | Notes                                                                                            | Example |
| ---------- | ------------------------------------------------------------------------------------------------ | ------- |
| Invoice ID | The id of the invoice to void.                                                                   | 259     |
| Connection | The QuickBooks connection to use.                                                                |         |
| Sync Token | The sync token of a QuickBooks resource, used for optimistic concurrency control during updates. | 0       |

***

## Changelog[​](#changelog "Direct link to Changelog")

### 2026-02-27[​](#2026-02-27 "Direct link to 2026-02-27")

Added inline data source for attachments to enable dynamic dropdown selection

### 2026-02-19[​](#2026-02-19 "Direct link to 2026-02-19")

* Added webhook trigger that automatically detects and normalizes both CloudEvents and legacy QuickBooks webhook formats. Supports Customer, Invoice, and all other QuickBooks entity changes.
