EC-CUBE 4.2 / 4.3 対応

見積もり依頼プラグイン オンラインマニュアル

QuotationRequest Plugin — 設定・見積もり回答・PDF出力・Cron連携の完全操作ガイド

プラグインコード: QuotationRequest
提供元: CubeLab

1プラグイン概要

見積もり依頼プラグイン(QuotationRequest)は、EC-CUBE 4.2 / 4.3のフロント画面から顧客が特定の商品に対して見積もりを依頼し、 管理者が価格を回答・提示できるB2B向け高機能プラグインです。

管理者が見積価格を設定してメールを送付すると、顧客はメール内の専用リンクから提示価格でそのまま購入手続きに進むことができます。 PDFによる見積書の自動生成や、CSV一括エクスポートにも対応しています。

主な機能一覧

見積もり専用カート
見積もり対象商品を一時的に保存・確認できる専用カートをフロントに提供します。
見積もり依頼フォーム
氏名・メールアドレス・電話番号・会社名・ご要望事項を入力。PDF / JPEG / PNG / GIF(最大5MB)のファイル添付も可能。
管理画面での見積もり回答
管理者メモの記録、商品単価(税込)の設定、回答メールの自動送信。提示した見積もり価格のまま顧客が購入できます。
見積書PDF出力
TCPDFを使用したプロフェッショナルな見積書PDFをワンクリックで生成・ダウンロードできます。
CSVダウンロード
検索した見積もり一覧をCSV形式(UTF-8 BOM付き)で一括エクスポートできます。
マイページ見積もり履歴
会員が自身の依頼履歴・見積価格・ステータスをマイページから確認できます。
商品別見積もり有効化
商品登録画面から、商品ごとに見積もり対象とするかどうかを個別に切り替えられます。
有効期限の自動管理
Cronと連携して期限切れになった見積もりを自動的にステータス変更(「期限切れ」)する仕組みを提供します。

2インストール・有効化

2-1. ファイル配置

プラグインのソースコードを以下のパスに配置します。

app/Plugin/QuotationRequest/

2-2. コンソールコマンドでの有効化(推奨)

EC-CUBEのルートディレクトリで以下のコマンドを実行します。

# インストール
php bin/console eccube:plugin:install --code=QuotationRequest

# 有効化
php bin/console eccube:plugin:enable --code=QuotationRequest

# キャッシュのクリア
php bin/console cache:clear
正常に完了すると管理画面メニューに 「見積もり管理」 メニュー(見積もり一覧・見積もり設定)が追加されます。 データベーステーブル plg_quotation_request・plg_quotation_item・plg_quotation_config が自動生成されます。

2-3. 管理画面からの有効化

管理画面ログイン

EC-CUBE管理画面(/admin)にログインします。

プラグイン一覧を開く

オーナーズストア > プラグイン > プラグイン一覧 を開きます。

インストール & 有効化

「見積もり依頼プラグイン」を選択し、インストールおよび有効化を実行します。

3プラグイン設定

管理画面の 見積もり管理 > 見積もり設定 から基本動作を設定します。

設定項目デフォルト値説明
管理者通知メールアドレス(空欄)新規の見積もり依頼が届いた際に通知メールを受け取るメールアドレス。未設定の場合は通知が送信されません。
見積もり有効期限(日数)30日見積もりを送付してから顧客が購入できる有効期限の日数。期限を過ぎた依頼はCron処理で自動的に「期限切れ」ステータスに更新されます。
メールフッター(空欄)見積もり回答メールの末尾に自動付与されるフッターテキスト(会社名・住所・電話番号など)を設定します。
価格非表示設定OFFONにすると、フロントの見積もりカート・依頼画面で商品価格を非表示にします。価格の公示を控えたいBtoB向け運用に適しています。

4商品への見積もり有効化

見積もり依頼を受け付けたい商品を個別に設定します。デフォルトでは全商品で見積もりが無効になっています。

商品の編集画面を開く

管理画面 商品管理 > 商品一覧 から対象商品の編集画面を開きます。

「見積もり対象にする」をONに変更

商品編集画面の下部(プラグイン追加項目エリア)に表示される 「見積もり対象にする」 チェックボックスをONにします。

