Commerce Invoice
Drupal Commerce の注文に対する請求書の生成、管理、PDF エクスポート機能を提供します。
commerce_invoice
インストール
composer require 'drupal/commerce_invoice:8.x-2.2'
概要
Commerce Invoice は Drupal Commerce 向けの包括的な請求書ソリューションで、ストアが顧客注文の請求書を生成、管理、配布できるようにします。このモジュールは、特定の時点での注文情報をキャプチャする Invoice(請求書)および Invoice Item(請求書明細)エンティティを作成し、データの整合性と会計要件への準拠を確保します。
このモジュールは Entity Print と統合して PDF を生成し、複数の請求書タイプ(返金用のクレジットメモを含む)をサポートし、請求書ライフサイクル管理のためのカスタマイズ可能なワークフローを提供します。請求書は注文時に自動生成することも、管理者が手動で作成することもできます。請求書が確認済みまたは支払済みになると、PDF 添付ファイル付きのメール通知を顧客に送信できます。
主な機能には、カスタマイズ可能な請求書番号パターン、設定可能な支払条件と期日、ロゴサポート、多言語請求書生成、安全な PDF ストレージのためのプライベートファイルシステムが含まれます。
Features
- カスタマイズ可能なステートマシンワークフロー(draft、pending、paid、refund_pending、refunded、canceled)による完全なライフサイクル管理を備えた Invoice エンティティ
- 注文時の自動請求書生成(注文タイプごとに設定可能)
- 請求書明細と調整を完全に制御できる管理インターフェースからの手動請求書作成
- 返金と返品を処理するための別番号シーケンスを持つクレジットメモサポート
- Php Wkhtmltopdf エンジンをサポートする Entity Print 統合による PDF 請求書生成
- Commerce Number Pattern モジュールを使用したカスタマイズ可能な請求書番号パターン
- 請求書が確認済みまたは支払済みになった際の PDF 添付ファイル付きメール確認システム
- ロゴ、支払条件、期日計算、フッターテキストを含む請求書タイプ設定
- 動的コンテンツのための支払条件とフッターテキストでの Token サポート
- 請求書タイプごとに設定可能なサブディレクトリを持つプライベートファイルシステムでの安全な PDF ストレージ
- 自動翻訳生成による多言語請求書サポート
- 部分請求書サポート - 同じ注文に対して複数の請求書を生成可能
- 小計、調整内訳、合計金額を含む請求書合計サマリー
- ダウンロード機能を備えた顧客向け請求書表示
- 請求書アクティビティ追跡のための Commerce Log との統合
Use Cases
注文時の自動請求書生成
注文時に自動的に請求書を生成するように注文タイプを設定します。注文タイプの編集フォームに移動し、「このタイプの注文に請求書を発行」を有効にし、請求書タイプを選択し、「注文時に請求書を発行」にチェックを入れます。すべての注文明細と調整を含む請求書が自動的に作成されます。
カスタム請求用の手動請求書作成
カスタム請求が必要な注文の場合、管理者は注文の請求書タブから手動で請求書を作成できます。これにより、請求書を生成する前に請求書明細、調整、数量を変更できます。部分請求やカスタム請求契約に便利です。
返金用のクレジットメモ
返金を処理する際は、注文のクレジットメモタブからクレジットメモを作成します。クレジットメモは別の番号シーケンスを使用し、キャンセルされた注文にも使用できます。返品商品の適切な会計記録を維持するのに役立ちます。
請求書確認の送信
請求書タイプ設定で「確認メールを送信」を有効にすると、請求書が確認済みまたは支払済みになった際に自動的に顧客にメールを送信します。メールには請求書 PDF が添付ファイルとして含まれます。オプションで、すべての確認のコピーを受け取る BCC メールを設定できます。
請求書の外観のカスタマイズ
請求書タイプ設定でロゴをアップロードし、支払条件を設定し、フッターテキストを追加します。動的コンテンツには [commerce_invoice:invoice_number] のような Token を使用します。請求書のレイアウトとスタイルを完全に制御するには Twig テンプレートをオーバーライドします。
多言語請求書
多言語ストアの場合、請求書タイプの言語設定で翻訳生成を有効にします。請求書は利用可能なすべての言語で自動的に生成され、顧客の言語設定に基づいて翻訳された商品タイトルとコンテンツが含まれます。
Tips
- 適切な PDF ストレージセキュリティを確保するため、モジュールを有効にする前にプライベートファイルシステムパスを設定してください
- ストアごとに別々の請求書番号付けを行うには、番号パターンで「per_store_sequence」オプションを使用してください
- commerce-invoice.html.twig をテーマにコピーしてレイアウトを変更することで請求書テンプレートをカスタマイズできます
- 請求書ファイルは、更新された状態を反映するために請求書状態が変更されると(例: pending から paid へ)再生成されます
- 期日やストア情報などの動的コンテンツには支払条件とフッターテキストで Token を使用してください
- 部分請求の場合、モジュールは既に請求済みの数量を自動的に追跡し、過剰請求を防止します
Technical Details
Admin Pages 7
/admin/commerce/invoices
すべてのストアの全請求書を表示するメイン請求書一覧ページ。請求書番号、顧客、ストア、状態、合計金額、アクションを表示します。フィルタリングとページネーション機能を提供します。
/admin/commerce/invoices/{commerce_invoice}
請求書明細、合計、顧客情報、請求先情報、状態遷移ボタンを表示する単一請求書の詳細表示。Commerce Log が有効な場合はアクティビティログも含まれます。
/admin/commerce/config/invoice-types
利用可能なすべての請求書タイプを一覧表示。請求書タイプの作成、編集、削除が可能。デフォルトタイプは「Invoice」と「Credit memo」です。
/admin/commerce/config/invoice-types/{commerce_invoice_type}/edit
ワークフロー、番号付け、ロゴ、メール通知、支払条件を含む請求書タイプ設定の設定フォーム。
/admin/commerce/config/invoices/invoice-item-types
システム内の購入可能エンティティタイプに基づいて動的に作成される請求書明細バンドルを一覧表示。
/admin/commerce/orders/{commerce_order}/invoices
この注文に対して生成されたすべての請求書を一覧表示する注文表示ページのタブ。注文の新しい請求書を作成可能。
/admin/commerce/orders/{commerce_order}/credit-memos
この注文に対して生成されたすべてのクレジットメモを一覧表示する注文表示ページのタブ。返金用の新しいクレジットメモを作成可能。
権限 8
Troubleshooting 5
Entity Print が動作する PDF エンジンで正しく設定されていることを確認してください。/admin/config/content/entityprint に移動して PDF エンジン設定を構成します。Php Wkhtmltopdf を推奨します。また、settings.php でプライベートファイルシステムが正しく設定されていることを確認してください。
注文が draft 状態でなく、合計金額があることを確認してください。請求書の場合、注文はキャンセルされていない必要があります。クレジットメモの場合、キャンセルされた注文でも許可されます。また、請求済み合計金額が注文合計を超えていないことを確認してください。
請求書タイプ設定で「確認メールを送信」が有効になっていることを確認してください。HTML メールサポートには Symfony Mailer などのモジュールが必要です。請求書に有効な顧客メールアドレスがあることを確認してください。
ロゴファイルが存在し、アクセス可能であることを確認してください。ファイル権限を確認し、ロゴ URL が絶対パスであることを確認してください。一部の PDF エンジンは特定の画像形式で問題が発生する場合があります - PNG への変換を試してください。
/admin/commerce/config/number-patterns で番号パターン設定を確認してください。パターンが請求書タイプに正しく割り当てられていることを確認してください。番号が止まっているように見える場合はキャッシュをクリアしてください。
Security Notes 4
- 請求書 PDF は不正アクセスを防止するためプライベートファイルシステムに保存されます
- 「administer commerce_invoice_type」権限はその機密性により制限付きアクセスとしてマークされています
- 請求書確認メールには顧客の請求書 PDF が含まれます - 機密な財務データのメールセキュリティを確保してください
- 「view own commerce_invoice」権限により、顧客は専用のユーザーページを通じて自分の請求書のみを表示できます