164 lines
5.9 KiB
Markdown
164 lines
5.9 KiB
Markdown
# 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
|