quickbooks
Built by Metorial, the integration platform for agentic AI.
quickbooks
Server Summary
Manage financial data
Create and send invoices
Track expenses and payments
Generate financial reports
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.
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.
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.
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.
Record customer payments and automatically apply them to outstanding invoices. Track payment history and maintain accurate accounts receivable records.
Record business expenses with detailed categorization, vendor associations, and account classifications to maintain accurate financial records.
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.
Access your vendor directory and chart of accounts to ensure accurate categorization and reporting across all financial transactions.
Retrieve items, products, and services from your QuickBooks catalog for accurate invoice creation and inventory management.
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)Retrieve detailed information about a specific customer.
Parameters:
customerId
(string, required): The ID of the customer to retrieveCreate a new customer record in QuickBooks.
Parameters:
displayName
(string, required): Display name for the customergivenName
(string, optional): First namefamilyName
(string, optional): Last namecompanyName
(string, optional): Company nameprimaryPhone
(string, optional): Primary phone numberprimaryEmailAddr
(string, optional): Primary email addressbillingAddress
(object, optional): Billing address with properties for line1, city, postalCode, and countrySubDivisionCodeRetrieve a list of invoices with optional customer filtering.
Parameters:
customerId
(string, optional): Filter by customer IDmaxResults
(number, optional): Maximum number of results to return (default: 100)startPosition
(number, optional): Starting position for pagination (default: 1)Retrieve detailed information about a specific invoice.
Parameters:
invoiceId
(string, required): The ID of the invoice to retrieveCreate a new invoice for a customer with multiple line items.
Parameters:
customerId
(string, required): Customer IDlineItems
(array, required): Array of line items, each containing:
description
(string, required): Line item descriptionamount
(number, required): Line item amountitemId
(string, optional): Item/Service ID if applicablequantity
(number, optional): Quantity (default: 1)txnDate
(string, optional): Transaction date in YYYY-MM-DD formatdueDate
(string, optional): Due date in YYYY-MM-DD formatSend an existing invoice to a customer via email.
Parameters:
invoiceId
(string, required): The ID of the invoice to sendemailAddress
(string, optional): Override email address (uses customer email by default)Retrieve a list of payment transactions with optional customer filtering.
Parameters:
customerId
(string, optional): Filter by customer IDmaxResults
(number, optional): Maximum number of results to return (default: 100)startPosition
(number, optional): Starting position for pagination (default: 1)Record a payment received from a customer and apply it to invoices.
Parameters:
customerId
(string, required): Customer IDtotalAmount
(number, required): Total payment amounttxnDate
(string, optional): Transaction date in YYYY-MM-DD formatpaymentMethodId
(string, optional): Payment method IDlinkedInvoices
(array, optional): Array of invoices to apply payment to, each containing:
invoiceId
(string, required): Invoice IDamount
(number, required): Amount applied to this invoiceRetrieve 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 a new expense transaction.
Parameters:
accountId
(string, required): Account ID to expense fromamount
(number, required): Expense amounttxnDate
(string, optional): Transaction date in YYYY-MM-DD formatvendorId
(string, optional): Vendor IDcategoryId
(string, optional): Expense category/account IDdescription
(string, optional): Expense descriptionRetrieve 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)Retrieve accounts from your chart of accounts with optional type filtering.
Parameters:
accountType
(string, optional): Filter by account type (e.g., Bank, Income, Expense)Generate a profit and loss report for a specified date range.
Parameters:
startDate
(string, required): Start date in YYYY-MM-DD formatendDate
(string, required): End date in YYYY-MM-DD formataccountingMethod
(string, optional): Accounting method - either "Cash" or "Accrual" (default: Accrual)Generate a balance sheet report as of a specific date.
Parameters:
date
(string, required): Report date in YYYY-MM-DD formataccountingMethod
(string, optional): Accounting method - either "Cash" or "Accrual" (default: Accrual)Generate a cash flow statement for a specified date range.
Parameters:
startDate
(string, required): Start date in YYYY-MM-DD formatendDate
(string, required): End date in YYYY-MM-DD formatRetrieve 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)Retrieve information about your QuickBooks company including business name, address, and other company details.
Parameters: None required
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.