quickbooks
Built by Metorial, the integration platform for agentic AI.
quickbooks
Server Summary
Manage financial data
Automate accounting workflows
Generate financial reports
Process invoices and payments
The QuickBooks MCP Server provides seamless integration with QuickBooks Online, enabling you to manage your accounting operations directly through the Model Context Protocol. This server offers comprehensive access to customer management, invoicing, payment processing, expense tracking, and financial reporting capabilities. With this integration, you can automate accounting workflows, generate financial reports, and maintain your books without leaving your MCP-enabled environment.
This MCP server acts as a bridge between your applications and QuickBooks Online, exposing a rich set of accounting and financial management tools through a standardized interface. Whether you're building automated workflows, creating financial dashboards, or simply need programmatic access to your QuickBooks data, this server provides the essential functionality to interact with customers, invoices, payments, expenses, vendors, and financial reports.
The server handles all the complexity of QuickBooks API authentication and data formatting, presenting you with clean, intuitive tools that make accounting operations straightforward and efficient. From creating and sending invoices to generating profit and loss statements, you have complete control over your QuickBooks data.
Maintain complete control over your customer database with tools for listing, retrieving, and creating customer records. Track customer information including contact details, billing addresses, and company information.
Create professional invoices with line items, manage due dates, retrieve existing invoices, and send invoices directly to customers via email. Support for filtered queries allows you to easily find invoices by customer or retrieve specific invoice details.
Record and track customer payments with full support for applying payments to specific invoices. Link payments to multiple invoices, specify payment methods, and maintain accurate records of all transactions.
Track business expenses by creating expense transactions, categorizing spending, and linking expenses to vendors. Filter and retrieve expense records for reporting and analysis purposes.
Generate comprehensive financial reports including Profit and Loss statements, Balance Sheets, and Cash Flow statements. Reports support both cash and accrual accounting methods and can be customized by date range.
Access your vendor directory and chart of accounts to support proper expense categorization and financial organization. List and filter accounts by type to ensure accurate financial tracking.
Retrieve your product and service catalog to support accurate invoice creation and inventory management.
Retrieve a paginated list of customers from your QuickBooks company.
Parameters:
maxResults (optional, number): Maximum number of results to return (default: 100)startPosition (optional, number): Starting position for pagination (default: 1)Retrieve detailed information about a specific customer.
Parameters:
customerId (required, string): The ID of the customer to retrieveCreate a new customer record in QuickBooks.
Parameters:
displayName (required, string): Display name for the customergivenName (optional, string): First namefamilyName (optional, string): Last namecompanyName (optional, string): Company nameprimaryPhone (optional, string): Primary phone numberprimaryEmailAddr (optional, string): Primary email addressbillingAddress (optional, object): Billing address with properties:
line1 (string): Street addresscity (string): CitycountrySubDivisionCode (string): State/province codepostalCode (string): ZIP or postal codeRetrieve a list of invoices with optional filtering by customer.
Parameters:
customerId (optional, string): Filter by customer IDmaxResults (optional, number): Maximum number of results to return (default: 100)startPosition (optional, number): Starting position for pagination (default: 1)Retrieve detailed information about a specific invoice.
Parameters:
invoiceId (required, string): The ID of the invoice to retrieveCreate a new invoice for a customer with line items.
Parameters:
customerId (required, string): Customer IDlineItems (required, array): Invoice line items, each containing:
description (required, string): Line item descriptionamount (required, number): Line item amountquantity (optional, number): Quantity (default: 1)itemId (optional, string): Item/Service ID if applicabletxnDate (optional, string): Transaction date in YYYY-MM-DD formatdueDate (optional, string): Due date in YYYY-MM-DD formatSend an invoice via email to the customer.
Parameters:
invoiceId (required, string): The ID of the invoice to sendemailAddress (optional, string): Override email address (uses customer email by default)Retrieve a list of payment records with optional customer filtering.
Parameters:
customerId (optional, string): Filter by customer IDmaxResults (optional, number): Maximum number of results to return (default: 100)startPosition (optional, number): Starting position for pagination (default: 1)Record a payment received from a customer and optionally apply it to invoices.
Parameters:
customerId (required, string): Customer IDtotalAmount (required, number): Total payment amounttxnDate (optional, string): Transaction date in YYYY-MM-DD formatpaymentMethodId (optional, string): Payment method IDlinkedInvoices (optional, array): Invoices to apply payment to, each containing:
invoiceId (required, string): Invoice IDamount (required, number): Amount applied to this invoiceRetrieve a list of expense transactions.
Parameters:
maxResults (optional, number): Maximum number of results to return (default: 100)startPosition (optional, number): Starting position for pagination (default: 1)Create a new expense transaction.
Parameters:
accountId (required, string): Account ID to expense fromamount (required, number): Expense amounttxnDate (optional, string): Transaction date in YYYY-MM-DD formatvendorId (optional, string): Vendor IDcategoryId (optional, string): Expense category/account IDdescription (optional, string): Expense descriptionRetrieve a list of vendors from your QuickBooks company.
Parameters:
maxResults (optional, number): Maximum number of results to return (default: 100)startPosition (optional, number): Starting position for pagination (default: 1)Retrieve accounts from your chart of accounts with optional filtering by type.
Parameters:
accountType (optional, string): Filter by account type (e.g., Bank, Income, Expense)Generate a Profit and Loss (P&L) report for a specified date range.
Parameters:
startDate (required, string): Start date in YYYY-MM-DD formatendDate (required, string): End date in YYYY-MM-DD formataccountingMethod (optional, string): Accounting method - "Cash" or "Accrual" (default: Accrual)Generate a Balance Sheet report as of a specific date.
Parameters:
date (required, string): Report date in YYYY-MM-DD formataccountingMethod (optional, string): Accounting method - "Cash" or "Accrual" (default: Accrual)Generate a Cash Flow statement for a specified date range.
Parameters:
startDate (required, string): Start date in YYYY-MM-DD formatendDate (required, string): End date in YYYY-MM-DD formatRetrieve a list of items, products, or services from your QuickBooks catalog.
Parameters:
type (optional, string): Filter by item type (e.g., Service, Inventory)maxResults (optional, number): Maximum number of results to return (default: 100)Retrieve information about your QuickBooks company including company name, address, and settings.
Parameters: None required
The QuickBooks MCP Server enables a wide range of accounting automation and integration scenarios:
This server does not currently provide any pre-configured prompts.
This server does not currently provide any resource templates.