> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# QuickBooks Online

**Authentication:** OAuth. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List unpaid invoices over 30 days past due, by customer.
* Pull total revenue by class for Q1 and rank by largest.
* Find expenses tagged `client-billable` that haven't been invoiced.

## Available Tools

#### query\_accounts

Query Chart of Accounts using SQL-like syntax with filters for account type and active status.

#### get\_account

Retrieve comprehensive account details by ID including name, type, sub-type, classification, current balance, parent account, and account number.

#### create\_account

Create Chart of Accounts entry. Specify name, account type (Bank, Other Current Asset, Fixed Asset, etc.), account sub-type, and optional description, account number, or parent account for hierarchy.

#### update\_account

Update account with new name, description, account number, or active status. Uses optimistic locking with sync\_token. Cannot change account type.

#### query\_bills

Query bills using SQL-like syntax with filters for vendor, date range, and payment status.

#### get\_bill

Retrieve comprehensive bill details by ID including vendor info, line items with account/item details, amounts, due date, and balance information.

#### create\_bill

Create bill record for vendor with line items for expenses or items. Specify vendor, transaction date, line items with account or item details, and optional due date.

#### update\_bill

Update bill with new vendor, line items, dates, or amounts. Uses optimistic locking with sync\_token.

#### delete\_bill

Delete bill by ID permanently. Uses optimistic locking with sync\_token.

#### query\_customers

Query customers using SQL-like syntax with filters for name, status, and balance. Parameters: query (SQL filter), max\_results, start\_position, active\_only. Supports pagination.

#### get\_customer

Retrieve comprehensive customer details by ID including contact info, billing and shipping addresses, payment terms, balance info, tax settings, and metadata.

#### create\_customer

Create customer with contact info, addresses, and settings.

#### update\_customer

Update customer with new contact info, addresses, and settings.

#### delete\_customer

Soft delete customer by setting status to inactive.

#### check\_auth\_config

Diagnostic tool to check QuickBooks authentication configuration.

#### query\_estimates

Query estimates using SQL-like syntax with filters for customer, date range, and status.

#### get\_estimate

Retrieve comprehensive estimate details by ID including customer info, line items with products/services, amounts, transaction date, expiration date, and acceptance status.

#### create\_estimate

Create sales estimate for customer with line items. Specify customer, line items with products/services, transaction date, optional expiration date, and customer memo.

#### update\_estimate

Update estimate with new line items, dates, customer memo, or addresses. Uses optimistic locking with sync\_token.

#### delete\_estimate

Delete estimate by ID permanently. Uses optimistic locking with sync\_token.

#### send\_estimate

Send estimate via email to customer. Specify estimate ID, recipient email address, and optional subject line and message body.

#### query\_invoices

Query invoices using SQL-like syntax with filters for customer, status, dates, and amounts.

#### get\_invoice

Retrieve comprehensive invoice details by ID including customer info, line items with quantities and amounts, payment status, delivery info, tax calculations, and financial totals.

#### create\_invoice

Create invoice with line items, customer details, and financial settings.

#### update\_invoice

Modify existing invoice with updated line items, financial details, and settings.

#### void\_invoice

Void invoice while maintaining audit trail. Preserves historical records but removes from accounts receivable. Parameters: id (required), sync\_token (required). Cannot void paid invoices.

#### send\_invoice

Send invoice via email with customizable subject and message. Includes PDF and payment portal links. Parameters: invoice\_id (required), email\_address (required), subject, message.

#### query\_items

Query items using SQL-like syntax with flexible filtering and pagination support.

#### get\_item

Retrieve comprehensive item details by ID including name, description, SKU, unit price, purchase cost, income/expense accounts, inventory tracking, and quantity on hand.

#### create\_item

Create item for products/services.

#### update\_item

Update item name, description, SKU, pricing, accounts, or status.

#### delete\_item

Delete an item by marking it as inactive (soft delete).

#### query\_payments

Query payments using SQL-like syntax with filters for customer, date range, and amount.

#### get\_payment

Retrieve comprehensive payment details by ID including customer info, payment method, line items showing invoice applications, amounts applied and unapplied.

#### create\_payment

Create payment record for customer against invoices. Specify total amount, customer, payment method, and line items linking to invoices. Auto-calculates unapplied amounts.

#### update\_payment

Update payment with new amount, method, or invoice applications. Uses optimistic locking with sync\_token.

#### delete\_payment

Delete payment by ID. Uses optimistic locking with sync\_token.

#### query\_vendors

Query vendors using SQL-like syntax with filters for active status and name. Parameters: query (SQL filter), max\_results (1-1000), start\_position, active\_only. Supports pagination.

#### get\_vendor

Retrieve comprehensive vendor details by ID including contact information, addresses, email, phone numbers, tax identifier, balance, and 1099 status.

#### create\_vendor

Create vendor record with display name, contact details, billing address, email, phone, tax identifier, and 1099 settings. Display name is required.

#### update\_vendor

Update vendor with new contact details, address, email, phone, tax info, or active status. Uses optimistic locking with sync\_token.

#### delete\_vendor

Delete vendor by ID. Uses optimistic locking with sync\_token.