mcpengine/servers/quickbooks/TOOLS_SUMMARY.md

5.9 KiB

QuickBooks Online MCP Server - Tools Summary

Overview

Built 14 tool files with 105 total tools for comprehensive QuickBooks Online integration.

Tool Files Created

1. src/tools/invoices.ts (7 tools)

  • qbo_list_invoices - List with filters (customer, amount range)
  • qbo_get_invoice - Get by ID
  • qbo_create_invoice - Create with line items
  • qbo_update_invoice - Update (requires SyncToken)
  • qbo_void_invoice - Void transaction
  • qbo_delete_invoice - Delete (soft)
  • qbo_query_invoices - Custom SQL-like queries

2. src/tools/customers.ts (6 tools)

  • qbo_list_customers - List with pagination
  • qbo_get_customer - Get by ID
  • qbo_create_customer - Create with full details
  • qbo_update_customer - Update (requires SyncToken)
  • qbo_search_customers - Search by name/email
  • qbo_query_customers - Custom SQL-like queries

3. src/tools/payments.ts (9 tools)

  • qbo_list_payments - List payments
  • qbo_get_payment - Get by ID
  • qbo_create_payment - Create with linked invoices
  • qbo_update_payment - Update
  • qbo_void_payment - Void
  • qbo_delete_payment - Delete
  • qbo_list_credit_memos - List credit memos
  • qbo_get_credit_memo - Get by ID
  • qbo_create_credit_memo - Create

4. src/tools/estimates.ts (10 tools)

  • qbo_list_estimates - List estimates
  • qbo_get_estimate - Get by ID
  • qbo_create_estimate - Create
  • qbo_update_estimate - Update
  • qbo_delete_estimate - Delete
  • qbo_send_estimate - Email to customer
  • qbo_list_sales_receipts - List sales receipts
  • qbo_get_sales_receipt - Get by ID
  • qbo_create_sales_receipt - Create
  • qbo_delete_sales_receipt - Delete

5. src/tools/bills.ts (9 tools)

  • qbo_list_bills - List with filters
  • qbo_get_bill - Get by ID
  • qbo_create_bill - Create
  • qbo_update_bill - Update
  • qbo_delete_bill - Delete
  • qbo_list_bill_payments - List bill payments
  • qbo_get_bill_payment - Get by ID
  • qbo_create_bill_payment - Create with linked bills
  • qbo_delete_bill_payment - Delete

6. src/tools/vendors.ts (6 tools)

  • qbo_list_vendors - List with pagination
  • qbo_get_vendor - Get by ID
  • qbo_create_vendor - Create with 1099 support
  • qbo_update_vendor - Update
  • qbo_search_vendors - Search by name
  • qbo_query_vendors - Custom SQL-like queries

7. src/tools/items.ts (6 tools)

  • qbo_list_items - List all item types
  • qbo_get_item - Get by ID
  • qbo_create_item - Create (inventory/non-inventory/service/bundle)
  • qbo_update_item - Update
  • qbo_search_items - Search by name
  • qbo_query_items - Custom SQL-like queries

8. src/tools/accounts.ts (5 tools)

  • qbo_list_accounts - List chart of accounts
  • qbo_get_account - Get by ID
  • qbo_create_account - Create with sub-account support
  • qbo_update_account - Update
  • qbo_query_accounts - Custom SQL-like queries

9. src/tools/reports.ts (7 tools)

  • qbo_run_profit_loss - P&L report
  • qbo_run_balance_sheet - Balance sheet
  • qbo_run_cash_flow - Cash flow statement
  • qbo_run_ar_aging - AR aging summary
  • qbo_run_ap_aging - AP aging summary
  • qbo_run_trial_balance - Trial balance
  • qbo_run_general_ledger - General ledger

10. src/tools/employees.ts (5 tools)

  • qbo_list_employees - List employees
  • qbo_get_employee - Get by ID
  • qbo_create_employee - Create with billable time support
  • qbo_update_employee - Update
  • qbo_query_employees - Custom SQL-like queries

11. src/tools/time-activities.ts (5 tools)

  • qbo_list_time_activities - List with filters
  • qbo_get_time_activity - Get by ID
  • qbo_create_time_activity - Create with billable status
  • qbo_update_time_activity - Update
  • qbo_delete_time_activity - Delete

12. src/tools/taxes.ts (8 tools)

  • qbo_list_tax_codes - List tax codes
  • qbo_get_tax_code - Get by ID
  • qbo_query_tax_codes - Custom queries
  • qbo_list_tax_rates - List tax rates
  • qbo_get_tax_rate - Get by ID
  • qbo_query_tax_rates - Custom queries
  • qbo_list_tax_agencies - List tax agencies
  • qbo_get_tax_agency - Get by ID

13. src/tools/purchases.ts (9 tools)

  • qbo_list_purchases - List purchases
  • qbo_get_purchase - Get by ID
  • qbo_create_purchase - Create (expense/check/credit card)
  • qbo_update_purchase - Update
  • qbo_delete_purchase - Delete
  • qbo_list_purchase_orders - List POs
  • qbo_get_purchase_order - Get by ID
  • qbo_create_purchase_order - Create
  • qbo_delete_purchase_order - Delete

14. src/tools/journal-entries.ts (13 tools)

  • qbo_list_journal_entries - List JEs
  • qbo_get_journal_entry - Get by ID
  • qbo_create_journal_entry - Create (balanced debits/credits)
  • qbo_update_journal_entry - Update
  • qbo_delete_journal_entry - Delete
  • qbo_list_deposits - List deposits
  • qbo_get_deposit - Get by ID
  • qbo_create_deposit - Create
  • qbo_delete_deposit - Delete
  • qbo_list_transfers - List transfers
  • qbo_get_transfer - Get by ID
  • qbo_create_transfer - Create account transfer
  • qbo_delete_transfer - Delete

QBO Specifics Implemented

SyncToken - Required for all updates (optimistic locking) ✓ SQL-like queries - Full support for SELECT * FROM Entity WHERE ...Pagination - 1-indexed startPosition + maxResults (max 1000) ✓ Report endpoints - Special handling via getReport method ✓ Void operations - Proper handling via delete with operation parameter ✓ Entity reads - Standard /company/{realmId}/{entityType}/{id} pattern

Tool Naming Convention

All tools follow the pattern: qbo_verb_noun

  • Examples: qbo_list_invoices, qbo_create_customer, qbo_run_profit_loss

TypeScript Compliance

✓ All files compile without errors (npx tsc --noEmit) ✓ Proper imports from ../clients/quickbooks.js ✓ Type-safe handlers with QuickBooks types from ../types/index.js

Next Steps

  1. Update src/server.ts to import and register all tool files
  2. Test with actual QuickBooks sandbox credentials
  3. Add integration tests
  4. Update README with tool documentation