Built by Metorial, the integration platform for agentic AI.

Learn More

quickbooks

QuickBooks

    Server Summary

    • Manage financial data

    • Create and send invoices

    • Track expenses and payments

    • Generate financial reports

QuickBooks MCP Server

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with QuickBooks accounting software. This server enables AI assistants and applications to interact with your QuickBooks data, manage customers and vendors, create and send invoices, record payments, track expenses, and generate financial reports—all through a simple, standardized interface.

Overview

The QuickBooks MCP server bridges the gap between AI-powered applications and your accounting data. Whether you need to quickly look up customer information, generate financial reports, or automate invoice creation, this server provides a complete set of tools to manage your QuickBooks workflows efficiently. It supports all major accounting operations including customer relationship management, invoicing, payment processing, expense tracking, and comprehensive financial reporting.

Features

Customer Management

Maintain complete control over your customer database with tools for listing, retrieving, and creating customer records. Track customer details including contact information, billing addresses, and company details.

Invoice Operations

Create professional invoices with multiple line items, retrieve existing invoices, and send them directly to customers via email. Support for transaction dates, due dates, and flexible line item configurations makes invoice management straightforward.

Payment Processing

Record customer payments and automatically apply them to outstanding invoices. Track payment history and maintain accurate accounts receivable records.

Expense Tracking

Record business expenses with detailed categorization, vendor associations, and account classifications to maintain accurate financial records.

Financial Reporting

Generate comprehensive financial reports including profit and loss statements, balance sheets, and cash flow reports. Support for both cash and accrual accounting methods ensures compatibility with your preferred accounting practices.

Vendor and Account Management

Access your vendor directory and chart of accounts to ensure accurate categorization and reporting across all financial transactions.

Product and Service Catalog

Retrieve items, products, and services from your QuickBooks catalog for accurate invoice creation and inventory management.

Tools

list_customers

Retrieve a paginated list of customers from your QuickBooks account.

Parameters:

  • maxResults (number, optional): Maximum number of results to return (default: 100)
  • startPosition (number, optional): Starting position for pagination (default: 1)

get_customer

Retrieve detailed information about a specific customer.

Parameters:

  • customerId (string, required): The ID of the customer to retrieve

create_customer

Create a new customer record in QuickBooks.

Parameters:

  • displayName (string, required): Display name for the customer
  • givenName (string, optional): First name
  • familyName (string, optional): Last name
  • companyName (string, optional): Company name
  • primaryPhone (string, optional): Primary phone number
  • primaryEmailAddr (string, optional): Primary email address
  • billingAddress (object, optional): Billing address with properties for line1, city, postalCode, and countrySubDivisionCode

list_invoices

Retrieve a list of invoices with optional customer filtering.

Parameters:

  • customerId (string, optional): Filter by customer ID
  • maxResults (number, optional): Maximum number of results to return (default: 100)
  • startPosition (number, optional): Starting position for pagination (default: 1)

get_invoice

Retrieve detailed information about a specific invoice.

Parameters:

  • invoiceId (string, required): The ID of the invoice to retrieve

create_invoice

Create a new invoice for a customer with multiple line items.

Parameters:

  • customerId (string, required): Customer ID
  • lineItems (array, required): Array of line items, each containing:
    • description (string, required): Line item description
    • amount (number, required): Line item amount
    • itemId (string, optional): Item/Service ID if applicable
    • quantity (number, optional): Quantity (default: 1)
  • txnDate (string, optional): Transaction date in YYYY-MM-DD format
  • dueDate (string, optional): Due date in YYYY-MM-DD format

send_invoice

Send an existing invoice to a customer via email.

Parameters:

  • invoiceId (string, required): The ID of the invoice to send
  • emailAddress (string, optional): Override email address (uses customer email by default)

list_payments

Retrieve a list of payment transactions with optional customer filtering.

Parameters:

  • customerId (string, optional): Filter by customer ID
  • maxResults (number, optional): Maximum number of results to return (default: 100)
  • startPosition (number, optional): Starting position for pagination (default: 1)

create_payment

Record a payment received from a customer and apply it to invoices.

Parameters:

  • customerId (string, required): Customer ID
  • totalAmount (number, required): Total payment amount
  • txnDate (string, optional): Transaction date in YYYY-MM-DD format
  • paymentMethodId (string, optional): Payment method ID
  • linkedInvoices (array, optional): Array of invoices to apply payment to, each containing:
    • invoiceId (string, required): Invoice ID
    • amount (number, required): Amount applied to this invoice

list_expenses

Retrieve a list of expense transactions.

Parameters:

  • maxResults (number, optional): Maximum number of results to return (default: 100)
  • startPosition (number, optional): Starting position for pagination (default: 1)

create_expense

Create a new expense transaction.

Parameters:

  • accountId (string, required): Account ID to expense from
  • amount (number, required): Expense amount
  • txnDate (string, optional): Transaction date in YYYY-MM-DD format
  • vendorId (string, optional): Vendor ID
  • categoryId (string, optional): Expense category/account ID
  • description (string, optional): Expense description

list_vendors

Retrieve a list of vendors from your QuickBooks account.

Parameters:

  • maxResults (number, optional): Maximum number of results to return (default: 100)
  • startPosition (number, optional): Starting position for pagination (default: 1)

list_accounts

Retrieve accounts from your chart of accounts with optional type filtering.

Parameters:

  • accountType (string, optional): Filter by account type (e.g., Bank, Income, Expense)

get_profit_and_loss

Generate a profit and loss report for a specified date range.

Parameters:

  • startDate (string, required): Start date in YYYY-MM-DD format
  • endDate (string, required): End date in YYYY-MM-DD format
  • accountingMethod (string, optional): Accounting method - either "Cash" or "Accrual" (default: Accrual)

get_balance_sheet

Generate a balance sheet report as of a specific date.

Parameters:

  • date (string, required): Report date in YYYY-MM-DD format
  • accountingMethod (string, optional): Accounting method - either "Cash" or "Accrual" (default: Accrual)

get_cash_flow

Generate a cash flow statement for a specified date range.

Parameters:

  • startDate (string, required): Start date in YYYY-MM-DD format
  • endDate (string, required): End date in YYYY-MM-DD format

list_items

Retrieve items, products, and services from your catalog.

Parameters:

  • type (string, optional): Filter by item type (e.g., Service, Inventory)
  • maxResults (number, optional): Maximum number of results to return (default: 100)

get_company_info

Retrieve information about your QuickBooks company including business name, address, and other company details.

Parameters: None required

Use Cases

The QuickBooks MCP server excels in numerous business scenarios. Automate your invoicing workflow by creating and sending invoices based on completed work or delivered products. Monitor your financial health by generating regular profit and loss reports and balance sheets. Streamline payment processing by recording customer payments and automatically reconciling them against outstanding invoices. Track business expenses in real-time and categorize them appropriately for accurate tax reporting. Build customer relationship management workflows that keep your contact information current and accessible. Generate cash flow statements to better understand your business liquidity and make informed financial decisions.

This server transforms how you interact with QuickBooks, making accounting operations accessible through natural language interfaces and automated workflows while maintaining the accuracy and reliability required for financial management.