プラグイン一覧 / 発注承認
発注承認プラグイン
担当者の発注を管理者が承認してから店舗へ流します。承認限度額を設定すると、金額に応じて上長へ回る多段の稟議になります。
取引先アカウント管理プラグインのアドオンです。先にそちらを入れてください。
担当者のセルフ管理は必須ではありません。入れている場合だけ機能が増えます。
何のためのプラグインか
法人取引では、担当者が自由に発注できると困ることがあります。
- 部下の発注を上長が確認してから通したい
- 予算を超える発注を止めたい
- 誰が何を承認したのか記録に残したい
取引先アカウント管理プラグインは「1社に複数の担当者」を作れますが、担当者が発注したら そのまま店舗へ流れます。 止める場所がありません。
このプラグインは、担当者の発注を「承認待ち」で止めます。取引先の管理者が承認したら 通常の受注として店舗へ流れ、差し戻せば注文取消しになります。
止まるのは担当者の発注だけです
| 発注した人 | どうなるか |
|---|---|
| 担当者 | 承認待ちで止まる |
| 取引先の代表 | そのまま通る(承認する相手がいないため) |
| 一般の会員 | そのまま通る |
| 非会員 | そのまま通る |
購入手続きは止めません
担当者から見ると注文はいったん完了し、そのあと承認を待つ形になります。手続きの途中で 止めると、在庫の引き当てや決済との兼ね合いを全部自前で持つことになるためです。
そのため、次の2つは承認より先に起きます。
- 決済。 カード決済だと、承認していない注文で売上が立ちます。銀行振込か請求書払いを前提にしてください
- 注文完了メール。 担当者に「ご注文ありがとうございます」が届きます
画面
承認待ちの発注(マイページ)
発注者・注文番号・金額・商品が並びます。ボタンの文言は結果によって変わります。 自分の限度額で確定できるなら「承認する」、上長へ回るだけなら「上長へ回す」。 同じ操作でも結果が違うので、押す前に分かるようにしています。

このメニューが出るのは担当者を1人以上持っている会員だけです。承認待ちが0件でも メニューは残します。件数が0のときだけ消えると、承認したとたんに入口が無くなるためです。 触れるのは自分の担当者の発注だけで、他社の発注は一覧に出ず、URL を直接叩いても 403 になります。
承認限度額(管理画面 → 会員編集)

受注一覧
承認待ちは専用のステータスなので、店舗側の受注一覧でも見分けられます。

金額で承認者が変わる稟議
会員に承認限度額を設定すると、金額に応じて承認者が上がっていきます。 稟議のラインは取引先アカウントの親子関係をそのまま使います。 「上長」を別に 作りません。鈴木の親が佐藤、佐藤の親が山田。これでラインになります。
| 条件 | 起きること |
|---|---|
| 金額が限度額以内 | そこで確定する。受注は新規受付へ |
| 金額が限度額を超える | その人の上長を新しい承認者にする。ステータスは承認待ちのまま |
| 上長がいない | 承認できない。 ボタンが「承認できません」になり、押せません |
3つ目は起こりうる状態です。いちばん上の人の限度額を超える発注が来たら、誰も承認 できません。黙って通すより、稟議の設計が足りていないことを画面で知らせています。 押してからエラーで知らせる形にはしていません。 押しても止まるだけなので、 ボタンの下に理由を出します。
限度額の意味
| 値 | 意味 |
|---|---|
| 未設定 | 自分では確定できない。上長へ回す |
| 0 | 1円でも上へ回す |
| 金額 | その金額まで自分の裁量で確定できる |
未設定と 0 は違います。 ただし、上長がいない人が限度額を設定していない場合は 確定できます。限度額を使わずに1階層で運用している店を壊さないためです。
限度額は誰が設定するか
承認限度額は「誰がいくらまで決裁できるか」という取引先の社内規程です。既定では 管理画面の会員編集から店が設定しますが、それだと人事異動のたびに店へ連絡が来る運用に なります。取引先アカウント管理の基本設定で許可すると(発注承認を入れると項目が 増えます)、承認者のマイページに承認限度額の設定画面が出て、取引先が自分で配れます (既定は出ません)。
担当者のセルフ管理も入れていれば、取引先の管理者が マイページで担当者を追加する画面にも限度額の欄が出ます。入れていなければ追加の画面 そのものが無いので、発行した担当者には設定画面から配ります。
任せても、配り方は委譲の形に縛られます。配れるのは自分の配下だけで、 自分の限度額を超える金額は配れません。 部長は自分の枠の中で課長に配り、課長は その中で担当者に配ります。「上長より部下が大きい」状態は作れません。
自分の限度額が未設定のいちばん上の管理者は、制限なく配れます。自分の限度額が未設定で 上長がいる承認者は配れません。まず自分が上長から枠をもらいます。委譲を許可しても、 管理画面からの設定は残るので、店が代行して直すことはできます。

