QuickBooks Online MCP Server
QuickBooks Online is a cloud-based accounting software for small to medium-sized businesses, providing tools for invoicing, bill payment, expense tracking, and financial reporting.
What is the QuickBooks Online MCP Server?
The QuickBooks Online MCP server gives AI agents structured, permission-aware access to QuickBooks Online through the Model Context Protocol. With 34 pre-built actions, agents can read, create, and update QuickBooks Online data on behalf of authorized users.
Willow ships the QuickBooks Online MCP server as part of an enterprise control plane. Every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to a full audit trail, and integrates with Splunk and Loki for SIEM visibility. Connect from Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, or any custom agent. Install once, distribute org-wide, and see exactly how QuickBooks Online is being used by every AI agent in your stack.
Tools
List Customers
Query and list all customers in QuickBooks. Use this to find customers by name, email, or other criteria. Supports filtering with SQL-like WHERE clauses (e.g., "Active = true"). Returns basic customer information including display name, email, phone, and billing address. Maximum 1000 results per query.
Get Customer
Retrieve detailed information about a specific customer by ID. Returns complete customer details including contact information, billing/shipping addresses, balance, payment terms, and custom fields. Use this when you have a customer ID and need their full profile.
Create Customer
Create a new customer in QuickBooks. At minimum, you must provide DisplayName. Optionally include contact details (email, phone), billing/shipping addresses, payment terms, and tax information. Returns the newly created customer with its assigned ID.
Update Customer
Update an existing customer in QuickBooks. You must provide the customer ID and SyncToken (use Get Customer to retrieve current SyncToken). Only include fields you want to change - QuickBooks uses sparse update. Returns the updated customer information.
List Invoices
Query and list invoices in QuickBooks. Use this to find invoices by customer, date range, status, or amount. Supports SQL-like filtering (e.g., "TotalAmt > '1000'"). Returns invoice summary including customer, date, total amount, balance, and status. Use Get Invoice for complete line item details.
Get Invoice
Retrieve complete details of a specific invoice by ID. Returns full invoice information including all line items, customer details, amounts, taxes, payment status, and custom fields. Use this to get the full invoice with all its line item details.
Create Invoice
Create a new invoice in QuickBooks. Required fields: CustomerRef (customer ID) and at least one Line item. Line items need Amount and either DetailType of 'SalesItemLineDetail' with ItemRef (product/service ID) or 'DescriptionOnly'. Optionally specify due date, terms, memo, and email delivery. Returns the created invoice with assigned invoice number.
Get Invoice PDF
Download an invoice as a PDF file. Returns the PDF content of the specified invoice. Use this to get a printable or emailable version of the invoice. The response will be a PDF document.
List Vendors
Query and list all vendors in QuickBooks. Use this to find vendors by name or status. Supports SQL-like filtering (e.g., "Active = true"). Returns vendor information including display name, email, phone, and address. Use this for vendor management and bill payment workflows.
Get Vendor
Retrieve detailed information about a specific vendor by ID. Returns complete vendor details including contact information, payment terms, tax ID, and account numbers. Use this when you need full vendor profile for bill payment or purchase order creation.
Create Vendor
Create a new vendor in QuickBooks. At minimum, you must provide DisplayName. Optionally include contact details (email, phone), address, payment terms, and tax information. Returns the newly created vendor with its assigned ID. Use this to add new suppliers or service providers.
List Bills
Query and list bills from vendors in QuickBooks. Use this to find unpaid bills, bills by vendor, or bills within a date range. Supports SQL-like filtering (e.g., "Balance > '0'"). Returns bill summary including vendor, date, total amount, and balance due. Bills represent money you owe to vendors.
Get Bill
Retrieve complete details of a specific bill by ID. Returns full bill information including all line items, vendor details, amounts, due date, and payment status. Use this to review bill details before making payment or for expense analysis.
Create Bill
Create a new bill from a vendor in QuickBooks. Required fields: VendorRef (vendor ID) and at least one Line item with Amount and AccountRef (expense account ID). Bills represent money you owe to vendors. Optionally specify due date, bill number, and memo. Returns the created bill.
Create Purchase Order
Create a purchase order in QuickBooks. Required: VendorRef (vendor ID) and Line items with ItemRef (product ID) and Qty. Purchase orders represent intent to purchase goods/services from vendors. Returns the created PO with assigned number. Use this before receiving inventory or services.
List Payments
Query and list customer payments received in QuickBooks. Use this to find payments by customer, date range, or payment method. Returns payment information including customer, amount, payment date, and payment method. These are payments received from customers (money coming in).
Create Payment
Record a payment received from a customer in QuickBooks. Required: CustomerRef (customer ID) and TotalAmt. Optionally link to specific invoices being paid via Line items. Specify payment method and deposit account. Returns the created payment record. Use this to record customer payments.
Get Payment
Retrieve detailed information about a specific payment by ID. Returns complete payment details including customer, amount, payment method, linked invoices, and deposit account. Use this to review payment details or reconciliation.
Create Bill Payment
Record a payment to a vendor for bills in QuickBooks. Required: VendorRef (vendor ID), PayType ('Check' or 'CreditCard'), and TotalAmt. Link to specific bills via Line items. This represents money going out to pay vendor bills. Returns the created bill payment record.
List Expenses
Query and list expense transactions in QuickBooks. Use this to find expenses by account, vendor, date, or payment method. Expenses represent money spent for business operations (different from bills). Returns expense summary including account, amount, vendor, and payment method.
List Items
Query and list products and services (items) in QuickBooks. Use this to find inventory items, services, or non-inventory items. Supports filtering by type or active status. Returns item information including name, description, price, and type. Use these items on invoices and bills.
Get Item
Retrieve detailed information about a specific item (product or service) by ID. Returns complete item details including name, description, price, cost, income account, expense account, and inventory quantity (if applicable). Use this to get pricing and account information for transactions.
Create Item
Create a new product or service item in QuickBooks. Required: Name and Type ('Service', 'Inventory', or 'NonInventory'). For Service and NonInventory, provide IncomeAccountRef. For Inventory, also provide AssetAccountRef and ExpenseAccountRef. Optionally set unit price and description. Returns the created item.
List Accounts
Query and list accounts from the chart of accounts in QuickBooks. Use this to find accounts by type (e.g., Bank, Expense, Income, Asset) or active status. Returns account information including name, type, account number, and current balance. Essential for transaction categorization.
Get Account
Retrieve detailed information about a specific account by ID. Returns complete account details including name, type, subtype, account number, description, current balance, and parent account (if sub-account). Use this to verify account information before creating transactions.
Create Journal Entry
Create a manual journal entry in QuickBooks for adjusting accounts. Required: at least two Line items (debits and credits must balance). Each line needs: Amount, DetailType ('JournalEntryLineDetail'), PostingType ('Debit' or 'Credit'), and AccountRef (account ID). Use for adjustments, corrections, or specialized accounting entries.
List Journal Entries
Query and list journal entries in QuickBooks. Use this to find manual accounting entries by date or doc number. Returns journal entry summary including date, doc number, and total amount. Journal entries are manual accounting adjustments that directly debit and credit accounts.
Get Profit and Loss Report
Generate a Profit & Loss (P&L) statement showing income and expenses over a period. This report shows revenue, cost of goods sold, expenses, and net income. Specify date range and optional accounting method (Cash or Accrual). Essential for understanding business profitability.
Get Balance Sheet Report
Generate a Balance Sheet showing assets, liabilities, and equity at a specific point in time. This report provides a snapshot of the company's financial position. Specify the date and optional accounting method. Essential for understanding company's net worth and financial health.
Get Cash Flow Report
Generate a Statement of Cash Flows showing cash inflows and outflows from operating, investing, and financing activities over a period. This report tracks actual cash movement. Specify date range to understand liquidity and cash management. Essential for cash flow planning.
Get General Ledger Report
Generate a General Ledger report showing all transactions for all accounts over a period. This detailed report lists every debit and credit to each account. Specify date range and optional account filter. Use for detailed transaction review, auditing, and reconciliation.
Get Company Info
Retrieve information about the QuickBooks company. Returns company details including name, address, fiscal year, currency, tax ID, phone, email, and website. Use this to get company context or verify which company you're working with.
Query Data
Execute a custom SQL-like query against QuickBooks data. Use this for advanced queries not covered by other tools. Supports SELECT statements with WHERE clauses, ordering, and pagination. Available entities include: Customer, Vendor, Item, Invoice, Bill, Payment, Account, JournalEntry, Estimate, and more. Powerful for complex data retrieval. Note: Limited SQL syntax - no OR, JOIN, or GROUP BY.
List Estimates
Query and list sales estimates (quotes) in QuickBooks. Use this to find estimates by customer, date, or status. Estimates are proposals/quotes sent to customers before creating invoices. Returns estimate summary including customer, date, total amount, and status. Convert accepted estimates to invoices.
Customize Tools
Edit descriptions, modify arguments, select tools, or add new ones
Set Up Your QuickBooks Online MCP Server in Minutes
Add the following configuration to your MCP client. Authentication is handled via OAuth. Compatible with Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, and any MCP-compatible agent.
Claude Desktop
{
"mcpServers": {
"willow-quickbooks": {
"type": "http",
"url": "https://<org>.mcp-s.com/mcp/mcp/quickbooks"
}
}
}Cursor
{
"mcpServers": {
"willow-quickbooks": {
"type": "http",
"url": "https://<org>.mcp-s.com/mcp/mcp/quickbooks"
}
}
}Claude Code
claude mcp add willow-quickbooks --transport http https://<org>.mcp-s.com/mcp/mcp/quickbooksn8n
{
"url": "https://<org>.mcp-s.com/mcp/mcp/quickbooks",
"method": "POST"
}Or click "Install with Willow" above to set up automatically with SSO and RBAC preconfigured.
Enterprise Governance for QuickBooks Online
Willow adds the layer QuickBooks Online and every other SaaS doesn't ship out of the box: every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to full audit logs, and detects shadow AI usage across your stack. One MCP gateway. Any agent. Every tool.
QuickBooks Online MCP Server FAQ
What is the QuickBooks Online MCP server?
The QuickBooks Online MCP server is a Model Context Protocol implementation that lets AI agents like Claude, Cursor, and ChatGPT read and write QuickBooks Online data through a standardized interface. Willow hosts and governs this server so enterprises can roll it out without a security review backlog.
How is Willow's QuickBooks Online MCP server different from the official one?
The official QuickBooks Online MCP server is scoped to a single user's account and does not include enterprise governance. Willow's version adds SSO, RBAC, audit logging, shadow AI detection, and centralized control over which actions agents can take across the entire org.
Which AI clients work with the QuickBooks Online MCP server?
Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code with MCP support, n8n, and any custom agent built with OpenAI Agents SDK, LangChain, Vercel AI SDK, or Anthropic SDK.
Is the QuickBooks Online MCP server secure? How does Willow handle authentication?
Every call runs behind your existing SSO (Okta, Azure AD). Per-user OAuth scopes the agent to exactly what that user can do in QuickBooks Online, nothing more. No credentials reach the LLM. Every action writes to an audit trail.
Can I limit which QuickBooks Online actions agents can take?
Yes. Willow lets you scope agents to specific actions, specific projects, or specific environments. Toggle actions on or off in the dashboard, or enforce policy via infrastructure-as-code through GitHub.
How do I detect shadow QuickBooks Online MCP servers in my org?
Willow's browser extension and discovery service surface unmanaged MCP servers, skills, and AI agents across the org. If a developer installed an unapproved QuickBooks Online MCP locally, you'll see it.
What does the QuickBooks Online MCP server cost?
Pricing depends on org size and deployment model (SaaS, dedicated cloud, self-host). See withwillow.ai/pricing or contact sales for a quote.
How do I install the QuickBooks Online MCP server with Willow?
Install via the Willow Connect Panel in one click, or paste the JSON snippet above into your Claude Desktop, Cursor, or Claude Code config. SSO and RBAC inherit from your existing Willow setup.
Compare Willow MCP Gateway
See how Willow stacks up against other MCP platforms on governance, security, and enterprise readiness.
Your agents are already in the wild.
Give them a Basecamp. Go from AI chaos to AI work, in minutes.