保存

「登録」ボタンをクリックして保存します。以降、フロントの商品詳細ページに「見積もりに追加」ボタンが表示されます。

5フロント操作フロー(顧客)

商品詳細ページ:「見積もりに追加」

見積もり対象の商品詳細ページに表示される「見積もりに追加」ボタンをクリックすると、見積もり専用カートに商品が追加されます。

見積もりカートの確認

見積もりカートで追加した商品・数量を確認します。不要な商品の削除や数量変更も可能です。

依頼フォームの入力

以下の情報を入力して見積もり依頼を送信します。

入力項目必須
お名前(漢字)必須
お名前(フリガナ)任意
メールアドレス必須
電話番号任意
会社名任意
ご要望・備考任意
添付ファイル(PDF/JPEG/PNG/GIF・最大5MB)任意

依頼完了・管理者へ通知

送信完了後、顧客には受付確認メールが届きます。同時に設定した管理者通知先メールアドレスへも新規依頼の通知が送信されます。

管理者からの見積もりメールを受け取る

管理者が価格を回答すると見積もりメールが届きます。メール内の「購入手続きへ進む」専用リンクをクリックすると、提示価格のままチェックアウト画面に進めます。

6管理画面:見積もり一覧

管理画面メニューの 見積もり管理 > 見積もり一覧 から全依頼の管理が行えます。

検索フィルター

検索条件説明
依頼番号見積もりの一意な識別番号(例:QR-20260801-0001)で絞り込みます。
ステータス受付中・確認中・見積もり送付済・承認済み・辞退・期限切れ・発注済みで絞り込みます。
期間依頼受付日の範囲で絞り込みます。
顧客名・メールアドレス依頼者の氏名またはメールアドレスで部分一致検索します。

7見積もり詳細・回答操作

一覧画面の「詳細」ボタンから個別の見積もり詳細画面を開き、価格提示と回答メール送信を行います。

依頼内容・添付ファイルの確認

顧客が入力した氏名・連絡先・ご要望事項および添付ファイルを確認します。添付ファイルはダウンロードリンクから取得できます。

管理者メモの記入(任意)

社内向けの対応メモや備考を「管理者メモ」欄に記録できます。このメモは顧客には表示されません。

各商品の見積価格(税込)を設定

依頼された商品ごとに単価(税込)を入力します。入力した金額でカートへの直接追加が可能になります。

「見積もりを送付する」ボタンをクリック

ボタンを押すと以下の処理が自動実行されます。

  • ステータスが「見積もり送付済」に更新
  • 有効期限(設定値の日数後)が自動設定
  • 顧客へ見積もり価格と購入専用リンクを記載した回答メールが送信
税金計算についての注意事項:
課税設定が「税抜(EXCLUDED)」の場合、提示した価格に対してさらに消費税が加算されて決済されます。 税抜運用の場合は、見積もり価格欄に税抜金額をご提示ください。
課税設定が「税込(INCLUDED)」の場合は、提示した価格通りに決済されます。

8見積書PDF出力

見積もり詳細画面の 「見積書PDFをダウンロード」 ボタンをクリックすると、 TCPDFを使用したプロフェッショナルな見積書PDFがブラウザに表示・ダウンロードされます。

見積書PDFに含まれる情報

  • 見積もり依頼番号・発行日・有効期限
  • 顧客情報(氏名・会社名・メールアドレス)
  • 依頼商品の一覧・数量・単価・小計
  • 合計金額(税込)
  • ショップ名・住所などの発行元情報
見積書PDFは見積もり価格を設定済みの依頼(ステータスが「見積もり送付済」以降)でのみ完全な内容が出力されます。 価格未設定の状態でもPDF生成は可能ですが、金額欄が空白になります。

9CSVダウンロード

見積もり一覧の検索結果を 「CSVダウンロード」 ボタンで一括出力できます。 出力されるCSVファイルはUTF-8 BOM付き形式のため、Excelでの文字化けなく開けます。

CSVに含まれる主な項目

  • 依頼番号・受付日時・更新日時
  • ステータス・有効期限
  • 顧客ID・氏名(フリガナ)・会社名・メールアドレス・電話番号
  • 依頼商品名・数量・見積価格
  • 合計見積価格・管理者メモ