差し戻しの理由と記録
差し戻しには理由が要ります。 空のままでは差し戻せません。差し戻すと注文取消しに なるだけなので、理由が無いと担当者には「なぜ止まったのか」が伝わりません。理由は 発注した担当者の注文履歴に出ます。
差し戻すと、本体の注文取消しと同じ経路を通るので、在庫と使用ポイントは戻ります。 承認は在庫を動かしません(発注の時点で引き当て済みのため)。
承認と差し戻しは記録に残します。どの発注を、誰が、いつ、承認したのか差し戻したのかを、 理由とあわせて控えます。承認者の氏名は記録した時点の値を控えるので、あとで 担当者アカウントが退会しても「誰か分からない承認」になりません。
通知メール
3通に整理しています。文面はマスタに登録してあるので、管理画面のメール設定から 件名も本文も直せます。
| いつ | 誰へ | 何を |
|---|---|---|
| 担当者が発注した直後 | 担当者 | 注文完了メール。承認待ちだと分かる文面に差し替えます |
| 同上 | 承認者 | 承認をお願いする通知 |
| 承認・差し戻しの直後 | 担当者 | 結果の通知。差し戻しなら理由も入ります |
割り切っているところもあります。通知が落ちても発注は止めません(失敗はログに 残すだけです)。送り先の承認者は1人で、担当者の親アカウントに固定です。送信の 記録が残るのは注文完了メールだけで、承認依頼と結果の通知は受注詳細から追えません。
承認者が消えたとき
承認者の会員が削除されても、発注が宙に浮かないように受け皿を用意してあります。 承認を待っている人は「受注が持っている承認者 → 発注者の上長 → 受注が控えている 取引先」の順で決まります。
ただし発注者自身が取引先の場合は受け皿にしません。 自分の発注を自分で承認できて しまうためです。この場合は承認できる人がいない状態のままになります。
受注ステータスは1つだけ増やします
有効化すると「承認待ち」を受注ステータスに追加します。「課長承認待ち」「部長承認待ち」 とは分けません。段を増やすたびに遷移が増え、遷移の名前は在庫やポイントの処理と 結びついているためです。進み具合は受注が持つ「いま誰の番か」で表せます。
無効化してもこのステータスは消しません。 その状態で止まっている受注が残るため、 消すと何の状態だったのか分からなくなります。
ステータスの番号が他のプラグインとぶつかる場合、有効化を止めます。 黙って使い
始めると、そのプラグインの状態の受注を承認待ちとして扱ってしまうためです。
番号は .env で変えられるので、塞がって有効化できなくなることはありません
(本体が使っている 1〜9 は指定できません)。
画面の文言を変える
承認待ちの発注と承認限度額の設定の画面は、テンプレートの写しを app/template/plugin/B2BOrderApproval/ に置いて変えます。
管理画面では直せません(プラグインテンプレート編集プラグイン 4.4.1 から。直した履歴が
残らないためです)。写しは git で控えを残してください。
置くのは直したいファイルだけです。置いていないものはプラグインの中の原本が使われるので、 テーマを変えても写し直しは要りません。 プラグインを更新しても写しは残ります。原本が 変わったときは、差分を見て取り込みます。
ページ管理の編集欄からは直さないでください。 本体は保存するとき必ずテーマ配下へ書くので、 **「保存できたのに画面が変わらない」**状態になり、以後プラグインを更新しても反映されません。 プラグインテンプレート編集プラグインを入れておくと、この欄を伏せ、本体が書いた写しを その場で消します。
メールの文面も同じです。 件名は 設定 → メール設定 から直せますが、本文は テンプレートの写しを置いて直します。メール設定の本文欄から保存すると、テーマ配下へ 写しができて以後効かなくなります(プラグインテンプレート編集プラグインを入れていれば、 この欄は伏せてあります)。
承認をきっかけに何かする
承認・回送・差し戻しのたびにイベントが流れます。チャットへ流す、外部の基幹システムへ 渡すといった処理を、プラグインを書き換えずに足せます。
| イベント | いつ |
|---|---|
OrderApprovedEvent |
発注が確定し、受注が新規受付へ進んだ |
OrderForwardedEvent |
限度額を超えたので上長へ回した |
OrderRejectedEvent |
差し戻して受注を取り消した |
通知メールもこの口を使っています。メールを止めたい、別の文面で送りたいときは、 この購読者を差し替えてください。
承認待ちが溜まったら知らせる
業務の自動化を入れると、「承認待ちのまま2日たった受注があれば、 取引先の管理者へメールを送る」といった督促を、管理画面で決められます。受注ステータスの 選択肢はマスタから引いているので、このプラグインが足した「承認待ち」もそのまま並びます。 設定は要りません。
できないこと
| 項目 | 内容 |
|---|---|
| 決済より先に承認する | できません。承認前に決済が走ります。銀行振込か請求書払いを前提にしてください |
| 注文完了メールを止める | 承認より先に担当者へ届きます |
| 一般会員の発注を止める | 止まるのは親アカウントを持つ担当者の発注だけです |
動作要件
| 項目 | 内容 |
|---|---|
| EC-CUBE | 4.4 系 |
| PHP | 8.2 / 8.3 |
| 必須プラグイン | 取引先アカウント管理(ec-cube/b2bcompany)4.4.3 以上が有効であること |
会員グループは使いません。 取引先アカウント管理も会員グループ管理を必要と しないので、会員グループ管理を入れずに導入できます。
差し替えられるところ
主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。
AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。
| インターフェース | できること |
|---|---|
ApproverResolverInterface | 承認者の決め方を変える(親子関係ではなく部署で決めるなど) |
入手する
オーナーズストアで購入
買い切りです。月額はかかりません。予定価格 税抜 50,000 円。
予定価格です。オーナーズストアでの販売開始時に変わる場合があります。
この条件で回るか、確かめてから決めてください
締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。