find-contact
Resolve a 3CX contact or extension by email, extension, or name
Create an invoice for a client's managed services 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.
/create-invoiceContext preview
What this command does when you run it.
Create an invoice for a client's managed services in QuickBooks Online
description: Create an invoice for a client's managed services in QuickBooks Online argument-hint: "<customer> <line> <amount> [qty] [item] [date] [send] [memo]" arguments: [customer, line, amount, qty, item, date, send, memo]
Create an invoice for a managed services client in QuickBooks Online.
1. **Resolve customer**
2. **Resolve service item**
3. **Build invoice**
4. **Create invoice via API**
5. **Send invoice (optional)**
6. **Display results**
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | customer | string | Yes | - | Customer name or QBO ID | | line | string | Yes | - | Line item description | | amount | number | Yes | - | Line item amount ($) | | qty | number | No | 1 | Quantity | | item | string | No | - | Service item name or ID | | date | string | No | today | Invoice date (YYYY-MM-DD) | | send | boolean | No | false | Email invoice after creation | | memo | string | No | - | Customer-visible memo |
/create-invoice --customer "Acme Corp" --line "Monthly Managed IT Services - February 2026" --amount 2500
/create-invoice --customer "Acme Corp" --line "Monthly Managed IT Services" --amount 2500 --date 2026-02-01 --memo "Thank you for your business." --send true
/create-invoice --customer "TechStart Inc" --line "Dell OptiPlex 7020 Workstation" --amount 1200 --qty 5 --item "Hardware"
/create-invoice --customer "Acme Corp" --line "Email Security Filtering" --amount 4.00 --qty 50 --item "Email Security"
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%20Customer%20WHERE%20DisplayName%20LIKE%20'%25Acme%25'&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%20Item%20WHERE%20Name%20LIKE%20'%25Managed%25'&minorversion=73"
curl -s -X POST \
-H "Authorization: Bearer $QBO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
"https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/invoice?minorversion=73" \
-d '{
"CustomerRef": { "value": "123" },
"TxnDate": "2026-02-01",
"BillEmail": { "Address": "billing@acmecorp.com" },
"Line": [{
"Amount": 2500.00,
"Description": "Monthly Managed IT Services - February 2026",
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"ItemRef": { "value": "1" },
"Qty": 1,
"UnitPrice": 2500.00,
"ServiceDate": "2026-02-01"
}
}],
"CustomerMemo": { "value": "Thank you for your business." }
}'curl -s -X POST \ -H "Authorization: Bearer $QBO_ACCESS_TOKEN" \ -H "Content-Type: application/octet-stream" \ "https://quickbooks.api.intuit.com/v3/company/$QBO_REALM_ID/invoice/456/send?sendTo=billing@acmecorp.com&minorversion=73"
Invoice created successfully.
Invoice: INV-1042
================================================================
Customer: Acme Corporation
Date: 2026-02-01
Due Date: 2026-03-03 (Net 30)
Line Items:
Monthly Managed IT Services - February 2026
1 x $2,500.00 = $2,500.00
Subtotal: $2,500.00
Tax: $0.00
Total: $2,500.00
Status: Created
Email: Sent to billing@acmecorp.com
================================================================
Quick Actions:
- View in QBO: https://app.qbo.intuit.com/...
- Send invoice: /create-invoice ... --send true
- Get balance: /get-balance --customer "Acme Corp"Invoice: INV-1043
================================================================
Customer: Acme Corporation
Date: 2026-02-01
Due Date: 2026-03-03 (Net 30)
Line Items:
Monthly Managed IT Services - February 2026
1 x $2,500.00 = $2,500.00
Cloud Backup Service - 500GB
1 x $150.00 = $150.00
Email Security Filtering - 50 mailboxes
50 x $4.00 = $200.00
Subtotal: $2,850.00
Tax: $0.00
Total: $2,850.00
================================================================Error: Customer not found. No customer matching "XYZ Corp" was found. Suggestions: - Check spelling of the customer name - Search for existing customers: /search-customers "XYZ" - Create the customer in QBO first Example: /search-customers "XYZ"
Error: Service item not found. No item matching "Backup Service" was found. Suggestions: - Check the item name in QuickBooks Online - Create the item in QBO Items list - Omit --item to use the default service item
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