io.github.NyxToolsDev/quickbooks-mcp-server
Connect Claude to QuickBooks Online — query finances, create invoices, run reports
Versions
0.1.1latestTools 19
list_invoices List invoices with optional filters. Args: status: Filter by status - Open, Paid, Overdue, or All (default: All). date_from: Start date filter in YYYY-MM-DD format. date_to: End date filter in YYYY-MM-DD format. customer_name: Filter by customer name (partial match). limit: Maximum number of invoices to return (default: 25, max: 100). Returns: Formatted list of invoices with number, customer, amount, due date, and status.
get_invoice_details Get full details for a specific invoice including line items. Args: invoice_id: The QuickBooks invoice ID. Returns: Detailed invoice information including line items, amounts, tax, customer info, and payment history.
get_overdue_invoices Get all overdue invoices sorted by days past due. Returns: Overdue invoices with days overdue and total outstanding amount.
search_customers Search customers by name or email address. Args: query: Search term to match against customer name or email (partial match). Leave empty to list all customers. include_inactive: Include inactive/archived customers (default: false). limit: Maximum number of customers to return (default: 25, max: 100). Returns: Customer list with name, email, phone, balance due, and status.
get_customer_summary Get a financial summary for a specific customer. Includes total invoiced, total paid, outstanding balance, and most recent payment information. Provide either customer_id or customer_name. Args: customer_id: The QuickBooks customer ID. customer_name: Search by customer name (uses first match). Returns: Comprehensive financial summary for the customer.
get_financial_health Get key financial health metrics for your business. Calculates current ratio, quick ratio, days sales outstanding (DSO), monthly burn rate, and estimated cash runway. Requires a premium license. Args: as_of_date: Date for calculations in YYYY-MM-DD (default: today). Returns: Financial health dashboard with key ratios and metrics.
compare_periods Compare financial performance between two time periods. Shows revenue, expenses, and net income side-by-side with dollar and percentage changes. Requires a premium license. Args: period_1: First period - this_month, last_month, this_quarter, last_quarter, this_year, last_year, or custom (default: this_month). period_2: Second period for comparison (default: last_month). date_from_1: Start date for custom period 1 (YYYY-MM-DD). date_to_1: End date for custom period 1 (YYYY-MM-DD). date_from_2: Start date for custom period 2 (YYYY-MM-DD). date_to_2: End date for custom period 2 (YYYY-MM-DD). Returns: Side-by-side comparison with dollar changes and percentage differences.
list_expenses List recent expenses and purchases with optional filters. Args: date_from: Start date filter in YYYY-MM-DD format. date_to: End date filter in YYYY-MM-DD format. vendor_name: Filter by vendor/payee name (partial match). category: Filter by expense category/account name. min_amount: Minimum expense amount filter. max_amount: Maximum expense amount filter (0 = no limit). limit: Maximum results to return (default: 25, max: 100). Returns: Formatted list of expenses with date, vendor, amount, and category.
get_top_expenses Get top expenses grouped by category or vendor. Args: period: Time period - this_month, last_month, this_quarter, this_year (default: this_month). group_by: Group results by 'category' or 'vendor' (default: category). limit: Number of top entries to show (default: 10). Returns: Ranked expense breakdown with totals and percentages.
get_account_balances Get current balances for your accounts by type. Args: account_type: Filter by account type - Bank, CreditCard, or All (default: All). Returns: Formatted list of accounts with names, types, and current balances.
get_account_transactions Get recent transactions for a specific account. You must provide either account_id or account_name. Args: account_id: The QuickBooks account ID. account_name: Search by account name (will find the first match). date_from: Start date filter in YYYY-MM-DD format. date_to: End date filter in YYYY-MM-DD format. limit: Maximum number of transactions to return (default: 25, max: 100). Returns: Recent transactions with dates, descriptions, amounts, and running context.
get_profit_and_loss Get a Profit & Loss (Income Statement) report. Shows revenue, expenses, and net income/loss for the specified period. Requires a premium license. Args: period: Time period - this_month, last_month, this_quarter, last_quarter, this_year, last_year, or custom (default: this_month). date_from: Start date for custom period (YYYY-MM-DD). date_to: End date for custom period (YYYY-MM-DD). accounting_method: Accrual or Cash (default: Accrual). Returns: Formatted P&L report with income, expense categories, and net income.
get_balance_sheet Get a Balance Sheet report as of a specific date. Shows assets, liabilities, and equity. Requires a premium license. Args: as_of_date: Report date in YYYY-MM-DD format (default: today). accounting_method: Accrual or Cash (default: Accrual). Returns: Formatted Balance Sheet with assets, liabilities, equity, and totals.
get_cash_flow Get a Cash Flow Statement. Shows operating, investing, and financing cash flows. Requires a premium license. Args: period: Time period - this_month, last_month, this_quarter, last_quarter, this_year, last_year, or custom (default: this_month). date_from: Start date for custom period (YYYY-MM-DD). date_to: End date for custom period (YYYY-MM-DD). Returns: Formatted Cash Flow Statement with operating, investing, and financing sections.
get_accounts_receivable_aging Get an Accounts Receivable Aging report. Shows outstanding customer invoices grouped by aging buckets (Current, 1-30, 31-60, 61-90, 91+ days). Requires a premium license. Args: as_of_date: Report date in YYYY-MM-DD (default: today). Returns: AR aging by customer with current, 30, 60, 90+ day buckets and totals.
get_accounts_payable_aging Get an Accounts Payable Aging report. Shows outstanding vendor bills grouped by aging buckets (Current, 1-30, 31-60, 61-90, 91+ days). Requires a premium license. Args: as_of_date: Report date in YYYY-MM-DD (default: today). Returns: AP aging by vendor with current, 30, 60, 90+ day buckets and totals.
create_invoice Create a new invoice in QuickBooks. Requires a premium license. Args: customer_id: The QuickBooks customer ID to invoice. line_items: List of line items, each with: - description (str): Item description - amount (float): Line total amount - quantity (float, optional): Quantity (default: 1) - unit_price (float, optional): Price per unit - service_date (str, optional): Service date YYYY-MM-DD due_date: Invoice due date in YYYY-MM-DD format (optional). memo: Private memo/note for the invoice (optional). email_to_customer: Whether to email the invoice to the customer (default: false). Returns: Confirmation with the new invoice number, total, and ID.
record_payment Record a payment against an existing invoice. Requires a premium license. Args: invoice_id: The QuickBooks invoice ID to apply payment to. amount: Payment amount (must be positive). payment_date: Payment date in YYYY-MM-DD format (default: today). payment_method: Payment method (e.g., Cash, Check, Credit Card, ACH, Other). reference_number: Check number or transaction reference (optional). memo: Private memo for the payment (optional). Returns: Confirmation with payment details and remaining invoice balance.
create_expense Record a new expense/purchase in QuickBooks. Requires a premium license. Args: vendor_name: Vendor/payee name. amount: Expense total amount (must be positive). category: Expense category/account name (e.g., Office Supplies, Rent). account_name: Bank/credit card account used for payment. payment_type: Cash, Check, or CreditCard (default: Cash). expense_date: Expense date in YYYY-MM-DD format (default: today). memo: Description or memo for the expense (optional). reference_number: Check number or reference (optional). Returns: Confirmation with expense details and ID.
Permissions 3
network medium filesystem low env_vars low