invoice-generation-automation
Generate professional invoices automatically with custom branding, payment terms, line item details, tax breakdowns, and integration with accounting systems
Best use case
invoice-generation-automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generate professional invoices automatically with custom branding, payment terms, line item details, tax breakdowns, and integration with accounting systems
Teams using invoice-generation-automation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/invoice-generation-automation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How invoice-generation-automation Compares
| Feature / Agent | invoice-generation-automation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generate professional invoices automatically with custom branding, payment terms, line item details, tax breakdowns, and integration with accounting systems
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Invoice Generation Automation
## Overview
Automated invoice generation turns every completed order into a professional, branded PDF invoice without manual effort. For B2B ecommerce, invoices are legal documents required for the customer's procurement and accounting workflows. In many countries — particularly within the EU — specific invoice formats are legally mandated with sequential numbering, VAT numbers, and mandatory fields. All major platforms support invoice automation through apps and plugins, often requiring zero custom code.
## When to Use This Skill
- When customers request invoices after purchase and you are generating them manually
- When building B2B ecommerce where invoices are required before or after payment
- When you need to comply with EU VAT invoice requirements
- When integrating with accounting software (QuickBooks, Xero) that requires invoice records
- When subscription billing needs to generate invoices for each billing cycle
- When you need branded, professional PDFs rather than a payment processor's default invoice styling
## Core Instructions
### Step 1: Determine your platform and choose the right invoice tool
| Platform | Recommended Tool | Notes |
|----------|-----------------|-------|
| **Shopify** | **Order Printer Pro** or **Sufio** (Shopify App Store) | Shopify has no native invoice PDF; Order Printer Pro is the most widely used free option; Sufio adds EU VAT compliance, accounting sync, and automated sending |
| **WooCommerce** | **WooCommerce PDF Invoices & Packing Slips** (free) or **WooCommerce Germanized** (EU compliance) | The free plugin handles standard invoice PDFs; Germanized adds legally compliant German/EU invoice formats |
| **BigCommerce** | **Order Confirmation PDF** (built-in) + **Sufio** or **Invoice Ninja** via API | BigCommerce sends a default order confirmation; Sufio adds branded PDFs with full EU VAT support |
| **Stripe-based stores** | **Stripe Invoicing** (built-in) | Stripe generates, sends, and tracks payment of invoices automatically; ideal for B2B and subscription billing |
| **Custom / Headless** | **Stripe Invoicing API** or **Docspring** / **PDFMonkey** for custom PDF generation | Stripe Invoicing handles the full lifecycle including dunning; PDF APIs handle custom designs |
### Step 2: Set up automated invoice generation
---
#### Shopify
**Option A: Order Printer Pro (free, basic)**
1. Install **Order Printer Pro** from the Shopify App Store
2. Go to **Apps → Order Printer Pro → Templates** and customize the invoice HTML template with your logo, colors, and footer text
3. Under **Settings**, configure auto-printing triggers — when an order is fulfilled, the app can automatically email the invoice PDF to the customer
4. For EU VAT invoices: the app supports adding VAT numbers and compliant formatting; enable this under **Settings → Tax settings**
**Option B: Sufio (recommended for B2B and EU VAT compliance)**
1. Install **Sufio** from the Shopify App Store (paid, ~$19/month starting)
2. Go to **Sufio → Settings → Document templates** and upload your logo; customize fonts, colors, and layout
3. Under **Sufio → Settings → Automation**, configure when invoices are created and sent:
- Trigger: **Order paid** or **Order fulfilled**
- Action: Generate PDF and email to customer automatically
4. For EU VAT: go to **Sufio → Settings → Tax settings** and enable VAT invoice mode — Sufio adds the required fields (sequential number, seller/buyer VAT numbers, tax breakdown per line)
5. Connect to accounting: go to **Sufio → Integrations** and connect QuickBooks Online or Xero — invoices sync automatically
#### WooCommerce
**Option A: WooCommerce PDF Invoices & Packing Slips (free)**
1. Install **WooCommerce PDF Invoices & Packing Slips** from WordPress.org (by WP Overnight — the most popular option with 500,000+ installs)
2. Go to **WooCommerce → PDF Invoices → Documents → Invoice** and configure:
- Enable invoices for: new orders, processing, completed
- Upload your company logo
- Set invoice number format (e.g., year prefix: 2026-0001)
- Add company details (name, address, VAT number)
3. Under **General**, enable **Attach to order confirmation email** — invoices will be emailed automatically on order status change
4. For sequential numbering (required for EU VAT): go to **Invoice → Number** and enable the sequential counter
**Option B: WooCommerce Germanized (EU VAT legal compliance)**
1. Install **WooCommerce Germanized** — this plugin adds full German/EU legal compliance including legally required invoice elements
2. Configure your seller VAT number under **WooCommerce → Germanized → General → VAT ID**
3. Invoice settings are under **WooCommerce → Germanized → Invoices** — configure numbering, format, and automation triggers
**Sync to accounting:**
1. Install **WooCommerce QuickBooks Online** or **WooCommerce Xero** from the WooCommerce Marketplace
2. Orders and invoices sync automatically to your accounting system
#### BigCommerce
1. BigCommerce sends an order confirmation email by default — this serves as a basic invoice for B2C
2. For branded PDF invoices: install **Sufio** from the BigCommerce App Marketplace (same setup as Shopify above)
3. For custom invoice templates: go to **Marketing → Email Templates → Order Confirmation** and customize the default email template
4. For B2B invoice management: install **Apruve** or **Balance** from the App Marketplace — these handle net-terms invoicing with automated payment collection
---
#### Custom / Headless
**Option A: Stripe Invoicing (recommended for B2B)**
Stripe Invoicing handles the complete lifecycle — creation, PDF generation, customer emailing, payment tracking, and dunning for unpaid invoices:
```javascript
// Create and send an invoice via Stripe Invoicing
const invoice = await stripe.invoices.create({
customer: stripeCustomerId,
collection_method: 'send_invoice',
days_until_due: 30,
metadata: { order_id: orderId },
custom_fields: [
{ name: 'PO Number', value: poNumber },
{ name: 'Your VAT Number', value: buyerVatNumber },
],
footer: 'Thank you for your business.',
});
// Add line items
for (const item of order.lineItems) {
await stripe.invoiceItems.create({
customer: stripeCustomerId,
invoice: invoice.id,
amount: Math.round(item.total * 100), // cents
currency: 'usd',
description: item.description,
tax_rates: [stripeTaxRateId], // if using Stripe Tax
});
}
// Finalize and send — Stripe generates PDF and emails it automatically
await stripe.invoices.finalizeInvoice(invoice.id);
await stripe.invoices.sendInvoice(invoice.id);
```
The customer receives a Stripe-hosted invoice page where they can pay by card, bank transfer, or other methods. Stripe handles dunning (unpaid invoice reminders) automatically via **Billing → Settings → Invoice reminders**.
**Option B: PDF generation service (for custom branding)**
If you need full design control over the PDF, use **PDFMonkey** or **Docspring**:
```javascript
// Generate a branded PDF using PDFMonkey
const response = await fetch('https://api.pdfmonkey.io/api/v1/documents', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.PDFMONKEY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
document: {
document_template_id: process.env.INVOICE_TEMPLATE_ID,
status: 'pending',
payload: {
invoice_number: invoiceNumber,
issue_date: new Date().toISOString().split('T')[0],
due_date: dueDateString,
seller: { name: 'Your Company', address: sellerAddress, vat_number: sellerVat },
buyer: { name: customer.company_name, address: billingAddress, vat_number: buyerVat },
line_items: lineItems,
subtotal: order.subtotal,
tax_amount: order.taxAmount,
total: order.total,
},
},
}),
});
const { document } = await response.json();
// Poll for document.status === 'success', then retrieve document.download_url
```
### Step 3: Ensure EU VAT invoice compliance
EU VAT invoices require these mandatory fields (check each is present in your template):
1. Sequential invoice number (no gaps)
2. Invoice date
3. Seller name, address, and VAT registration number
4. Buyer name and address; buyer VAT number (for B2B cross-border within EU)
5. Description of goods or services
6. Unit price, quantity, and line total per item
7. VAT rate and VAT amount per line
8. Total amount excluding VAT
9. Total VAT amount
10. Total amount including VAT
Sufio and WooCommerce Germanized both handle these requirements automatically.
## Best Practices
- **Use sequential numbers with no gaps** for VAT-registered businesses — many tax authorities require sequential numbering; UUIDs are not compliant
- **Snapshot customer and seller data at invoice creation** — if the customer changes their address later, the invoice must reflect the address at the time of issue
- **Store invoices immutably** — never edit a sent invoice; issue a credit note and a replacement invoice for corrections
- **Include a payment link prominently** — bank details, ACH routing, or a pay-now link should be the most visible element on B2B invoices
- **Automate sync to accounting** — use Sufio's built-in QuickBooks/Xero sync or a tool like A2X to avoid manual data entry
## Common Pitfalls
| Problem | Solution |
|---------|----------|
| Invoice numbers are not sequential (gaps after failed orders) | Use apps like Sufio or WooCommerce PDF Invoices which maintain their own sequential counter independent of order status |
| Duplicate invoices for the same order | All recommended apps handle idempotency — they check whether an invoice already exists for the order before creating a new one |
| EU VAT invoice missing mandatory fields | Use Sufio (Shopify/BigCommerce), WooCommerce Germanized (WooCommerce), or Stripe Invoicing with custom_fields for the VAT numbers |
| PDF too large for email attachment | Invoice apps use efficient PDF rendering; issues typically occur with large image assets in the template — compress your logo |
| QuickBooks/Xero sync fails silently | Check the integration logs in your invoice app; most apps have a retry mechanism and will alert you on sync failures |
| Customer replies to invoice email but gets no response | Configure invoice delivery from a monitored billing@yourdomain.com address, not a noreply@ address |
## Related Skills
- @accounts-receivable-automation
- @tax-compliance-automation
- @payment-terms-optimization
- @stripe-integration
- @subscription-billingRelated Skills
tax-compliance-automation
Automate multi-jurisdiction sales tax, VAT, and GST compliance with nexus tracking, exemption certificates, filing automation, and audit-ready reports
payment-reconciliation-automation
Automate payment reconciliation across Stripe, PayPal, and bank accounts with exception handling, automated matching rules, and discrepancy alerting
accounts-receivable-automation
Automate B2B accounts receivable with invoice generation, payment tracking, dunning sequences for past-due invoices, and aging analysis dashboards
seasonal-campaign-automation
Automate seasonal marketing campaigns for Black Friday, holidays, and shopping events with templated workflows, countdown sequences, and year-round planning
review-generation-engine
Automatically request and collect product reviews post-purchase with timed email/SMS sequences, photo incentives, and fraud detection for fake reviews
lifecycle-marketing-automation
Map customer journey stages from first visit to loyal advocate with personalized messaging, triggered workflows, and segment-based campaign automation
email-marketing-automation
Build automated email flows for welcome series, post-purchase follow-ups, win-back campaigns, and browse abandonment to drive repeat revenue
wishlist-save-for-later
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
storefront-theming
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
search-autocomplete
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
responsive-storefront
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion
recently-viewed-products
Show shoppers the products they recently browsed using browser storage so they can easily pick up where they left off on your store