QuickBooks Online v2
Provides integration with the QuickBooks Online Accounting API for company queries, record changes, and invoice and payment actions.
Revision History
0.0.0.1 - Introduces the QuickBooks Online connector.
0.0.0.3 - Adds Custom Query.
0.0.0.7 - Uses standard Flowgear metadata for mutation responses.
Connection
Use a separate Connection for each company and QuickBooks environment you need to access.
| Property | Type | Description |
|---|---|---|
Client ID |
String | Required OAuth client identifier from the Intuit app registration. |
Client Secret |
Masked | Required OAuth client secret. |
App ID |
String | Optional identifier for your administration records; it is not sent to the Accounting API. |
Access Token |
Masked | Populated by Connect Account and refreshed automatically. |
Refresh Token |
Masked | Populated by Connect Account and saved again when Intuit rotates it. |
Company ID (realmId) |
String | Numeric company identifier returned by Intuit when you connect the account. |
Environment |
Enum | Sandbox for developer companies or Production for live companies. Defaults to Sandbox. |
Minor Version |
String | Numeric Accounting API minor version appended to requests. Defaults to 75. |
Setup Notes
- Create an Intuit app registration with access to the QuickBooks Online Accounting API and register the callback URI used by the Connection's OAuth flow.
- Create a Connection for
QuickBooks Onlinein the required Flowgear Environment. - Enter
Client IDandClient Secret, and selectSandboxorProductionto match the company you intend to connect. - Click
Connect Accountand authorize the required company. The completed authorization supplies tokens andCompany ID (realmId). - Test and save the Connection. Its test reads company information; separately test the business operations your Workflow needs.
Select a Method and template when adding the Node. Templates supply OperationId and a sample input/output shape. Replace placeholder IDs, tokens, email addresses, and business fields before running. Available entities and fields depend on the company's region, subscription, and enabled features.
Methods
Query
Queries the entity selected by the template. Results are returned as individual records, with later pages fetched as they are consumed.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Options |
Object | Set Query to a QuickBooks Query Language statement. Do not include STARTPOSITION or MAXRESULTS; the Node supplies pagination. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Provider-shaped query records. An empty result contains no rows. |
The entity after FROM must match the selected entity template. Choose Custom Query when you need to choose the entity and fields yourself. Its OperationId is query:Custom; add the expected Return Properties or use Infer Schema after a representative run.
Read
Reads one record by its QuickBooks identifier.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Options |
Object | Set Id to the identifier of the selected entity. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The requested entity as one record. |
Create
Creates records from the input collection. The Node uses provider batches where the selected operation supports them.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Items |
Array | Provider-shaped records to create, using the selected template and required company-specific fields. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result for each input record, including the provider result and the echoed request for mutation correlation. |
Update
Updates existing records. Select a full or sparse update template where available. A full update supplies the record required by the provider; a sparse update changes only the supplied fields.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Items |
Array | Records containing Id, the current SyncToken, and the fields to update. The sparse template adds the provider sparse-update flag. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result for each input record. |
Read the record first when you need its current SyncToken. A stale token can cause a concurrency failure; retrieve the current record and reconcile the intended change before retrying.
Delete
Deletes records for entities with a supported delete operation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Items |
Array | Identity records containing Id and the current SyncToken. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result for each requested deletion. |
Action
Performs an operation selected by its action template: send an Invoice, void a Payment, or void a SalesReceipt.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The QuickBooks Online Connection for the target company. |
OperationId |
String | The operation selected by the template. Keep it consistent with the Method and entity. |
Options |
Object | For Invoice Send, set Id and EmailAddress. The action sends the invoice to that recipient. |
Items |
Array | For Payment Void or SalesReceipt Void, supply identity records containing Id and SyncToken. |
| Return | Type | Description |
|---|---|---|
Response |
Array | The action result, with the original request in its mutation metadata. |
Usage Notes
Available entity templates
Choose a template for the operation you need. A missing operation in this table is not made available by changing OperationId manually. Custom Query provides a query with an editable entity and field selection.
| Entity | Operations |
|---|---|
Account |
Query, Read, Create, Full Update |
Bill |
Query, Read, Create, Full Update, Delete |
BillPayment |
Query, Read, Create, Full Update, Delete |
Budget |
Query |
Class |
Query, Read, Create, Full Update |
CompanyCurrency |
Query, Read, Create, Delete |
CreditMemo |
Query, Read, Create, Full Update, Delete |
Customer |
Query, Read, Create, Full Update, Sparse Update |
Department |
Query, Read, Create, Full Update |
Deposit |
Query, Read, Create, Full Update, Sparse Update, Delete |
Employee |
Query, Read, Create, Full Update |
Estimate |
Query, Read, Create, Full Update, Sparse Update, Delete |
Invoice |
Query, Read, Create, Full Update, Sparse Update, Delete |
Item |
Query, Read, Create, Full Update |
Category |
Query, Read, Create |
JournalEntry |
Query, Read, Create, Full Update, Sparse Update, Delete |
Payment |
Query, Read, Create, Full Update, Delete |
PaymentMethod |
Query, Read, Create, Full Update |
Purchase |
Query, Read, Create, Full Update, Delete |
PurchaseOrder |
Query, Read, Create, Full Update, Delete |
RefundReceipt |
Query, Read, Create, Full Update, Sparse Update, Delete |
SalesReceipt |
Query, Read, Create, Full Update, Sparse Update, Delete |
TaxAgency |
Query, Read, Create |
TaxCode |
Query, Read |
TaxRate |
Query, Read |
TaxService |
Create |
Term |
Query, Read, Create, Full Update |
TimeActivity |
Create |
Transfer |
Query, Read, Create, Full Update, Sparse Update, Delete |
Vendor |
Query, Read, Create, Full Update |
VendorCredit |
Query, Read, Create, Full Update, Delete |
Category uses the provider's Item records. TaxService creates a TaxCode through its specialized endpoint. Templates are examples of the provider payload, not a guarantee that every field or entity is enabled for your company.
Streaming, failures, and correlation
The first query page or mutation batch is processed when the Step starts. Later work continues as downstream Steps consume Response, retaining lazy evaluation. Query pages contain up to 1,000 records; supported mutation batches contain up to 30 inputs.
Mutation responses include Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. Check each record's result before recording a successful change, and use the echoed request to correlate source and target records. Query and Read failures fail the operation; a mutation collection can contain both successes and failures. See Handle Partial Batch Failures.
Do not retry an entire create batch solely because one result failed. Preserve successful correlations and retry only the records that require another attempt, after checking whether the provider already applied the intended change.
Examples
To query active customers, choose the Customer Query template and set Options.Query to:
SELECT * FROM Customer WHERE Active = true
Consume the records from Response and use their Id values for later reads or updates. Leave pagination clauses out of the query; the Node retrieves subsequent pages.