プラグイン一覧 / 取引先の拠点
取引先の拠点プラグイン
取引先の支店・工場・現場(拠点)ごとに、送れるお届け先と所属する担当者を決めます。拠点に所属した担当者は、その拠点のお届け先にしか送れません。注文には拠点が残ります。
取引先アカウント管理プラグインのアドオンです。先にそちらを入れてください。
担当者の権限は必須ではありません。入れている場合だけ機能が増えます。
何のためのプラグインか
取引先アカウント管理で取引先がお届け先を登録すると、担当者全員の購入手続きに全部並びます。 大阪支店の担当者にも、東京本社や福岡工場の住所が出ます。選び間違えると、別の拠点へ 荷物が届きます。
注文に残るのは「どの取引先の注文か」までです。どの拠点の注文かは残りません。 拠点ごとに発注を集計したい取引先は、注文のたびに備考へ書いてもらうことになります。
このプラグインは、取引先の中に拠点を作り、拠点ごとにお届け先と担当者を割り当てます。

拠点を選ぶと、お届け先がその拠点のものに変わります。
入れただけでは何も変わりません
| 会員 | 動き |
|---|---|
| 拠点に所属していない担当者 | このプラグインを入れる前と同じ。取引先のお届け先が全部並ぶ |
| 拠点に所属している担当者 | その拠点のお届け先にしか送れない |
| 取引先の管理者・一般会員 | 効かない |
拠点を作る
拠点は取引先ごとに作ります。名前・コード・お届け先・所属する担当者を持ちます。 お届け先は、取引先がすでに登録しているものから選びます。 住所そのものは、本体の お届け先の画面で登録します。担当者は複数の拠点に所属できます。


取引先の管理者も、マイページから自社の拠点を編集できます。中身は管理画面と同じで、 取引先は自分に固定されます。

マイページに出すかどうかは、このプラグインの基本設定「取引先の管理者にマイページで 拠点を編集させる」で決めます(既定は出す)。切ると、誰がどこに属するかは店だけが 管理画面で決めます。担当者には出しません。購入手続きで拠点のお届け先に絞る動きは、 この設定に関係なく効きます。

4.4.0 までは、取引先アカウント管理の基本設定「取引先が自分で担当者を発行できるように する」に揃えていました。その設定が担当者のセルフ管理へ 移ったので、自前の設定にしています。担当者のセルフ管理を入れていなくても、マイページの 拠点は出せます。
購入手続き
所属する拠点の数で動きが変わります。
| 所属 | 動き |
|---|---|
| 0 | 今までどおり。取引先のお届け先が全部並ぶ |
| 1 | その拠点で注文する。お届け先はその拠点のものだけ。最初はその拠点の最初のお届け先が入る |
| 2 以上 | 購入手続きで拠点を選ぶ。選ぶまで確認へ進めない |

「変更」を押しても、その拠点のお届け先しか並びません。

所属が2つ以上の担当者には、拠点を選ぶ欄が出ます。

画面で隠すだけではありません。 細工したリクエストで拠点の外の住所を送られても、 購入手続きの検証でその拠点の住所に戻します。拠点にお届け先が1つも無いときは、 注文できない理由を出して止めます。

