mcpField
I
invoice-generation-automation

invoice-generation-automation

github.com/finsilabsドキュメント6093 回インストール5 日前に更新
リポジトリ

invoice-generation-automation について

EC事業者向けに、請求書の作成・送付とコンプライアンス対応を自動化するための実用スキルです。プラットフォーム別のツール選定、ブランド付きPDF、VAT要件、会計ワークフローの設定を扱います。

主な機能

  1. 01プラットフォーム別のツール選定
  2. 02請求書の自動作成とメール送付
  3. 03ブランド付きPDFとテンプレート設定
  4. 04EU VAT請求書の必須項目ガイド
  5. 05会計システム連携の案内
  6. 06請求書番号と保管の実務

活用シーン

  1. 01完了注文の請求書を自動作成
  2. 02B2Bまたはサブスクリプション請求書の設定
  3. 03EU VAT要件に沿った請求書の準備
  4. 04請求書記録の会計ソフトへの連携

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill invoice-generation-automation

インストール後、Claude Code で/invoice-generation-automationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

tile.json
evals/invoice-orchestrator-with-idempotency-an/
criteria.json
task.md
evals/pdf-rendering-with-puppeteer-and-handleb/
criteria.json
task.md
evals/sequential-invoice-numbering-with-no-gap/
criteria.json
task.md

詳細

請求書生成の自動化

概要

請求書生成を自動化すると、完了したすべての注文から、手作業なしでブランドイメージに合ったプロフェッショナルな PDF 請求書を作成できます。B2B EC では、請求書は顧客の調達や経理のワークフローに必要な法的文書です。多くの国、特に EU では、連番、VAT 番号、必須項目を含む特定の請求書形式が法律で定められています。主要なプラットフォームはすべて、アプリやプラグインを通じた請求書の自動化に対応しており、多くの場合、カスタムコードは一切必要ありません。

このスキルを使用するタイミング

  • 購入後に顧客から請求書を求められ、手作業で作成している場合
  • 支払い前または支払い後に請求書が必要な B2B EC を構築する場合
  • EU の VAT 請求書要件に準拠する必要がある場合
  • 請求書の記録が必要な会計ソフトウェア(QuickBooks、Xero)と連携する場合
  • サブスクリプションの請求で、請求サイクルごとに請求書を生成する必要がある場合
  • 決済プロセッサーの既定の請求書デザインではなく、ブランドイメージに合ったプロフェッショナルな PDF が必要な場合

基本的な手順

ステップ 1:利用中のプラットフォームを確認し、適切な請求書ツールを選ぶ
プラットフォームおすすめのツール備考
ShopifyOrder Printer Pro または Sufio(Shopify App Store)Shopify には標準の請求書 PDF 機能がありません。Order Printer Pro は最も広く使われている無料の選択肢です。Sufio は EU の VAT 準拠、会計ソフトウェアとの同期、自動送信に対応します
WooCommerceWooCommerce PDF Invoices & Packing Slips(無料)または WooCommerce Germanized(EU 準拠)無料のプラグインは標準的な請求書 PDF に対応します。Germanized はドイツおよび EU の法令に準拠した請求書形式を追加します
BigCommerceOrder Confirmation PDF(組み込み)+ API 経由の Sufio または Invoice NinjaBigCommerce は既定の注文確認書を送信します。Sufio は EU の VAT に完全対応した、ブランドイメージに合った PDF を追加します
Stripe ベースのストアStripe Invoicing(組み込み)Stripe は請求書を自動で作成、送信し、支払い状況を追跡します。B2B やサブスクリプションの請求に最適です
カスタム/ヘッドレスStripe Invoicing API またはカスタム PDF 生成用の Docspring/PDFMonkeyStripe Invoicing は督促を含む全ライフサイクルに対応します。PDF API はカスタムデザインに対応します
ステップ 2:請求書の自動生成を設定する

Shopify

オプション A:Order Printer Pro(無料、基本機能)

  1. Shopify App Store から Order Printer Pro をインストールします
  2. Apps → Order Printer Pro → Templates に移動し、ロゴ、色、フッターのテキストに合わせて請求書の HTML テンプレートをカスタマイズします
  3. Settings で自動印刷のトリガーを設定します。注文がフルフィルメントされると、アプリから顧客に請求書 PDF を自動でメール送信できます
  4. EU の VAT 請求書については、このアプリでは VAT 番号の追加や準拠した書式設定が可能です。Settings → Tax settings で有効にします

オプション B:Sufio(B2B および EU の VAT 準拠におすすめ)

  1. Shopify App Store から Sufio をインストールします(有料、月額約 19 ドルから)
  2. Sufio → Settings → Document templates に移動してロゴをアップロードし、フォント、色、レイアウトをカスタマイズします
  3. Sufio → Settings → Automation で、請求書を作成して送信するタイミングを設定します
    • トリガー:Order paid または Order fulfilled
    • アクション:PDF を生成し、顧客に自動でメール送信
  4. EU の VAT については、Sufio → Settings → Tax settings に移動して VAT 請求書モードを有効にします。Sufio は必須項目(連番、販売者と購入者の VAT 番号、明細行ごとの税額内訳)を追加します
  5. 会計ソフトウェアに接続するには、Sufio → Integrations に移動して QuickBooks Online または Xero に接続します。請求書は自動で同期されます
WooCommerce