10マイページ見積もり履歴(会員向け)

ログイン中の会員は、マイページの「見積もり履歴」から自身の依頼一覧とステータスを確認できます。

確認できる情報詳細
依頼番号・受付日時過去の見積もり依頼を時系列で一覧表示。
現在のステータス「受付中」〜「発注済み」のいずれかのステータスをバッジ表示で確認できます。
見積もり単価・合計管理者が価格を回答済みの場合、商品ごとの見積価格と合計が表示されます。
購入リンクステータスが「見積もり送付済」の場合、そのまま購入手続きに進める専用リンクがマイページにも表示されます。

11Cron設定(有効期限自動処理)

見積もり有効期限が切れた依頼を自動的に「期限切れ」ステータスに更新するには、 サーバーのCronに以下のタスクを登録します。

# 毎日 午前0時に実行する場合の設定例
0 0 * * * cd /path/to/eccube && php bin/console quotation:expire > /dev/null 2>&1
Cronを設定しない場合でも機能は動作しますが、期限切れになった見積もりのステータスが自動更新されません。 管理者が手動でステータスを変更する必要が生じます。有効期限管理が必要な場合は必ずCronを設定してください。

12セキュリティ設定(必須)

重要なセキュリティ対応が必要です。
顧客が添付ファイルをアップロードするディレクトリ html/upload/quotation_attachments/ は一般公開されています。 悪意のあるスクリプトのアップロードと実行を防ぐため、以下の設定を必ず実施してください。

Apacheサーバーでの設定(.htaccess)

下記の内容で html/upload/quotation_attachments/.htaccess を作成してください。

# html/upload/quotation_attachments/.htaccess
<FilesMatch "\.(php|php5|phtml|sh|py|pl)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

この設定により、アップロードディレクトリ内のPHPスクリプトやシェルスクリプトの実行が禁止されます。

Nginxをご利用の場合は、location ブロックで同ディレクトリへのスクリプト実行を禁止する設定を サーバー管理者と連携して追加してください。

13ステータス仕様

ステータス説明購入可否
受付中顧客が依頼を送信。管理者が確認前の初期状態。❌ 不可
確認中管理者が依頼内容を確認・検討中。❌ 不可
見積もり送付済管理者が価格を設定し回答メールを送付済み。顧客は専用リンクから購入可能。✅ 可能
承認済み顧客が見積もりに同意・承認。✅ 可能
辞退顧客が見積もりを辞退、または管理者が断った状態。❌ 不可
期限切れ有効期限を過ぎた見積もり。Cronにより自動変更。❌ 不可
発注済み顧客が実際に購入手続きを完了した状態。—

14FAQ & トラブルシューティング

Q1. 商品詳細ページに「見積もりに追加」ボタンが表示されません。

商品編集画面の「見積もり対象にする」チェックボックスがONになっているかご確認ください。 設定後はキャッシュのクリア(php bin/console cache:clear)を実施してください。

Q2. 管理者に通知メールが届きません。

見積もり設定画面で「管理者通知メールアドレス」が正しく入力されているかご確認ください。 また、サーバーのSMTP設定やメール送信ログもご確認ください。

Q3. 顧客が購入専用リンクをクリックしてもエラーになります。

以下の原因が考えられます:①見積もりが「期限切れ」になっていないか(有効期限を確認)、 ②リンクが一度使用済みでないか、③ショップのURLが変更されていないか。 管理者は詳細画面から有効期限の延長や再送付が可能です。

Q4. 有効期限が自動更新されません。

Cronの設定をご確認ください。php bin/console quotation:expire コマンドが定期実行されているか、 サーバーのcronログで確認してください。

Q5. 税込の見積価格を提示したのに、決済時に税が加算されます。

EC-CUBEの課税設定が「税抜(EXCLUDED)」になっている場合の仕様です。 見積もりカートに適用された金額に対して消費税が計算されます。 税込価格で提示したい場合は、ショップの課税設定を「税込(INCLUDED)」に変更するか、 見積価格欄に税抜金額を入力してください。