EC-CUBE で B2B
構築を相談する

プラグイン一覧 / 取引先の拠点

取引先の拠点プラグイン

取引先の支店・工場・現場(拠点)ごとに、送れるお届け先と所属する担当者を決めます。拠点に所属した担当者は、その拠点のお届け先にしか送れません。注文には拠点が残ります。

取引先アカウント管理プラグインのアドオンです。先にそちらを入れてください。

担当者の権限は必須ではありません。入れている場合だけ機能が増えます。

何のためのプラグインか

取引先アカウント管理で取引先がお届け先を登録すると、担当者全員の購入手続きに全部並びます。 大阪支店の担当者にも、東京本社や福岡工場の住所が出ます。選び間違えると、別の拠点へ 荷物が届きます。

注文に残るのは「どの取引先の注文か」までです。どの拠点の注文かは残りません。 拠点ごとに発注を集計したい取引先は、注文のたびに備考へ書いてもらうことになります。

このプラグインは、取引先の中に拠点を作り、拠点ごとにお届け先と担当者を割り当てます。

購入手続きで拠点を選ぶ

拠点を選ぶと、お届け先がその拠点のものに変わります。

入れただけでは何も変わりません

会員 動き
拠点に所属していない担当者 このプラグインを入れる前と同じ。取引先のお届け先が全部並ぶ
拠点に所属している担当者 その拠点のお届け先にしか送れない
取引先の管理者・一般会員 効かない

拠点を作る

拠点は取引先ごとに作ります。名前・コード・お届け先・所属する担当者を持ちます。 お届け先は、取引先がすでに登録しているものから選びます。 住所そのものは、本体の お届け先の画面で登録します。担当者は複数の拠点に所属できます。

取引先の拠点

拠点の編集

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

マイページの拠点

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

取引先の拠点の基本設定

4.4.0 までは、取引先アカウント管理の基本設定「取引先が自分で担当者を発行できるように する」に揃えていました。その設定が担当者のセルフ管理へ 移ったので、自前の設定にしています。担当者のセルフ管理を入れていなくても、マイページの 拠点は出せます。

購入手続き

所属する拠点の数で動きが変わります。

所属 動き
0 今までどおり。取引先のお届け先が全部並ぶ
1 その拠点で注文する。お届け先はその拠点のものだけ。最初はその拠点の最初のお届け先が入る
2 以上 購入手続きで拠点を選ぶ。選ぶまで確認へ進めない

所属が1つの担当者

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

お届け先の変更

所属が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 円。

予定価格です。オーナーズストアでの販売開始時に変わる場合があります。

販売ページの準備ができ次第、ここに載せます。

導入を任せる

サーバーの用意から EC-CUBE の設置、プラグインの導入と設定まで請け負います。 商習慣に合わせた作り足しもご相談ください。

この条件で回るか、確かめてから決めてください

締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。