はじめに
「取引先には会員価格で販売したいけれど、そのためだけに上位プランへ切り替えるのは費用が合わない」。ECサイトでB2B(法人・ディーラー向け)対応を考え始めると、多くの場合この悩みに行き当たります。しかも取引先ごとに割引率が違ったり、支払いは請求書払いを求められたりと、条件は一般販売より複雑です。
この記事では、Shopify + ヘッドレス構成(表側の画面をNext.jsなどで自作する形)のECサイトで、標準プランのままB2B向けの自動割引と請求書払いを実現した仕組みの全体像を解説します。読み終わる頃には、どんな部品をどう組み合わせれば実現できるのか、設計の考え方が掴めるはずです。
B2B対応で求められる3つのこと
取引量に応じた割引価格
B2Bの取引では、一般のユーザーと同じ価格ではなく、取引量や契約条件に応じた卸価格での販売が前提になります。「この取引先は35%OFF、あちらは25%OFF」のように、相手ごとに割引率が異なるのが普通です。この価格の出し分けを、ログインしただけで自動的に行えるようにすることが最初の要件でした。
カテゴリごとに異なる割引率
同じ取引先でも、扱う商品カテゴリによって割引率が変わることがあります。標準カテゴリは35%OFF、プレミアムカテゴリは25%OFFといった具合です。カートに複数カテゴリの商品が混在しても、それぞれに正しい割引率が適用される必要があります。手作業で計算していたら、確実に間違いが起きる部分。ここも仕組みで自動化します。
請求書払い(掛け売り)
B2Bでは、クレジットカード決済ではなく「月末締めの請求書払いにしてほしい」という要望が一般的です。ECサイトの決済フローとは別に、注文内容を控えとして残し、後から請求書を発行できる流れを用意する必要がありました。
全体の仕組みと役割分担
システムの全体像を図で見てみましょう。
①顧客タグ付け(standard-35等)・②顧客セグメント作成・③対象コレクション作成・④クーポン作成
⑤ログイン時タグ取得・⑥会員価格表示・⑦クーポン自動適用・⑧請求書払い対応
一言でまとめると、「誰にいくら割り引くか」はShopify側の設定が持ち、ウェブサイト側はその設定を読み取って表示と適用を行うだけ、という役割分担です。
価格そのものは1つに保つ
設計の前提として、商品の価格は通常価格の1つだけにしてあります。B2B向けに安い価格の商品を別に用意すると、在庫や注文のあらゆる場面で「どちらの価格か」を管理し続けることになり、遅かれ早かれ食い違いが起きます。会員価格は「通常価格に割引を重ねた結果」として表現する。この方針が全体の背骨になっています。
設計の要 ── タグ名とクーポン名を一致させる
タグに割引率を埋め込む
B2Bのユーザーには、Shopifyの顧客タグ(顧客に付けられる目印のラベル)を「カテゴリ名-割引率」の形式で付けます。
タグ名を見れば割引率が分かる、という命名です。ウェブサイト側はこのタグを読み取るだけで、「この人は標準カテゴリを35%OFFで販売する相手だ」と判断できます。
クーポンはタグと同じ名前で作る
そして、割引処理を担うクーポン(割引コード)を、タグ名と完全に同じ名前で作成します。
決済のとき、ウェブサイトはユーザーのタグ名をそのままクーポン名として適用します。タグとクーポンが名前で結びついているので、対応表のようなものをプログラム側に持つ必要がありません。
この設計で何がラクになるか
新しい割引パターンを増やしたいときは、Shopify管理画面でタグとクーポンを追加するだけ。プログラムの変更もエンジニアへの依頼も不要です。割引率を変えたいときも、タグとクーポンの数字を揃えて更新すれば済みます。日々の運用がShopify管理画面の中だけで完結する、というのがこの設計のいちばんの成果です。
ヘッドレス構成ならではの事情
B2Bアプリがそのまま使えない
通常のShopifyテーマであれば、B2B向けのアプリを入れるだけで会員価格を実現できます。ただヘッドレス構成では、表側の画面がShopifyの外(Next.jsなど)にあるため、アプリが画面に組み込む機能はそのまま使えません。価格の表示も割引の適用も、自分たちで組み立てる必要がありました。
Shopify Plusを使わずに済ませる
Shopify公式のB2B機能は、月額約$2,000〜のShopify Plusでしか使えません。中小規模のECサイトには大きな負担です。今回の仕組みは、標準プランにもともとある顧客タグ・セグメント・クーポンの組み合わせだけで同等の体験を作る、という工夫です。全体の設計さえ固めてしまえば、実装の細かい部分はAIエージェント(AIによる開発支援)に任せながら進められました。
この仕組みで実現できること
自動割引と複数カテゴリ対応
ユーザーがログインした瞬間から、会員価格が自動的に表示されます。クーポンコードの入力は一切不要。カートに標準カテゴリ(35%OFF)とプレミアムカテゴリ(25%OFF)の商品が混ざっていても、それぞれに正しい割引が適用されます。
請求書払いと優先順位の管理
クレジットカード払いのほかに、請求書払いでの注文も受け付けられます。Shopifyのドラフトオーダー(下書き注文)機能を使い、後から請求書を発行する流れです。また、同じ商品に複数の割引ルールが当てはまる場合は、優先順位を決めて適用を制御できます。
次のステップ
この仕組みは「Shopify側の設定」と「ウェブサイト側の実装」の2つで成り立っています。続きの記事で、それぞれを順番に解説します。