Invoice Automation — Claude Code skill: invoices and payments
A skill that generates invoices, sends them, tracks payments and reconciles them against accounting platforms. Useful when invoicing is still manual.
npx skills add claude-office-skills/skills --skill invoice-automation -a claude-codeWhat Invoice Automation does
The skill covers four jobs: building an invoice from a template, sending it to the client, chasing payment, and matching incoming money to invoices. Inputs are customer data, line items with pricing, payment terms and template preferences. Outputs are the invoice itself as PDF or HTML, a payment status report, an aging report and a reconciliation summary.
The frontmatter declares an MCP server called accounting-mcp with the tools quickbooks_create_invoice, xero_send_invoice, stripe_create_invoice and freshbooks_api. Through those it reaches QuickBooks, Xero, FreshBooks, Stripe, Wave and Zoho Invoice. Ready-made flows include auto-invoicing from an approved timesheet, recurring invoices with auto-send, and a reminder sequence at 3 days before due plus 1, 7 and 30 days after. Bank feed matching is rule-based: exact amount, invoice reference in the memo field, or customer name with a fuzzy threshold of 0.9.
Multi-currency settings take a base currency and a supported list, with rates pulled from openexchangerates and refreshed daily. Skip the accounting-mcp server and the platform tools go with it — the skill calls those tools rather than hitting the APIs directly. Templates and prompts ship in English and Chinese, so client-facing wording in another language needs editing by hand.
What it helps with
- build an invoice from a template and customer data
- chase overdue invoices with scheduled reminders
- reconcile payments against a bank feed
- issue a recurring invoice for a subscription
- produce an aging report at month end
Example prompts for the agent
- Generate an invoice for customer cust_123 from the latest approved timesheet and email it
- Set up a monthly recurring invoice for 5000 with auto-send and net_30 reminders
- Reconcile this week's payments against the bank feed and list the mismatches
How to install Invoice Automation
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill invoice-automation -a claude-code2Manually: put the files in place
~/.claude/skills/invoice-automation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/invoice-automation/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill invoice-automation -a codex2Manually: put the files in place
.agents/skills/invoice-automation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill invoice-automation -a cursor2Manually: put the files in place
.cursor/skills/invoice-automation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install claude-office-skills/skills invoice-automation2Manually: put the files in place
.github/skills/invoice-automation/SKILL.md1Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill invoice-automation -a gemini-cli2Platform CLI
gemini skills install https://github.com/claude-office-skills/skills --path invoice-automationManually: put the files in place
.devin/skills/invoice-automation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add claude-office-skills/skills --skill invoice-automation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about Invoice Automation
How do I install Invoice Automation in Claude?
Run npx skills add claude-office-skills/skills --skill invoice-automation -a claude-code. The skill lands in ~/.claude/skills/invoice-automation/SKILL.md.
What does Invoice Automation do?
It generates invoices from templates, sends them to clients, tracks payment with reminders, and reconciles receipts against accounting platform data.
What does the skill need to work?
The accounting-mcp MCP server with its QuickBooks, Xero, Stripe and FreshBooks tools. Without it the skill cannot create or send invoices.
Source text
SKILL.md · MIT
---
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 |
© Claude Office Skills · MIT · claude-office-skills/skills