オプション A:WooCommerce PDF Invoices & Packing Slips(無料)

  1. WordPress.org から WooCommerce PDF Invoices & Packing Slips をインストールします(WP Overnight 製。50 万件以上のインストール実績を持つ、最も人気のあるオプションです)
  2. WooCommerce → PDF Invoices → Documents → Invoice に移動し、次の項目を設定します:
    • 請求書を有効にする注文:新規注文、処理中、完了
    • 会社のロゴをアップロードします
    • 請求書番号の形式を設定します(例:年のプレフィックス:2026-0001)
    • 会社情報(名称、住所、VAT 番号)を追加します
  3. General で Attach to order confirmation email を有効にします。注文ステータスの変更時に、請求書が自動的にメールで送信されます
  4. 連番(EU VAT で必須)を使用するには、Invoice → Number に移動し、連番カウンターを有効にします

オプション B:WooCommerce Germanized(EU VAT の法令遵守)

  1. WooCommerce Germanized をインストールします。このプラグインは、法的に必要な請求書の項目を含む、ドイツおよび EU の法令への完全な準拠を実現します
  2. WooCommerce → Germanized → General → VAT ID で販売者の VAT 番号を設定します
  3. 請求書の設定は WooCommerce → Germanized → Invoices にあります。番号、形式、自動化のトリガーを設定します

会計システムとの同期:

  1. WooCommerce Marketplace から WooCommerce QuickBooks Online または WooCommerce Xero をインストールします
  2. 注文と請求書が会計システムに自動で同期されます
BigCommerce
  1. BigCommerce ではデフォルトで注文確認メールが送信されます。これは B2C 向けの簡易的な請求書として機能します
  2. ブランドに合わせた PDF 請求書を作成するには、BigCommerce App Marketplace から Sufio をインストールします(上記の Shopify と同じ設定です)
  3. カスタムの請求書テンプレートを使用するには、Marketing → Email Templates → Order Confirmation に移動し、デフォルトのメールテンプレートをカスタマイズします
  4. B2B の請求書管理には、App Marketplace から Apruve または Balance をインストールします。これらは、支払い回収を自動化した掛け払い請求に対応しています

カスタム/ヘッドレス

オプション A:Stripe Invoicing(B2B におすすめ)

Stripe Invoicing は、請求書の作成、PDF の生成、顧客へのメール送信、支払いの追跡、未払い請求書への督促まで、ライフサイクル全体に対応します:

// 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);

顧客には Stripe がホストする請求書ページが届き、カード、銀行振込、その他の方法で支払えます。Stripe は Billing → Settings → Invoice reminders から、未払い請求書への督促を自動的に行います。

オプション B:PDF 生成サービス(ブランドに合わせたデザイン向け)

PDF のデザインを完全に制御する必要がある場合は、PDFMonkey または Docspring を使用します:

// 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
ステップ 3:EU VAT 請求書の要件への準拠を確認する

EU VAT の請求書には、次の必須項目が必要です(テンプレートに各項目が含まれていることを確認してください):

  1. 連番の請求書番号(欠番なし)
  2. 請求書の日付
  3. 販売者の名称、住所、VAT 登録番号
  4. 購入者の名称と住所。EU 域内の B2B 越境取引の場合は、購入者の VAT 番号も必要です
  5. 商品またはサービスの説明
  6. 各項目の単価、数量、行合計
  7. 各項目の VAT 率と VAT 額
  8. VAT 抜きの合計金額
  9. VAT の合計額
  10. VAT 込みの合計金額

Sufio と WooCommerce Germanized は、どちらもこれらの要件に自動で対応します。

ベストプラクティス

  • VAT 登録事業者は、欠番のない連番を使用します。多くの税務当局が連番を義務付けており、UUID は要件に準拠しません
  • 請求書の作成時点で顧客と販売者のデータを保存します。顧客が後から住所を変更した場合でも、請求書には発行時点の住所を記載する必要があります
  • 請求書は変更できない形式で保存します。送信済みの請求書は編集せず、訂正にはクレジットノートと差し替え用の請求書を発行します
  • 支払いリンクを目立つ位置に表示します。銀行口座情報、ACH ルーティング情報、または今すぐ支払うためのリンクは、B2B 請求書で最も目立つ要素にする必要があります
  • 会計システムとの同期を自動化します。手作業でのデータ入力を避けるため、Sufio に組み込まれた QuickBooks/Xero 同期機能や、A2X などのツールを使用します

よくある問題と対処法

問題解決策
請求書番号が連番にならない(注文の失敗後に欠番が生じる)Sufio や WooCommerce PDF Invoices など、注文ステータスとは独立した連番カウンターを管理するアプリを使用します
同じ注文に対して請求書が重複する推奨アプリはすべて冪等性に対応しており、新しい請求書を作成する前に、注文に対する請求書がすでに存在するか確認します
EU VAT 請求書に必須項目が記載されていないSufio(Shopify/BigCommerce)、WooCommerce Germanized(WooCommerce)、または VAT 番号用の custom_fields を設定した Stripe Invoicing を使用します
PDF のサイズが大きすぎてメールに添付できない請求書アプリは効率的な PDF レンダリングを使用します。問題は通常、テンプレート内の画像アセットが大きい場合に発生するため、ロゴを圧縮してください
QuickBooks/Xero の同期が通知なしに失敗する請求書アプリの連携ログを確認してください。ほとんどのアプリには再試行機能があり、同期に失敗すると通知されます
顧客が請求書メールに返信しても応答がないnoreply@ アドレスではなく、[email protected] など、監視されているアドレスから請求書を送信するように設定します

関連スキル

  • @accounts-receivable-automation
  • @tax-compliance-automation
  • @payment-terms-optimization
  • @stripe-integration
  • @subscription-billing

コメント