QuickBooks Online MCP Server for Cloudflare Workers
99 tools available in the QuickBooks MCP server. Each tool can be called by AI assistants to perform specific actions.
qbo_get_bill_paymentGet a single bill payment by ID.
Args:
Returns: The bill payment record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bill Payment ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_get_employeeGet a single employee by ID.
Args:
Returns: The employee record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Employee ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_list_accountsList accounts from QuickBooks Chart of Accounts with pagination.
Returns a paginated list of accounts. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Account[], count, hasMore, startPosition } Markdown format: Formatted table of accounts
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of accounts to return"
},
"accountType": {
"type": "string",
"description": "Filter by account type"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_accountGet a single account by ID.
Args:
Returns: The account record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Account ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_accountCreate a new account in QuickBooks.
Args:
Returns: The created account record.
{
"type": "object",
"required": [
"Name",
"AccountType"
],
"properties": {
"Name": {
"type": "string",
"description": "Account name (required)"
},
"Active": {
"type": "boolean",
"default": true,
"description": "Whether account is active"
},
"AccountType": {
"type": "string",
"description": "Account type"
},
"Description": {
"type": "string",
"description": "Account description"
},
"AccountSubType": {
"type": "string",
"description": "Account sub-type"
}
}
}qbo_update_accountUpdate an existing account.
Args:
Returns: The updated account record.
{
"type": "object",
"required": [
"Id",
"SyncToken"
],
"properties": {
"Id": {
"type": "string",
"description": "Account ID to update"
},
"Name": {
"type": "string",
"description": "New account name"
},
"Active": {
"type": "boolean",
"description": "Whether account is active"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"Description": {
"type": "string",
"description": "New description"
}
}
}qbo_list_billsList bills from QuickBooks with pagination.
Returns a paginated list of bills. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Bill[], count, hasMore, startPosition } Markdown format: Formatted table of bills
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"vendorId": {
"type": "string",
"description": "Filter by vendor ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of bills to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_billGet a single bill by ID.
Args:
Returns: The bill record with all available fields including line items.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Bill ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_billCreate a new bill in QuickBooks.
Args:
Returns: The created bill record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"DueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Bill number"
}
}
}qbo_update_billUpdate an existing bill.
Args:
Returns: The updated bill record.
{
"type": "object",
"required": [
"Id"
],
"properties": {
"Id": {
"type": "string",
"description": "Bill ID to update"
},
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Updated line items"
},
"DueDate": {
"type": "string",
"description": "New due date"
},
"TxnDate": {
"type": "string",
"description": "New transaction date"
},
"DocNumber": {
"type": "string",
"description": "New bill number"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_delete_billDelete a bill from QuickBooks.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Bill ID to delete"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_list_bill_paymentsList bill payments from QuickBooks with pagination.
Args:
Returns: JSON format: { items: BillPayment[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"vendorId": {
"type": "string",
"description": "Filter by vendor ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of bill payments to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_create_departmentCreate a new department (location) in QuickBooks.
Args:
Returns: The created department record.
{
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Department name (required)"
},
"Active": {
"type": "boolean",
"default": true,
"description": "Whether department is active"
}
}
}qbo_create_bill_paymentCreate a new bill payment in QuickBooks.
Args:
Returns: The created bill payment record.
{
"type": "object",
"required": [
"TotalAmt",
"PayType"
],
"properties": {
"PayType": {
"enum": [
"Check",
"CreditCard"
],
"type": "string",
"description": "Payment type"
},
"TxnDate": {
"type": "string",
"description": "Payment date (YYYY-MM-DD)"
},
"TotalAmt": {
"type": "number",
"description": "Total payment amount (required)"
}
}
}qbo_delete_bill_paymentDelete a bill payment from QuickBooks.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Bill Payment ID to delete"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_list_vendor_creditsList vendor credits from QuickBooks with pagination.
Args:
Returns: JSON format: { items: VendorCredit[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"vendorId": {
"type": "string",
"description": "Filter by vendor ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of vendor credits to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_vendor_creditGet a single vendor credit by ID.
Args:
Returns: The vendor credit record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Vendor Credit ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_vendor_creditCreate a new vendor credit in QuickBooks.
Args:
Returns: The created vendor credit record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Vendor credit number"
}
}
}qbo_list_customersList customers from QuickBooks with pagination.
Returns a paginated list of customers. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Customer[], count, hasMore, startPosition } Markdown format: Formatted table of customers
{
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Filter by active status"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of customers to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_customerGet a single customer by ID.
Args:
Returns: The customer record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Customer ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_customerCreate a new customer in QuickBooks.
Args:
Returns: The created customer record.
{
"type": "object",
"required": [
"DisplayName"
],
"properties": {
"Notes": {
"type": "string",
"description": "Customer notes"
},
"GivenName": {
"type": "string",
"description": "First name"
},
"FamilyName": {
"type": "string",
"description": "Last name"
},
"CompanyName": {
"type": "string",
"description": "Company name"
},
"DisplayName": {
"type": "string",
"description": "Display name (required, must be unique)"
}
}
}qbo_update_customerUpdate an existing customer.
Args:
Returns: The updated customer record.
{
"type": "object",
"required": [
"Id",
"SyncToken"
],
"properties": {
"Id": {
"type": "string",
"description": "Customer ID to update"
},
"Active": {
"type": "boolean",
"description": "Whether customer is active"
},
"GivenName": {
"type": "string",
"description": "New first name"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"FamilyName": {
"type": "string",
"description": "New last name"
},
"CompanyName": {
"type": "string",
"description": "New company name"
},
"DisplayName": {
"type": "string",
"description": "New display name"
}
}
}qbo_list_employeesList employees from QuickBooks with pagination.
Returns a paginated list of employees. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Employee[], count, hasMore, startPosition } Markdown format: Formatted table of employees
{
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Filter by active status"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of employees to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_create_employeeCreate a new employee in QuickBooks.
Args:
Returns: The created employee record.
{
"type": "object",
"required": [
"DisplayName"
],
"properties": {
"SSN": {
"type": "string",
"description": "Social security number (last 4 digits)"
},
"GivenName": {
"type": "string",
"description": "First name"
},
"FamilyName": {
"type": "string",
"description": "Last name"
},
"DisplayName": {
"type": "string",
"description": "Display name (required)"
}
}
}qbo_update_employeeUpdate an existing employee.
Args:
Returns: The updated employee record.
{
"type": "object",
"required": [
"Id",
"SyncToken"
],
"properties": {
"Id": {
"type": "string",
"description": "Employee ID to update"
},
"Active": {
"type": "boolean",
"description": "Whether employee is active"
},
"GivenName": {
"type": "string",
"description": "New first name"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"FamilyName": {
"type": "string",
"description": "New last name"
},
"DisplayName": {
"type": "string",
"description": "New display name"
}
}
}qbo_list_estimatesList estimates from QuickBooks with pagination.
Returns a paginated list of estimates. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Estimate[], count, hasMore, startPosition } Markdown format: Formatted table of estimates
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"customerId": {
"type": "string",
"description": "Filter by customer ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of estimates to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_estimateGet a single estimate by ID.
Args:
Returns: The estimate record with all available fields including line items.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Estimate ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_estimateCreate a new estimate in QuickBooks.
Args:
Returns: The created estimate record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Estimate number"
},
"ExpirationDate": {
"type": "string",
"description": "Expiration date (YYYY-MM-DD)"
}
}
}qbo_update_estimateUpdate an existing estimate.
Args:
Returns: The updated estimate record.
{
"type": "object",
"required": [
"Id"
],
"properties": {
"Id": {
"type": "string",
"description": "Estimate ID to update"
},
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Updated line items"
},
"TxnDate": {
"type": "string",
"description": "New transaction date"
},
"DocNumber": {
"type": "string",
"description": "New estimate number"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"TxnStatus": {
"enum": [
"Pending",
"Accepted",
"Closed",
"Rejected"
],
"type": "string",
"description": "New status"
},
"ExpirationDate": {
"type": "string",
"description": "New expiration date"
}
}
}qbo_delete_estimateDelete an estimate from QuickBooks.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Estimate ID to delete"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_list_sales_receiptsList sales receipts from QuickBooks with pagination.
Args:
Returns: JSON format: { items: SalesReceipt[], count, hasMore, startPosition } Markdown format: Formatted table of sales receipts
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of sales receipts to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_sales_receiptGet a single sales receipt by ID.
Args:
Returns: The sales receipt record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Sales Receipt ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_sales_receiptCreate a new sales receipt in QuickBooks.
Args:
Returns: The created sales receipt record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Receipt number"
}
}
}qbo_void_invoiceVoid an invoice in QuickBooks.
Args:
Returns: The voided invoice record.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Invoice ID to void"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_list_credit_memosList credit memos from QuickBooks with pagination.
Args:
Returns: JSON format: { items: CreditMemo[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"customerId": {
"type": "string",
"description": "Filter by customer ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of credit memos to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_credit_memoGet a single credit memo by ID.
Args:
Returns: The credit memo record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Credit Memo ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_credit_memoCreate a new credit memo in QuickBooks.
Args:
Returns: The created credit memo record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Credit memo number"
}
}
}qbo_list_refund_receiptsList refund receipts from QuickBooks with pagination.
Args:
Returns: JSON format: { items: RefundReceipt[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of refund receipts to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_refund_receiptGet a single refund receipt by ID.
Args:
Returns: The refund receipt record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Refund Receipt ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_refund_receiptCreate a new refund receipt in QuickBooks.
Args:
Returns: The created refund receipt record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Refund receipt number"
}
}
}qbo_list_payment_methodsList payment methods from QuickBooks.
Args:
Returns: JSON format: { items: PaymentMethod[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of payment methods to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_list_invoicesList invoices from QuickBooks with pagination.
Returns a paginated list of invoices. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Invoice[], count, hasMore, startPosition } Markdown format: Formatted table of invoices
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"customerId": {
"type": "string",
"description": "Filter by customer ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of invoices to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_invoiceGet a single invoice by ID.
Args:
Returns: The invoice record with all available fields including line items.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Invoice ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_invoiceCreate a new invoice in QuickBooks.
Args:
Returns: The created invoice record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"DueDate": {
"type": "string",
"description": "Due date (YYYY-MM-DD)"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Invoice number"
}
}
}qbo_update_invoiceUpdate an existing invoice.
Args:
Returns: The updated invoice record.
{
"type": "object",
"required": [
"Id"
],
"properties": {
"Id": {
"type": "string",
"description": "Invoice ID to update"
},
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Updated line items"
},
"DueDate": {
"type": "string",
"description": "New due date"
},
"TxnDate": {
"type": "string",
"description": "New transaction date"
},
"DocNumber": {
"type": "string",
"description": "New invoice number"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_delete_invoiceDelete an invoice from QuickBooks.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Invoice ID to delete"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_send_invoiceSend an invoice via email.
Args:
Returns: The sent invoice record.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Invoice ID to send"
},
"email": {
"type": "string",
"description": "Email address to send to"
}
}
}qbo_list_itemsList items (products/services) from QuickBooks with pagination.
Returns a paginated list of items. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Item[], count, hasMore, startPosition } Markdown format: Formatted table of items
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Filter by item type"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of items to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_itemGet a single item by ID.
Args:
Returns: The item record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Item ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_payment_methodCreate a new payment method in QuickBooks.
Args:
Returns: The created payment method record.
{
"type": "object",
"required": [
"Name"
],
"properties": {
"Name": {
"type": "string",
"description": "Payment method name (required)"
},
"Type": {
"enum": [
"CREDIT_CARD",
"NON_CREDIT_CARD"
],
"type": "string",
"description": "Payment method type"
},
"Active": {
"type": "boolean",
"default": true,
"description": "Whether payment method is active"
}
}
}qbo_create_itemCreate a new item (product/service) in QuickBooks.
Args:
Returns: The created item record.
{
"type": "object",
"required": [
"Name"
],
"properties": {
"Name": {
"type": "string",
"description": "Item name (required)"
},
"Type": {
"enum": [
"Inventory",
"Service",
"NonInventory",
"Group",
"Category"
],
"type": "string",
"default": "Service",
"description": "Item type"
},
"QtyOnHand": {
"type": "number",
"description": "Initial quantity on hand"
},
"UnitPrice": {
"type": "number",
"description": "Unit price for sales"
},
"Description": {
"type": "string",
"description": "Item description"
},
"InvStartDate": {
"type": "string",
"description": "Inventory start date (YYYY-MM-DD)"
},
"PurchaseCost": {
"type": "number",
"description": "Cost for purchases"
},
"TrackQtyOnHand": {
"type": "boolean",
"description": "Whether to track quantity on hand"
}
}
}qbo_update_itemUpdate an existing item.
Args:
Returns: The updated item record.
{
"type": "object",
"required": [
"Id",
"SyncToken"
],
"properties": {
"Id": {
"type": "string",
"description": "Item ID to update"
},
"Name": {
"type": "string",
"description": "New item name"
},
"Active": {
"type": "boolean",
"description": "Whether item is active"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"UnitPrice": {
"type": "number",
"description": "New unit price"
},
"Description": {
"type": "string",
"description": "New description"
},
"PurchaseCost": {
"type": "number",
"description": "New purchase cost"
}
}
}qbo_list_paymentsList customer payments from QuickBooks with pagination.
Returns a paginated list of payments. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Payment[], count, hasMore, startPosition } Markdown format: Formatted table of payments
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"customerId": {
"type": "string",
"description": "Filter by customer ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of payments to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_paymentGet a single payment by ID.
Args:
Returns: The payment record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Payment ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_paymentCreate a new customer payment in QuickBooks.
Args:
Returns: The created payment record.
{
"type": "object",
"required": [
"TotalAmt"
],
"properties": {
"TxnDate": {
"type": "string",
"description": "Payment date (YYYY-MM-DD)"
},
"TotalAmt": {
"type": "number",
"description": "Total payment amount (required)"
}
}
}qbo_update_paymentUpdate an existing payment.
Args:
Returns: The updated payment record.
{
"type": "object",
"required": [
"Id"
],
"properties": {
"Id": {
"type": "string",
"description": "Payment ID to update"
},
"TxnDate": {
"type": "string",
"description": "New payment date"
},
"TotalAmt": {
"type": "number",
"description": "New total amount"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_delete_paymentDelete a payment from QuickBooks.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Payment ID to delete"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_void_paymentVoid a payment in QuickBooks.
Args:
Returns: The voided payment record.
{
"type": "object",
"required": [
"id",
"syncToken"
],
"properties": {
"id": {
"type": "string",
"description": "Payment ID to void"
},
"syncToken": {
"type": "string",
"description": "Current sync token"
}
}
}qbo_list_termsList payment terms from QuickBooks.
Args:
Returns: JSON format: { items: Term[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of terms to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_run_reportRun a financial report in QuickBooks.
Available reports:
Args:
Returns: The report data with columns, rows, and summary.
{
"type": "object",
"required": [
"reportName"
],
"properties": {
"item": {
"type": "string",
"description": "Filter by item ID"
},
"class": {
"type": "string",
"description": "Filter by class ID"
},
"vendor": {
"type": "string",
"description": "Filter by vendor ID"
},
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"customer": {
"type": "string",
"description": "Filter by customer ID"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"department": {
"type": "string",
"description": "Filter by department ID"
},
"reportName": {
"enum": [
"ProfitAndLoss",
"ProfitAndLossDetail",
"BalanceSheet",
"BalanceSheetDetail",
"CashFlow",
"GeneralLedger",
"TrialBalance",
"AccountList",
"AgedReceivables",
"AgedReceivableDetail",
"AgedPayables",
"AgedPayableDetail",
"CustomerIncome",
"CustomerBalance",
"CustomerBalanceDetail",
"VendorExpenses",
"VendorBalance",
"VendorBalanceDetail",
"ItemSales",
"SalesByCustomer",
"SalesByProduct",
"DepartmentProfitAndLoss",
"ClassProfitAndLoss",
""
],
"type": "string",
"description": "Name of the report to run"
},
"summarizeBy": {
"enum": [
"Total",
"Month",
"Week",
"Days",
"Quarter",
"Year"
],
"type": "string",
"description": "Summarize columns by period"
},
"accountingMethod": {
"enum": [
"Accrual",
"Cash"
],
"type": "string",
"description": "Accounting method"
}
}
}qbo_profit_and_lossRun a Profit and Loss (Income Statement) report.
Args:
Returns: Income, expenses, and net income for the period.
{
"type": "object",
"required": [
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"summarizeBy": {
"enum": [
"Total",
"Month",
"Quarter",
"Year"
],
"type": "string",
"default": "Total",
"description": "Summarize by period"
},
"accountingMethod": {
"enum": [
"Accrual",
"Cash"
],
"type": "string",
"default": "Accrual",
"description": "Accounting method"
}
}
}qbo_balance_sheetRun a Balance Sheet report.
Args:
Returns: Assets, liabilities, and equity as of the specified date.
{
"type": "object",
"required": [
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "As of date (YYYY-MM-DD)"
},
"accountingMethod": {
"enum": [
"Accrual",
"Cash"
],
"type": "string",
"default": "Accrual",
"description": "Accounting method"
}
}
}qbo_cash_flowRun a Statement of Cash Flows report.
Args:
Returns: Cash flows from operating, investing, and financing activities.
{
"type": "object",
"required": [
"startDate",
"endDate"
],
"properties": {
"endDate": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"startDate": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
}
}
}qbo_aged_receivablesRun an Aged Receivables report showing outstanding customer invoices.
Args:
Returns: Outstanding invoices grouped by customer and aging period (Current, 1-30, 31-60, 61-90, 91+).
{
"type": "object",
"properties": {
"reportDate": {
"type": "string",
"description": "As of date (YYYY-MM-DD)"
}
}
}qbo_aged_payablesRun an Aged Payables report showing outstanding vendor bills.
Args:
Returns: Outstanding bills grouped by vendor and aging period (Current, 1-30, 31-60, 61-90, 91+).
{
"type": "object",
"properties": {
"reportDate": {
"type": "string",
"description": "As of date (YYYY-MM-DD)"
}
}
}qbo_get_company_infoGet company information from QuickBooks.
Returns: Company name, address, fiscal year, industry, and other company settings.
{
"type": "object",
"properties": {}
}qbo_get_preferencesGet company preferences from QuickBooks.
Returns: Accounting, sales, expenses, and other preference settings.
{
"type": "object",
"properties": {}
}qbo_list_classesList classes from QuickBooks for transaction categorization.
Args:
Returns: JSON format: { items: Class[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of classes to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_create_classCreate a new class in QuickBooks.
Args:
Returns: The created class record.
{
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Class name (required)"
},
"Active": {
"type": "boolean",
"default": true,
"description": "Whether class is active"
}
}
}qbo_list_departmentsList departments (locations) from QuickBooks.
Args:
Returns: JSON format: { items: Department[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of departments to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_create_termCreate a new payment term in QuickBooks.
Args:
Returns: The created term record.
{
"type": "object",
"required": [
"Name"
],
"properties": {
"Name": {
"type": "string",
"description": "Term name (required)"
},
"Active": {
"type": "boolean",
"default": true,
"description": "Whether term is active"
},
"DueDays": {
"type": "number",
"description": "Days until due"
},
"DiscountDays": {
"type": "number",
"description": "Days to receive discount"
},
"DiscountPercent": {
"type": "number",
"description": "Early payment discount %"
}
}
}qbo_list_tax_codesList tax codes from QuickBooks.
Args:
Returns: JSON format: { items: TaxCode[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of tax codes to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_list_tax_ratesList tax rates from QuickBooks.
Args:
Returns: JSON format: { items: TaxRate[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of tax rates to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_exchange_rateGet exchange rate for a currency.
Args:
Returns: Exchange rate for converting source currency to home currency.
{
"type": "object",
"required": [
"sourceCurrency"
],
"properties": {
"asOfDate": {
"type": "string",
"description": "Date for exchange rate (YYYY-MM-DD)"
},
"sourceCurrency": {
"type": "string",
"description": "Source currency code (e.g., EUR, GBP)"
}
}
}qbo_list_attachablesList attachments/files from QuickBooks.
Args:
Returns: JSON format: { items: Attachable[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of attachables to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_list_budgetsList budgets from QuickBooks.
Args:
Returns: JSON format: { items: Budget[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of budgets to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_queryExecute a custom QuickBooks Query Language query.
The QuickBooks Query Language is a SQL-like syntax for querying entities.
Args:
Example queries:
Returns: Array of matching entities.
{
"type": "object",
"required": [
"entity"
],
"properties": {
"entity": {
"type": "string",
"description": "Entity type to query"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Maximum results"
},
"whereClause": {
"type": "string",
"description": "WHERE clause for filtering"
}
}
}qbo_list_purchasesList purchases (checks, cash purchases, credit card charges) from QuickBooks.
Args:
Returns: JSON format: { items: Purchase[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of purchases to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_purchaseGet a single purchase by ID.
Args:
Returns: The purchase record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_purchaseCreate a new purchase (check, cash, or credit card) in QuickBooks.
Args:
Returns: The created purchase record.
{
"type": "object",
"required": [
"PaymentType",
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Transaction number"
},
"PaymentType": {
"enum": [
"Cash",
"Check",
"CreditCard"
],
"type": "string",
"description": "Payment type"
}
}
}qbo_list_purchase_ordersList purchase orders from QuickBooks.
Args:
Returns: JSON format: { items: PurchaseOrder[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"vendorId": {
"type": "string",
"description": "Filter by vendor ID"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of purchase orders to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_purchase_orderGet a single purchase order by ID.
Args:
Returns: The purchase order record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Purchase Order ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_purchase_orderCreate a new purchase order in QuickBooks.
Args:
Returns: The created purchase order record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of line items"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "PO number"
}
}
}qbo_list_journal_entriesList journal entries from QuickBooks.
Args:
Returns: JSON format: { items: JournalEntry[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of journal entries to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_journal_entryGet a single journal entry by ID.
Args:
Returns: The journal entry record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Journal Entry ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_journal_entryCreate a new journal entry in QuickBooks.
Args:
Returns: The created journal entry record.
{
"type": "object",
"required": [
"Line"
],
"properties": {
"Line": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of journal lines"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"DocNumber": {
"type": "string",
"description": "Journal entry number"
},
"PrivateNote": {
"type": "string",
"description": "Private memo"
}
}
}qbo_list_transfersList transfers between accounts from QuickBooks.
Args:
Returns: JSON format: { items: Transfer[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of transfers to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_transferGet a single transfer by ID.
Args:
Returns: The transfer record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Transfer ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_transferCreate a new transfer between accounts in QuickBooks.
Args:
Returns: The created transfer record.
{
"type": "object",
"required": [
"Amount"
],
"properties": {
"Amount": {
"type": "number",
"description": "Transfer amount"
},
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"PrivateNote": {
"type": "string",
"description": "Private memo"
}
}
}qbo_list_depositsList deposits from QuickBooks.
Args:
Returns: JSON format: { items: Deposit[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of deposits to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_depositGet a single deposit by ID.
Args:
Returns: The deposit record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Deposit ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_depositCreate a new deposit in QuickBooks.
Args:
Returns: The created deposit record.
{
"type": "object",
"properties": {
"TxnDate": {
"type": "string",
"description": "Transaction date (YYYY-MM-DD)"
},
"PrivateNote": {
"type": "string",
"description": "Private memo"
}
}
}qbo_list_time_activitiesList time activities from QuickBooks.
Args:
Returns: JSON format: { items: TimeActivity[], count, hasMore, startPosition }
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of time activities to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_time_activityGet a single time activity by ID.
Args:
Returns: The time activity record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Time Activity ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_time_activityCreate a new time activity in QuickBooks.
Args:
Returns: The created time activity record.
{
"type": "object",
"properties": {
"Hours": {
"type": "number",
"description": "Hours worked"
},
"NameOf": {
"enum": [
"Employee",
"Vendor"
],
"type": "string",
"description": "Type of entity"
},
"Minutes": {
"type": "number",
"description": "Minutes worked"
},
"TxnDate": {
"type": "string",
"description": "Activity date (YYYY-MM-DD)"
},
"HourlyRate": {
"type": "number",
"description": "Hourly rate"
},
"Description": {
"type": "string",
"description": "Activity description"
},
"BillableStatus": {
"enum": [
"Billable",
"NotBillable",
"HasBeenBilled"
],
"type": "string",
"description": "Billable status"
}
}
}qbo_list_vendorsList vendors from QuickBooks with pagination.
Returns a paginated list of vendors. Use startPosition from the response to fetch the next page.
Args:
Returns: JSON format: { items: Vendor[], count, hasMore, startPosition } Markdown format: Formatted table of vendors
{
"type": "object",
"properties": {
"active": {
"type": "boolean",
"description": "Filter by active status"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"maxResults": {
"type": "integer",
"default": 100,
"maximum": 100,
"minimum": 1,
"description": "Number of vendors to return"
},
"startPosition": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Starting position for pagination"
}
}
}qbo_get_vendorGet a single vendor by ID.
Args:
Returns: The vendor record with all available fields.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Vendor ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}qbo_create_vendorCreate a new vendor in QuickBooks.
Args:
Returns: The created vendor record.
{
"type": "object",
"required": [
"DisplayName"
],
"properties": {
"AcctNum": {
"type": "string",
"description": "Account number"
},
"GivenName": {
"type": "string",
"description": "First name"
},
"FamilyName": {
"type": "string",
"description": "Last name"
},
"CompanyName": {
"type": "string",
"description": "Company name"
},
"DisplayName": {
"type": "string",
"description": "Display name (required, must be unique)"
}
}
}qbo_update_vendorUpdate an existing vendor.
Args:
Returns: The updated vendor record.
{
"type": "object",
"required": [
"Id",
"SyncToken"
],
"properties": {
"Id": {
"type": "string",
"description": "Vendor ID to update"
},
"Active": {
"type": "boolean",
"description": "Whether vendor is active"
},
"GivenName": {
"type": "string",
"description": "New first name"
},
"SyncToken": {
"type": "string",
"description": "Current sync token"
},
"FamilyName": {
"type": "string",
"description": "New last name"
},
"CompanyName": {
"type": "string",
"description": "New company name"
},
"DisplayName": {
"type": "string",
"description": "New display name"
}
}
}