拠点に所属した担当者は、お届け先を自分で登録できません。 登録しても拠点の お届け先ではないので使えないためです。担当者の権限で 「お届け先を登録する」を持っていても同じです。
既定の拠点とお届け先を決める
拠点が自動で決まるのは所属が1つのときだけです。本社と現場を兼務している担当者は 毎回選ぶことになり、選び忘れると確定へ進めません。ほとんど本社宛だと分かっているなら、 既定を決められます。
class MainLocationDefault implements DefaultLocationInterface
{
public function locationFor(Customer $Member, array $Locations): ?Location
{
// 所属する拠点の並び順の先頭で始める。担当者は画面で選び直せる
return $Locations[0];
}
public function addressFor(Customer $Member, Location $Location, array $Addresses): ?CustomerAddress
{
// お届け先は決めない(割り当ての先頭が入る)
return null;
}
}
拠点の中にお届け先が何件もあるときは、addressFor() で「倉庫ではなく事務所宛」のような
既定も決められます。拠点が既定で決まったときも、担当者が選び直したときも、拠点の外の住所を
戻すときも、同じ答えが効きます。
決まるのは既定だけで、止める側は動きません。 既定にした拠点のお届け先以外へ送れない ことは変わらず、ここから送り先を増やすことはできません。所属していない拠点や、その拠点の ものでないお届け先を返しても効きません。担当者が選んだ拠点のほうが勝ち、拠点のお届け先が すでに入っていれば既定で上書きしません。
呼ばれるのは拠点に所属する担当者の購入手続きだけです。 取引先の管理者・一般会員・ 所属が 0 の担当者には聞かず、管理画面の受注編集でも呼ばれません。
注文に拠点が残ります
注文には、拠点と注文した時点の拠点名を控えます。拠点の名前を変えても、拠点を 消しても、注文の拠点名は残ります。
| どこで | 何ができるか |
|---|---|
| マイページの注文履歴 | 一覧と詳細に拠点名が出る |
| 受注一覧・受注編集 | 拠点名が出る。詳細検索の「拠点」で絞れる |
| 受注CSV・配送CSV | 拠点名を出せる(既定は出さない側。CSV出力項目設定で動かす) |


自分の拠点の注文を見る
担当者の権限も入れていると、役割のできることに 「自分の拠点の注文を見る」 が増えます。持っている担当者は、所属する拠点の注文を (ほかの担当者のものも)注文履歴で見られます。


| 役割が持つもの | 見える範囲 |
|---|---|
| 会社全体の注文履歴を見る | 会社全体(こちらが勝つ) |
| 自分の拠点の注文を見る | 自分の注文と、所属する拠点の注文 |
| どちらも無い・役割が未設定 | 自分の注文だけ |
有効化しても、既定の役割(管理者・発注担当・閲覧のみ)には足しません。誰に持たせるかは 店が決めます。担当者の権限を入れていない店では、この項目は出ません。
知っておいてほしい仕様
| 項目 | 内容 |
|---|---|
| 1つの注文に付く拠点は1つ | お届け先を複数に分けても、拠点は1つです |
| 管理画面で作る受注には付かない | 購入手続きを通らないためです。定期発注はカートから購入手続きを通るので付きます |
| 拠点を消すと「自分の拠点の注文を見る」から外れる | 注文の拠点名は残ります |
| 拠点を選ばずに確認へ進むと、同じ警告が2回出る | 動きに影響はありません |
| 無効化は取引先アカウント管理より先に | 取引先アカウント管理は、このプラグインが有効なうちは無効化できません |
できないこと
| 項目 | 内容 |
|---|---|
| 拠点ごとに請求を分ける | できません。月締め請求の請求先は会員単位です |
| 拠点ごとに支払い方法・価格を変える | できません。支払い方法と価格は会員グループ単位で決まります |
動作要件
| 項目 | 内容 |
|---|---|
| EC-CUBE | 4.4 系 |
| PHP | 8.2 / 8.3 |
| 必須プラグイン | 取引先アカウント管理(ec-cube/b2bcompany)4.4.3 以上が有効であること |
| 任意 | 担当者の権限(ec-cube/b2bmemberrole)。入れるなら 4.4.2 以上 |
会員グループは使いません。 会員グループ管理を入れずに導入できます。
差し替えられるところ
主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。
AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。
| インターフェース | できること |
|---|---|
DefaultLocationInterface | 購入手続きをどの拠点で始めるか、その拠点のどのお届け先で始めるかを決める(兼務の担当者は本社を既定にする、拠点ごとに事務所宛を既定にする、など) |
入手する
オーナーズストアで購入
買い切りです。月額はかかりません。予定価格 税抜 50,000 円。
予定価格です。オーナーズストアでの販売開始時に変わる場合があります。
この条件で回るか、確かめてから決めてください
締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。