find-contact
Resolve a 3CX contact or extension by email, extension, or name
Summarize expenses by client, vendor, or date range in QuickBooks Online
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/expense-summaryContext preview
What this command does when you run it.
Summarize expenses by client, vendor, or date range in QuickBooks Online
description: Summarize expenses by client, vendor, or date range in QuickBooks Online argument-hint: "[from] [to] [customer] [vendor] [group_by]" arguments: [from, to, customer, vendor, group_by]
Summarize expenses by client, vendor, or date range to track per-client costs and overall spending.
1. **Parse parameters**
2. **Fetch expense data**
3. **Aggregate results**
4. **Format and display**
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | from | string | No | 1st of month | Start date (YYYY-MM-DD) | | to | string | No | today | End date (YYYY-MM-DD) | | customer | string | No | - | Filter to specific customer | | vendor | string | No | - | Filter to specific vendor | | group_by | string | No | customer | Group by: customer, vendor, category |
/expense-summary
/expense-summary --from 2026-01-01 --to 2026-01-31
/expense-summary --customer "Acme Corp"
/expense-summary --group_by vendor --from 2026-01-01 --to 2026-01-31
/expense-summary --vendor "Microsoft" --from 2026-01-01 --to 2026-01-31
/expense-summary --group_by category
curl -s -H "Authorization: Bearer $QBO_ACCESS_TOKEN" \ -H "Accept: application/json" \ "https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/query?query=SELECT%20*%20FROM%20Purchase%20WHERE%20TxnDate%20%3E%3D%20'2026-02-01'%20AND%20TxnDate%20%3C%3D%20'2026-02-23'%20ORDERBY%20TxnDate%20DESC&minorversion=73"
curl -s -H "Authorization: Bearer $QBO_ACCESS_TOKEN" \ -H "Accept: application/json" \ "https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/query?query=SELECT%20*%20FROM%20Bill%20WHERE%20TxnDate%20%3E%3D%20'2026-02-01'%20AND%20TxnDate%20%3C%3D%20'2026-02-23'%20ORDERBY%20TxnDate%20DESC&minorversion=73"
curl -s -H "Authorization: Bearer $QBO_ACCESS_TOKEN" \ -H "Accept: application/json" \ "https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/reports/ProfitAndLoss?start_date=2026-02-01&end_date=2026-02-23&summarize_column_by=Customers&minorversion=73"
curl -s -H "Authorization: Bearer $QBO_ACCESS_TOKEN" \ -H "Accept: application/json" \ "https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/reports/ExpensesByVendor?start_date=2026-02-01&end_date=2026-02-23&minorversion=73"
Expense Summary - By Customer ================================================================ Period: 2026-02-01 to 2026-02-23 +---------------------------+-----------+-----------+------------+---------+ | Customer | Billable | Non-Bill | Total | % Total | +---------------------------+-----------+-----------+------------+---------+ | Acme Corporation | $1,250.00 | $0.00 | $1,250.00 | 32.1% | | TechStart Inc | $820.00 | $0.00 | $820.00 | 21.1% | | Global Widgets LLC | $650.00 | $0.00 | $650.00 | 16.7% | | Metro Dental Group | $450.00 | $100.00 | $550.00 | 14.1% | | (Unallocated) | $0.00 | $625.00 | $625.00 | 16.0% | +---------------------------+-----------+-----------+------------+---------+ | TOTAL | $3,170.00 | $725.00 | $3,895.00 | 100% | +---------------------------+-----------+-----------+------------+---------+ Billable expense recovery: Billable: $3,170.00 (81.4%) Non-billable: $725.00 (18.6%) Unallocated: $625.00 (16.0%) Quick Actions: - View by vendor: /expense-summary --group_by vendor - View customer detail: /expense-summary --customer "Acme Corp" - Compare to revenue: /get-balance ================================================================
/expense-summary --customer "Acme Corp" Expense Detail - Acme Corporation ================================================================ Period: 2026-02-01 to 2026-02-23 +------------+----------------------+---------------------------------+-----------+----------+ | Date | Vendor | Description | Amount | Billable | +------------+----------------------+---------------------------------+-----------+----------+ | 2026-02-15 | Microsoft | M365 Business Premium - 30 seats| $450.00 | Yes | | 2026-02-15 | SentinelOne | Endpoint Protection - 30 seats | $120.00 | Yes | | 2026-02-15 | Datto | Cloud Backup - 500GB | $80.00 | Yes | | 2026-02-10 | Amazon Web Services | Azure AD Connect hosting | $45.00 | Yes | | 2026-02-08 | Cabling Plus LLC | Network cabling - conference rm | $555.00 | Yes | +------------+----------------------+---------------------------------+-----------+----------+ | TOTAL | $1,250.00 | | +------------+----------------------+---------------------------------+-----------+----------+ Breakdown:
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai
Repo: wyre-technology/msp-claude-plugins
Resolve a 3CX contact or extension by email, extension, or name
Search for specific threat patterns in Abnormal Security by sender, recipient, attack type, or keywords
Triage recent email threats detected by Abnormal Security by severity and attack type