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

  1. 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.
  2. Create a Connection for QuickBooks Online in the required Flowgear Environment.
  3. Enter Client ID and Client Secret, and select Sandbox or Production to match the company you intend to connect.
  4. Click Connect Account and authorize the required company. The completed authorization supplies tokens and Company ID (realmId).
  5. 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.

See also