invoice-automation

Automate invoice generation, sending, tracking, and payment reconciliation across accounting platforms

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill invoice-automation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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:

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 Templates

Standard Invoice Template

## 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

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

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

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

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

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

  • Consistent Numbering: Use sequential, searchable invoice numbers
  • Clear Terms: Always specify payment terms and accepted methods
  • Timely Sending: Send invoices immediately upon delivery
  • Automated Reminders: Set up reminder sequences for overdue invoices
  • Regular Reconciliation: Match payments to invoices weekly
  • 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

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card