QuickBooks Online Tool
Read and create QuickBooks Online accounting data — customers, invoices, company info — via the QuickBooks Online Accounting API v3.
Tool ID
quickbooks-accounting
Credential Required
Yes — a server-refreshed oauth credential (auth mode oauth_user). The InTouch server resolves and refreshes the linked OAuth credential and hands the tool a live access token; the tool never refreshes or stores tokens itself. Requests are sent with Authorization: Bearer <access_token> to https://quickbooks.api.intuit.com/v3/company/{realmId} (the realmId — the QuickBooks company/tenant id — comes from the task input, not the credential).
Credential Properties
| Property | Type | Default | Description |
|---|---|---|---|
client_id |
string | — | OAuth app client ID. |
client_secret |
string | — | OAuth app client secret (if required on refresh). |
token_url |
string | — | Provider OAuth token endpoint — used to refresh. |
access_token |
string | — | Required. Current access token — kept fresh by the server; do not edit by hand. |
refresh_token |
string | — | Refresh token; enables automatic server-side refresh. |
token_type |
string | Bearer |
Token type. |
scope |
string | — | Granted OAuth scopes (space-separated). |
expires_at |
string | — | Access-token expiry in epoch seconds (0 = non-expiring). |
Operations
1. query — Run a QuickBooks query
Runs a SQL-like QuickBooks query against any entity. Calls GET /query.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string | — | Required. query |
realmId |
string | — | Required. QuickBooks company (realm) id — the tenant identifier in the URL path. |
query |
string | — | Query params as a JSON object string. For the 'query' op pass the SQL-like statement, e.g. {"query": "select * from Customer maxresults 10"}. |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
2. get_customer — Get one customer
Fetches a single customer by entity id. Calls GET /customer/{id}.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string | — | Required. get_customer |
realmId |
string | — | Required. QuickBooks company (realm) id — the tenant identifier in the URL path. |
id |
string | — | Required. Entity id. |
query |
string | — | Optional query params as a JSON object string. |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
3. get_invoice — Get one invoice
Fetches a single invoice by entity id. Calls GET /invoice/{id}.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string | — | Required. get_invoice |
realmId |
string | — | Required. QuickBooks company (realm) id — the tenant identifier in the URL path. |
id |
string | — | Required. Entity id. |
query |
string | — | Optional query params as a JSON object string. |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
4. create_invoice — Create an invoice
Creates a new invoice from a JSON body. Calls POST /invoice with a JSON request body.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string | — | Required. create_invoice |
realmId |
string | — | Required. QuickBooks company (realm) id — the tenant identifier in the URL path. |
body |
string | — | Request body as a JSON object string (for create_invoice). |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
5. company_info — Get company info
Fetches the company information record. Calls GET /companyinfo/{realmId}.
Properties:
| Property | Type | Default | Description |
|---|---|---|---|
operation |
string | — | Required. company_info |
realmId |
string | — | Required. QuickBooks company (realm) id — the tenant identifier in the URL path. |
query |
string | — | Optional query params as a JSON object string. |
Published Outputs:
- result — the JSON response body
- status — HTTP status code
Self-Contained JAR
The jar bundles all runtime dependencies; only intouch-tool-api is provided by the server.
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
completeoperationresultstatuswarning