.qoder/skills/invoice-automation/SKILL.md
Automate invoice generation, sending, tracking, and payment reconciliation across accounting platforms
npx skillsauth add 305s/magicallesson Invoice AutomationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive invoice automation skill for generating, sending, tracking, and reconciling invoices across multiple accounting platforms.
INVOICE CREATION FLOW:
┌─────────────────┐
│ Customer Data │
└────────┬────────┘
▼
┌─────────────────┐
│ Line Items │
│ - Products │
│ - Services │
│ - Quantities │
└────────┬────────┘
▼
┌─────────────────┐
│ Apply Template │
│ - Branding │
│ - Terms │
│ - Tax rates │
└────────┬────────┘
▼
┌─────────────────┐
│ Generate PDF │
└─────────────────┘
| Platform | Capabilities | |----------|-------------| | QuickBooks | Full CRUD, payments, reports | | Xero | Invoices, contacts, bank feeds | | FreshBooks | Time tracking, expenses, invoices | | Stripe | Recurring, one-time, subscriptions | | Wave | Free invoicing, receipts | | Zoho Invoice | Multi-currency, templates |
Auto-Invoice from Time Tracking:
trigger: weekly_timesheet_approved
actions:
- aggregate_billable_hours
- calculate_totals
- generate_invoice
- send_to_client
- log_to_accounting
Payment Reminder Sequence:
reminders:
- days_before_due: 3
template: friendly_reminder
- days_after_due: 1
template: payment_due
- days_after_due: 7
template: overdue_notice
- days_after_due: 30
template: final_notice
## INVOICE
**Invoice Number:** INV-{YYYY}{MM}-{####}
**Date:** {issue_date}
**Due Date:** {due_date}
### Bill To:
{customer_name}
{customer_address}
{customer_email}
### Items:
| Description | Qty | Unit Price | Amount |
|-------------|-----|------------|--------|
| {item_1} | {q} | ${price} | ${amt} |
| {item_2} | {q} | ${price} | ${amt} |
**Subtotal:** ${subtotal}
**Tax ({tax_rate}%):** ${tax_amount}
**Total Due:** ${total}
### Payment Methods:
- Bank Transfer: {bank_details}
- Credit Card: {payment_link}
- PayPal: {paypal_email}
recurring_invoice:
customer_id: "cust_123"
frequency: monthly
day_of_month: 1
items:
- description: "Monthly Retainer"
quantity: 1
unit_price: 5000
auto_send: true
payment_terms: net_30
reminder_enabled: true
PAYMENT STATUS OVERVIEW:
┌──────────────────────────────────────────┐
│ Outstanding │ $45,000 │ 12 invoices │
│ Overdue │ $8,500 │ 3 invoices │
│ Paid (30 days) │ $125,000 │ 28 invoices │
│ Pending │ $15,000 │ 5 invoices │
└──────────────────────────────────────────┘
ACCOUNTS RECEIVABLE AGING:
┌─────────────┬──────────┬─────────┐
│ Period │ Amount │ Count │
├─────────────┼──────────┼─────────┤
│ Current │ $25,000 │ 8 │
│ 1-30 days │ $12,000 │ 4 │
│ 31-60 days │ $5,000 │ 2 │
│ 61-90 days │ $2,500 │ 1 │
│ 90+ days │ $1,000 │ 1 │
└─────────────┴──────────┴─────────┘
reconciliation_rules:
- match_type: exact_amount
tolerance: 0
auto_match: true
- match_type: invoice_reference
field: memo
auto_match: true
- match_type: customer_name
fuzzy_match: 0.9
auto_match: false
flag_for_review: true
currency_settings:
base_currency: USD
supported:
- EUR
- GBP
- JPY
- CNY
exchange_rate_source: openexchangerates
update_frequency: daily
auto_convert: true
const invoice = {
CustomerRef: { value: "123" },
Line: [
{
DetailType: "SalesItemLineDetail",
Amount: 1000,
SalesItemLineDetail: {
ItemRef: { value: "1" },
Qty: 10,
UnitPrice: 100
}
}
],
DueDate: "2024-02-15",
EmailStatus: "NeedToSend"
};
const invoice = await stripe.invoices.create({
customer: 'cus_xxx',
collection_method: 'send_invoice',
days_until_due: 30,
auto_advance: true
});
await stripe.invoiceItems.create({
customer: 'cus_xxx',
invoice: invoice.id,
price: 'price_xxx',
quantity: 1
});
await stripe.invoices.sendInvoice(invoice.id);
| Trigger | Action | |---------|--------| | Project completed | Generate final invoice | | Timesheet approved | Bill for hours | | Subscription renewal | Create recurring invoice | | Payment received | Update status, send receipt | | Invoice overdue | Send reminder | | Month end | Generate aging report |
tools
Automate customer support workflows with Zendesk ticket management, routing, and analytics
tools
Automate YouTube content workflows including video management, analytics, scheduling, and channel optimization
content-media
Create, edit, and manipulate Excel spreadsheets programmatically using openpyxl
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment