--- name: Invoice Automation description: Automate invoice generation, sending, tracking, and payment reconciliation across accounting platforms version: 1.0.0 author: Claude Office Skills category: finance tags: - invoice - billing - accounting - automation - payments department: finance models: - claude-3-opus - claude-3-sonnet - gpt-4 mcp: server: accounting-mcp tools: - quickbooks_create_invoice - xero_send_invoice - stripe_create_invoice - freshbooks_api capabilities: - Invoice generation from templates - Automated invoice sending - Payment tracking and reminders - Multi-platform reconciliation input: - Customer/client data - Line items and pricing - Payment terms - Template preferences output: - Generated invoices (PDF/HTML) - Payment status reports - Aging reports - Reconciliation summaries languages: - en - zh related_skills: - subscription-management - financial-modeling - expense-tracker --- # Invoice Automation Comprehensive invoice automation skill for generating, sending, tracking, and reconciling invoices across multiple accounting platforms. ## Core Workflows ### 1. Invoice Generation ``` INVOICE CREATION FLOW: ┌─────────────────┐ │ Customer Data │ └────────┬────────┘ ▼ ┌─────────────────┐ │ Line Items │ │ - Products │ │ - Services │ │ - Quantities │ └────────┬────────┘ ▼ ┌─────────────────┐ │ Apply Template │ │ - Branding │ │ - Terms │ │ - Tax rates │ └────────┬────────┘ ▼ ┌─────────────────┐ │ Generate PDF │ └─────────────────┘ ``` ### 2. Multi-Platform Integration | 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 | ### 3. Automated Workflows **Auto-Invoice from Time Tracking:** ```yaml trigger: weekly_timesheet_approved actions: - aggregate_billable_hours - calculate_totals - generate_invoice - send_to_client - log_to_accounting ``` **Payment Reminder Sequence:** ```yaml 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 Templates ### Standard Invoice Template ```markdown ## 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 Setup ```yaml 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 Tracking ### Status Dashboard ``` 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 │ └──────────────────────────────────────────┘ ``` ### Aging Report ``` 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 Workflows ### Bank Feed Matching ```yaml 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 ``` ### Multi-Currency Support ```yaml currency_settings: base_currency: USD supported: - EUR - GBP - JPY - CNY exchange_rate_source: openexchangerates update_frequency: daily auto_convert: true ``` ## API Integration Examples ### QuickBooks Invoice Creation ```javascript const invoice = { CustomerRef: { value: "123" }, Line: [ { DetailType: "SalesItemLineDetail", Amount: 1000, SalesItemLineDetail: { ItemRef: { value: "1" }, Qty: 10, UnitPrice: 100 } } ], DueDate: "2024-02-15", EmailStatus: "NeedToSend" }; ``` ### Stripe Invoice ```javascript 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); ``` ## Best Practices 1. **Consistent Numbering**: Use sequential, searchable invoice numbers 2. **Clear Terms**: Always specify payment terms and accepted methods 3. **Timely Sending**: Send invoices immediately upon delivery 4. **Automated Reminders**: Set up reminder sequences for overdue invoices 5. **Regular Reconciliation**: Match payments to invoices weekly 6. **Backup Records**: Maintain copies in multiple systems ## Common Triggers | 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 |