Use when the user says 'invoice', 'generate invoice', 'billing', 'send invoice', or wants to create a professional invoice with line items and payment instructions.
Generate complete invoices with line items, tax calculations, payment instructions, and structured data ready for PDF generation or email delivery.
When this skill activates, output:
🧾 Invoice Generator — Generating your invoice...
| Context | Status |
|---|---|
| User says "invoice", "generate invoice", "create invoice" | ACTIVE |
| User wants to bill a client for completed work | ACTIVE |
| User mentions line items, payment terms, or invoice numbers | ACTIVE |
| User wants a full contract (not just billing) | DORMANT — see contract-template |
| User wants financial projections (not invoicing) | DORMANT — see financial-model |
| User wants to onboard a new client | DORMANT — see client-onboarding |
Ask the user for:
Configurable formats:
| Format | Example | Best For |
|---|---|---|
| Sequential | INV-001 | Simple, solo freelancer |
| Year-sequential | INV-2026-001 | Annual tracking |
| Client-prefixed | INV-ACME-001 | Multi-client businesses |
| Date-based | INV-20260301-001 | High volume, daily tracking |
| Project-based | INV-PROJ42-001 | Per-project billing |
Auto-generation logic:
Format: [PREFIX]-[YEAR]-[SEQ]
Example: INV-2026-001
Next invoice: Check last invoice number, increment sequence.
If new year: reset sequence to 001.
Build the invoice calculation:
── LINE ITEMS ─────────────────────────────
# Description Qty Rate Amount
1 [item description] [qty] $[rate] $[amount]
2 [item description] [qty] $[rate] $[amount]
3 [item description] [qty] $[rate] $[amount]
───────────────────────────────────────────
Subtotal: $[subtotal]
Discount (X%): -$[discount]
Subtotal after discount: $[after_discount]
Tax (X%): $[tax]
─────────────────
TOTAL: $[total]
Calculation rules:
Generate payment details based on selected methods:
Bank Transfer:
── PAYMENT BY BANK TRANSFER ───────────────
Bank: [bank name]
Account name: [name]
Account number: [number]
Routing number: [number]
SWIFT/BIC: [code] (for international)
Reference: [invoice number]
Stripe Payment Link:
── PAY ONLINE ─────────────────────────────
Pay securely via credit card:
[Stripe payment link URL]
PayPal:
── PAYPAL ─────────────────────────────────
Send payment to: [email]
Reference: [invoice number]
Check:
── PAY BY CHECK ───────────────────────────
Make payable to: [company name]
Mail to: [address]
Memo: [invoice number]
Due date calculation:
| Terms | Due Date | Late Fee |
|---|---|---|
| Due on receipt | Invoice date | 1.5%/month after 7 days |
| Net 15 | Invoice date + 15 days | 1.5%/month after due date |
| Net 30 | Invoice date + 30 days | 1.5%/month after due date |
| Net 60 | Invoice date + 60 days | 1.0%/month after due date |
| Custom | [specific date] | [custom terms] |
Late fee clause:
A late fee of [X]% per month ([Y]% annually) will be applied to
balances unpaid after the due date. Partial months are prorated.
Define the invoice layout structure:
┌─────────────────────────────────────────┐
│ [LOGO] INVOICE │
│ [Your Company] Invoice #: [num] │
│ [Your Address] Date: [date] │
│ [Your Email] Due: [due date] │
│ [Your Phone] Terms: [terms] │
├─────────────────────────────────────────┤
│ BILL TO: │
│ [Client Name] │
│ [Client Company] │
│ [Client Address] │
│ [Client Email] │
├─────────────────────────────────────────┤
│ # │ Description │ Qty │ Rate │ Amt │
│ ──┼────────────────┼─────┼──────┼───── │
│ 1 │ [item] │ [q] │ $[r] │ $[a] │
│ 2 │ [item] │ [q] │ $[r] │ $[a] │
│ 3 │ [item] │ [q] │ $[r] │ $[a] │
│ ──┴────────────────┴─────┴──────┴───── │
│ Subtotal: $[sub] │
│ Discount: -$[disc] │
│ Tax (X%): $[tax] │
│ ───────────────────── │
│ TOTAL DUE: $[total] │
├─────────────────────────────────────────┤
│ PAYMENT INSTRUCTIONS: │
│ [payment method details] │
├─────────────────────────────────────────┤
│ NOTES: │
│ [optional notes — thank you message, │
│ project reference, etc.] │
│ │
│ TERMS: │
│ [late fee policy] │
└─────────────────────────────────────────┘
Generate invoice as structured JSON for programmatic use:
{
"invoice_number": "INV-2026-001",
"date": "2026-03-01",
"due_date": "2026-03-31",
"terms": "Net 30",
"currency": "USD",
"from": {
"name": "Your Company",
"address": "123 Main St, City, State 12345",
"email": "[email protected]",
"phone": "+1-555-0100",
"tax_id": "XX-XXXXXXX"
},
"to": {
"name": "Client Name",
"company": "Client Corp",
"address": "456 Oak Ave, City, State 67890",
"email": "[email protected]"
},
"line_items": [
{
"description": "Web Development",
"quantity": 40,
"unit": "hours",
"rate": 150.00,
"amount": 6000.00
}
],
"subtotal": 6000.00,
"discount": { "type": "percentage", "value": 10, "amount": 600.00 },
"tax": { "rate": 8.25, "amount": 445.50 },
"total": 5845.50,
"payment_methods": ["bank_transfer", "stripe"],
"notes": "Thank you for your business!",
"late_fee": "1.5% per month on overdue balances"
}
Provide email copy for sending the invoice:
Subject: Invoice [INV-NUMBER] from [Your Company] — Due [Due Date]
Hi [Client First Name],
Please find attached invoice [INV-NUMBER] for [brief description of work].
Amount due: $[TOTAL]
Due date: [DUE DATE]
Payment: [payment method summary]
If you have any questions about this invoice, please reply to this email.
Thank you for your business!
[Your Name]
[Your Company]
[Your Phone]
Present the complete invoice package:
━━━ INVOICE: [Invoice Number] ━━━━━━━━━━━━
── INVOICE DETAILS ────────────────────────
From: [your company]
To: [client]
Date: [date]
Due: [due date]
Terms: [payment terms]
── LINE ITEMS ─────────────────────────────
[formatted line item table]
── TOTALS ─────────────────────────────────
Subtotal: $[amount]
Discount: -$[amount]
Tax: $[amount]
Total: $[amount]
── PAYMENT INSTRUCTIONS ───────────────────
[payment method details]
── STRUCTURED DATA (JSON) ─────────────────
[complete JSON for programmatic use]
── EMAIL TEMPLATE ─────────────────────────
[ready-to-send email copy]
── NOTES ──────────────────────────────────
[thank you message + late fee terms]