InTouch Hub · Blue Isle Software

QuickBooks Online

Query QuickBooks Online, read customers and invoices, create invoices, and fetch company details through the Accounting API v3.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

financeinvoicequickbooksstatus

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.