# 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