Quickbooks Online Connector Reference | MuleSoft Documentation
# Quickbooks Online Connector Reference
QuickBooks Online provides cloud-based accounting software that enables organizations to manage core business processes, ERP financials, e-commerce, inventory, and more.
QuickBooks Online Connector uses API minor version 62.
## Connections
To connect to a system, whether it is a source of data or the target where you are sending data, you must create a connection with that system’s required credentials. You typically connect to different systems within a flow and can reuse each connection every time you need to connect.
This system requires the following credential information for its connections: 

Connection Name
    
Enter a connection name that will help you remember the details of this connection. You can reuse connections multiple times in a single flow, and in more than one flow, and the credentials are hidden after you create the connection. Therefore, it’s helpful to provide a name that easily identifies this connection from others.
Only you can see the connection. Other users in your Composer app must create their own connections. 

Username
    
The OAuth username that you use to log in to QuickBooks Online. 

Password
    
The OAuth password that you use to log in to QuickBooks Online.
## Triggers
Each flow starts with either a _scheduler_ or a _trigger_. Schedulers are set to a default frequency of 15 minutes. Triggers, such as "each time a new record is created", are defined by you and provide multiple options related to the data in your system.
Triggers use a polling process to actively check for new updates from an external system. The polling frequency is 15 seconds.
This system provides the following trigger options: 

New Invoice
    
Triggers when a new invoice is created. 

New or Updated Invoice
    
Triggers when an invoice is created or when an existing invoice is updated. 

New Customer
    
Triggers when a new customer is created. 

New or Updated Customer
    
Triggers when a customer is created or when an existing customer is updated. 

New Item
    
Triggers when a new item is created. 

New or Updated Item
    
Triggers when an item is created or when an existing item is updated. 

New Estimate
    
Triggers when an estimate is created. 

New or Updated Estimate
    
Triggers when an estimate is created or when an existing estimate is updated.
### Polling Frequency
For triggers in this connector, the **Polling Frequency** field is required. This field enables you to select how often Composer makes a request to the underling system API to look for changes to records in active flows. You can select a different polling frequency for each flow in your organization. With a shorter frequency, the flow executes more often; however, a shorter frequency consumes more API calls. For example, if you have an order management flow, you might require nearly real-time updates, which can be achieved with a 15-second polling interval (which equates to 5760 API calls per day). In contrast, if your flow updates a pricing catalog, you could poll the flow every hour (which equates to 24 API calls per day).
## Actions
After you connect to a system and define the trigger or configure a scheduler, you define the actions that the flow performs. For example, you can copy a record between different systems, such as Workday and Salesforce. The actions you can perform depend on which system you are connected to.
This system provides the following actions: 

Create Invoice
    
Creates a new invoice. Provide a value for **Customer ID**. 

Update Invoice
    
Updates an existing invoice. Provide a value for **Invoice ID**. 

Create Customer
    
Creates a new customer. 

Update Customer
    
Updates an existing customer. Provide a value for **Customer ID**. 

Create Item
    
Creates a new item. The following fields are required:
  * If the value in the **Track Quantity on Hand** is equal to `True`, the following fields are required:
    * **Asset Account Reference**
    * **Invoice Start Date**
    * **Quantity on Hand**



Update Item
    
Updates an existing item. The following fields are required:
  * If the value in the **Track Quantity on Hand** is equal to `True`, the following fields are required:
    * **Asset Account Reference**
    * **Invoice Start Date**
    * **Quantity on Hand**



Query Invoice
    
Searches for an existing invoice. One or more of the following fields must be populated to return results:
  * **Invoice ID Equals**
  * **Customer ID Equals**
  * **Due Date Greater Or Equal**
  * **Date Created Greater or Equal**
  * **Last Updated Date Greater or Equal**



Query Customer
    
Searches for an existing customer. One or more of the following fields must be populated to return results:
  * **Customer ID Equals**
  * **Customer Display Name Equals**
  * **Customer Display Name Like**
  * **Active Equals**
  * **Primary Email Address Equals**
  * **Primary Email Address Like**
  * **Balance Greater Or Equal**
  * **Date Created Greater or Equal**
  * **Last Updated Date Greater or Equal**



Query Item
    
Searches for an existing item. One or more of the following fields must be populated to return results:
  * **Item ID Equals**
  * **Name Equals**
  * **Name Like**
  * **Active Equals**
  * **Type Equals**
  * **Date Created Greater or Equal**
  * **Last Updated Date Greater or Equal**



Get Invoice
    
Returns an invoice. Provide a value for **Customer ID**. 

Get Customer
    
Returns a customer. Provide a value for **Customer ID**. 

Get Item
    
Returns an item. Provide a value for **Item ID**. 

Create Estimate
    
Creates an estimate record. Provide a value for the following fields:
  * **Customer ID**
  * **Estimate Parameters**



Get Estimate
    
Returns an estimate. Provide a value for **Estimate ID**. 

Update Estimate
    
Updates the estimate record. Provide a value for the following fields:
  * **Estimate ID**
  * **Estimate Parameters**


## Custom Fields
Using MuleSoft Composer, you can access custom field values for actions and triggers that you set in the Quickbooks Online record.
Note that the QuickBooks Online API only returns the first three custom fields created for the type `string`. Any subsequent custom string fields or any fields of another data type, such as `date` or `picklist`, are not writable fields within Composer. For more information, see the Quickbooks Online documentation.
## See Also
  * Mulesoft Composer: Overview
  * MuleSoft Composer: Getting Started
  * Composer Connector Reference
  * Knowledge Articles