QuickBooks Online

Connect your AI agents to QuickBooks Online.

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.

validate_credential

Validate QuickBooks Online credentials by making a test API call. Returns success status and message. Use this to verify OAuth token and realm ID are valid.

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.