Shopifyエージェンシー向け
Shopify B2B公開チェックリスト:本番前に実行する50のテスト
著者 Jahangir Alam · 2026年9月20日 · 約14分で読めます
- 最終確認日
- Shopify API
- 2026-07
- 対象読者
- B2B構築を本番に出すShopifyエージェンシーと開発者
- 範囲
- ネイティブのShopify B2Bを端から端まで、見積レイヤーがあればそれも。開発ストア上の1つのテスト環境で
Shopify自身のB2Bセットアップチェックリストは、テストについて2行で終わります。
テスト用の顧客を作ってサインインし、バイヤーを招待して注文してもらう。この2行の間に、最初の1か月で起きる問題のすべてがあります。間違ったカタログを見る所在地、適用されない免税、交渉価格を失った下書き注文、誰も承認していない値引きを送れる営業担当、テーマ更新で消えた見積ボタン。以下の50のテストはその空白を埋めるもので、エージェンシーが半日で1つの開発ストア上ですべて実行できるように書いてあります。各テストには期待結果(文書化されたShopifyの挙動か、あらゆる見積レイヤーが持つべき性質)と、正確な実行手順があります。
このプランはベンダー中立です。セクションAからEとGからIはネイティブのShopify B2Bをテストし、あらゆる構築に当てはまります。セクションFは見積レイヤー(アプリまたは独自開発)をテストするもので、カタログだけで運用するストアは飛ばして構いません(自分がどちらか分からなければ、見積アプリを使うべきでないときが判断を助けます)。2026年9月20日にShopifyのページと照合済みで、各行の根拠となる事実と出典はShopify B2B技術リファレンスにあります。
まずテスト環境を用意する
以下のテストはすべて、開発ストア(無料でB2B対応、アプリの課金はテスト課金)か、決済プロバイダーをテストモードにしたクライアントストアの複製上に、この環境があることを前提にしています。Shopifyの注意書きがそのまま当てはまります。「決済プロバイダーがテストモードの間、お客様は実際の注文を行えません」。したがって公開前か開発ストアで実行し、公開後の本番ストアでは決して実行しないでください。
- 会社を2つ。会社Aには3つの所在地:A1はNet 30、A2は「チェックアウトで下書き注文のみ許可」、A3は免税と税番号あり。会社Bには所在地B1を1つ、支払い条件なし。
- カタログを2つ。カタログ1をA1、A2、B1に割り当て、カタログ2はA1だけに割り当て、カタログ1にも別価格で含まれる商品を1つ入れる。カタログ1の1商品に最小6、増分6、24個で数量ブレイクを設定。
- 連絡先。A1とA2の両方に属する連絡先を1人(2所在地)、A3だけの連絡先を1人、B1の連絡先を1人、そしてアカウントを一切持たないメールアドレス(ゲスト)。
- スタッフ。管理者1人。「割り当てられた会社所在地に権限を制限」を有効にし、B1だけに割り当てた営業担当1人。
- 在庫。在庫追跡を有効にして手持ち2個の商品を1つ。
- テーマ。公開中のテーマと、バイヤーの表示に触れずにテーマ変更をテストするための未公開の複製。
- 決済。Shopify Paymentsのテストモードかテストゲートウェイ。お金を動かさずにチェックアウトを完了させるため。
- 見積レイヤーがある場合:商品ページとカートで有効な見積依頼ボタン、10%を超える値引きに承認を要求する承認ポリシー、提案の有効期限1日。
A. サインイン、アカウント、コンテキスト
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 1 | B2B連絡先のサインイン | 連絡先のメールにワンタイムコードが届く。パスワードは求められない。アカウントに会社と所在地の情報が表示される | プライベートウィンドウでA1の連絡先としてサインイン |
| 2 | 2所在地の連絡先 | 価格が表示される前に所在地の選択を求められる。所在地を切り替えるとカタログが変わる | A1/A2の連絡先でサインインし、A1を選んで価格を記録、A2に切り替えて価格を記録 |
| 3 | 会社なしのサインイン済み顧客 | D2C顧客として扱われる。小売価格、会社情報なし、B2Bチェックアウトなし | どの所在地にも属さない顧客でサインイン |
| 4 | アカウント申請フォーム | 送信すると管理画面に会社、所在地、顧客が承認待ちで作成される。承認されるまで申請者にはB2Bの要素が何も見えない | ゲストのメールでフォームを送信。管理画面の「会社」を確認。承認してサインイン |
| 5 | サインアウトした訪問者 | ストアの意図どおりに見える。小売価格か、価格非表示なら価格なし。検索エンジン対応の非表示ならページソースにも価格がない | サインアウトで商品ページを表示。ソースを表示して価格を検索 |
| 6 | 招待メール | B2Bの招待メールが届き、ブランドが反映され、リンクで連絡先がサインインできる | 会社ページから招待を送信し、スマートフォンで開く |
B. カタログと価格
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 7 | 所在地の価格 | カタログ1だけにある商品で、A1にはカタログ1の価格が表示される。B1にも同じカタログの価格。D2C顧客には小売価格 | それぞれの立場で商品ページを比較 |
| 8 | 重複するカタログ | 両カタログにある商品で、A1には低い方の価格が表示される。Shopifyは最安を表示し、優先順位の設定はない | A1で表示し、管理画面の2つのカタログ価格と比較 |
| 9 | 数量ルール | 6未満または6の倍数でない数量はカートでメッセージ付きで拒否される。6と12は受け付けられる | A1で5、次に7、次に6を追加 |
| 10 | 数量ブレイク | 24個で明細価格がブレイク価格に下がる。23個では下がらない。その商品にはカタログのパーセンテージ調整が適用されない | 23、次に24を追加 |
| 11 | 除外商品 | 所在地のカタログにない商品はカートに追加できない。URL経由やブラウザでのリクエスト編集でも不可 | B1で商品URLを試す。バリエーションIDを使ってカートのフォームから追加を試す |
| 12 | カタログ価格の変更 | カタログ1の価格変更は次回の読み込みでA1のストアフロントに反映される。価格ロック済みの既存の下書き注文は変わらない | カタログ価格を編集。A1で再読み込み。テスト23のロック済み下書きを開く |
| 13 | 表示通貨 | 独自通貨を持つB2Bマーケットのバイヤーにはその通貨で価格が表示され、下書き注文も注文もその通貨になる | 会社Bを第2通貨のB2Bマーケットに割り当て、B1で表示し、チェックアウト |
C. チェックアウト
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 14 | 支払い条件付きチェックアウト | A1のチェックアウトに条件が表示される。ボタンは「送信」。注文は「支払い保留中」で作成され、何も課金されない | A1でチェックアウト |
| 15 | 下書き注文のみの所在地 | A2のチェックアウトボタンは「承認のために送信」。注文は「注文」ではなく下書き注文ページに現れ、バイヤーには保留中と表示される | A2でチェックアウトし、下書き注文を開く |
| 16 | 条件なし | B1はカードを求められ「今すぐ支払う」をクリック。テスト決済が成功し、注文は支払い済み | テストゲートウェイでB1としてチェックアウト |
| 17 | 発注書番号 | チェックアウトで入力した発注書番号が注文とバイヤーの注文状況ページに表示される | A1で発注書番号を入力し、管理画面とアカウントで注文を開く |
| 18 | 保存済みカード | 所在地単位で保存したカードが次回のチェックアウトで再入力なしに提示される | B1でテストカードを保存し、再度チェックアウト |
| 19 | 前受金(Plusストア) | 所在地に前受金があると、ボタンは「今すぐ送信」になり、前受金が課金され、注文は「一部支払い済み」と表示される。残額は条件に従う | A1にパーセンテージの前受金を設定してチェックアウト |
| 20 | アクセラレーテッドチェックアウト | Shop Pay、Apple Pay、Google Pay、Amazon PayのボタンはB2Bバイヤーに表示されない。B2Bチェックアウトと非互換 | ウォレットを設定したスマートフォンでA1としてチェックアウト |
| 21 | 再注文 | バイヤーはアカウントから過去の注文を複製し、同じ明細で当日のカタログ価格のチェックアウトに到達できる | テスト14の後、A1で再注文 |
D. 下書き注文
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 22 | 所在地向けの管理画面下書き | 管理画面でA1向けに作った下書きには、再入力なしでA1のカタログ価格、支払い条件、チェックアウト設定が表示される | 下書き注文を作成し、A1の連絡先と所在地を選ぶ |
| 23 | カスタム価格とロック | 明細の価格を上書きしてロックできる。その後のカタログ変更(テスト12)でも変わらない | 明細を上書きし、価格をロックし、テスト12を実行 |
| 24 | 在庫の確保 | ストアが下書きで在庫を確保するなら、確保によって期限まで在庫が「コミット済み」に移る。確保中は2個の商品を他のバイヤーが買えない | 2個の商品を含む下書きで確保し、B1で購入を試みる |
| 25 | 請求書 | 請求書の送信で会社連絡先にメールが届く。リンクは下書きのチェックアウトを開き、支払うと注文が作成される | 下書きから請求書を送信し、テストゲートウェイで支払う |
| 26 | 下書きが注文になる | 完了した下書きは発注書番号、条件、ロック済み価格をそのままに「注文」に現れ、下書き注文の項目は閉じる | 請求書の支払いか「支払い済みとしてマーク」で完了 |
E. 税と配送
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 27 | 免税の所在地 | A3のチェックアウトでは免税カテゴリに税がかからない。税番号(英国またはEUの住所でShopify Taxを使う場合はVAT番号)が所在地に保存されている | A3の連絡先でチェックアウトし、A1と比較 |
| 28 | 免税でない所在地 | A1は配送先住所の税率で課税される。配送先を変えると税が変わる | A1で2つの住所にチェックアウト |
| 29 | B2Bの配送料 | B2Bバイヤーに表示される配送料が意図したもの(B2B配送プロファイルか一般料金)であり、配送先住所を編集できる所在地はそれを変更できる | A1とD2C顧客で配送料を比較 |
| 30 | 1回限りの住所 | 1回限りの配送先住所を許可された所在地はチェックアウトで入力できる。許可されていない所在地はできない | 所在地の設定を切り替え、A1でチェックアウト |
F. 見積レイヤー
ストアがカタログと下書き注文だけで運用されているなら、このセクションは飛ばしてください。見積アプリか独自開発を使っているなら、すべての行が当てはまります。なぜそれぞれが重要かは評価チェックリストに説明があります。
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 31 | 商品ページからの依頼 | サインイン済みバイヤーの依頼が、商品、バリエーション、数量、バイヤーの会社と所在地を伴って届く。バイヤーには確認メールが届き、迷惑メールではなく受信箱に入る | A1で依頼し、依頼内容とメールヘッダーを確認 |
| 32 | カートからの依頼 | 複数明細のカートが、すべての明細を含む1つの依頼になる | A1でカートを満たし、見積を依頼 |
| 33 | ゲストの依頼 | ゲストのメールアドレスでアカウントなしに見積を依頼でき、アプリ独自のリンクかコードで提案に到達でき、後でアカウントを作るとそこで見積を見られる | ゲストとして依頼し、後で同じメールで登録 |
| 34 | 適格性の強制 | 見積対象外の商品は、隠されるだけでなくサーバーが拒否する | ブラウザのネットワークタブから、除外バリエーションIDで依頼を再送 |
| 35 | 基準価格 | A1向けの提案はA1のカタログ価格(重複商品では低い方)から始まる。小売価格でも、アプリに保存された価格でもない | 提案の開始価格をテスト8と比較 |
| 36 | カスタム明細 | バリエーションではない明細を独自の価格、課税フラグ、配送フラグ付きで追加でき、それらのフラグを持つカスタム明細として下書き注文に届く | セットアップ費用を追加して変換し、下書き注文の明細を読む |
| 37 | バージョンは変更不可 | 提案を送信すると固定される。変更するとバージョン2ができ、バージョン1は送信時のまま読める。バイヤーのカウンターは独自のバージョンになる | 送信、編集、再送信。バイヤーとしてカウンター。履歴を読む |
| 38 | 承認の強制 | 10%を超える値引きを送る営業担当は送れない。承認者が対応するまで送信はブロックされ、自動化からの送信でも同じ。営業担当は自分の見積を承認できない | 営業担当として送信。自動送信を試す。営業担当として承認を試す |
| 39 | 有効期限 | 1日の期限が過ぎると承諾リンクは受け付けなくなり、バイヤーには期限切れと表示される | 期限を設定し、待つか時計を進めてリンクを開く |
| 40 | 一部の明細を承諾 | バイヤーが4行中2行を承諾する。残りの2行は却下ではなく「まだ開いている」状態。下書き注文には承諾した2行だけが交渉価格で含まれ、A1の支払い条件と発注書番号が付く | A1で2行を承諾し、下書き注文を開く |
G. スタッフと権限
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 41 | 制限された営業担当 | B1に割り当てた営業担当は管理画面でB1の会社、顧客、注文、下書き注文だけを見られ、会社Aは何も見えない | 営業担当でサインインし、会社、顧客、注文、下書き注文を開く |
| 42 | 営業担当と見積レイヤー | 見積レイヤーでの営業担当の表示範囲はShopifyの制限と一致するか、より狭い。広くなることはない | 営業担当として見積一覧を開く |
| 43 | スタッフの上限 | 11人目の営業担当は所在地に割り当てられない(上限は所在地ごとに10人)。1人のスタッフを複数の所在地に割り当てることはできる | B1に上限までスタッフを追加し、そのうち1人をA1にも割り当てる |
H. ストアフロントとテーマ
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 44 | アプリ埋め込みの有効化 | 見積ボタン(あるいはアプリのストアフロント要素)は、インストール後に「テーマ設定 > アプリ埋め込み」で有効にして初めて表示される。公開中のテーマではスイッチがオン | テーマエディターを確認し、商品ページを表示 |
| 45 | テーマの更新 | 複製を公開してもすべてのアプリ埋め込みとブロックが動作する。複製が失うようなものはテーマファイルに注入されていない | 複製を公開し、テスト5、31、44を再実行して元に戻す |
| 46 | モバイルとJavaScriptなし | 依頼フォームは幅390pxで動作し、JavaScriptを無効にしても送信できる | スマートフォンと、スクリプトをブロックしたブラウザを使う |
| 47 | パフォーマンス | アプリ埋め込みをオンにしたストアフロントのLighthouseパフォーマンススコアが、オフの場合と比べて10ポイント以内。Built for Shopifyの規則 | 商品ページでLighthouseを2回実行 |
I. 連携、回復力、データ
| # | テスト | 期待結果 | 実行手順 |
|---|---|---|---|
| 48 | Flow | B2Bトリガーまたは見積レイヤーのトリガーがイベントで発火し、Flowのアクション(タグ、メール、Slackメッセージ)が実行される | 1ステップのFlowを作り、イベントを起こす |
| 49 | 取りこぼしたウェブフックと二重変換 | アプリのウェブフックエンドポイントがエラーを返すと、Shopifyは再試行し(4時間で8回)、復旧後にアプリが照合する。同じ承諾を続けて2回変換しても下書き注文は1つで、2つにはならない | 開発ストアでエンドポイントを短時間壊す。変換を2回起動する |
| 50 | アンインストールとエクスポート | 見積レイヤーからのエクスポートにすべての見積、バージョン、承認、メッセージが含まれる。アンインストールしても商品、会社、カタログ、下書き注文、注文は変わらない。文書化された期間内に再インストールすればアプリのデータが復元される | エクスポートし、アンインストールし、管理画面を確認し、再インストール |
公開前に
- 決済プロバイダーのテストモードを解除し、テスト用の会社、注文、下書き注文を削除またはアーカイブする。
- 検索エンジンから価格を隠しているなら、最終のテーマ公開後にサインアウト状態で漏れチェックをもう一度実行する。
- テスト環境は残す。このプランは、テーマの更新、見積レイヤーが移行するShopify APIバージョン、B2Bに関わるShopify Editionのたびに再実行する。リファレンスページがそれらを記録している。
よくある質問
Shopify自身のB2Bチェックリストは何をカバーし、何をカバーしていませんか
セットアップです。会社と所在地、カタログ、顧客アカウント、決済と配送方法、テーマ、営業担当、オプション機能。そして「テスト用の顧客を作ってサインインする」。設定すべきことのリストです。このページは証明すべきことのリストで、Shopifyのリストが知りようのない相互作用も含みます。重複するカタログ、見積レイヤー、営業担当の制限、テーマ更新、取りこぼしたウェブフックです。
実際のお金を動かさずにチェックアウトをテストするには
Shopify Paymentsをテストモードにするか、テストゲートウェイを使います。テスト注文は課金なしで完了し、入金やレポートには表示されません。プロバイダーがテストモードの間は実際の注文ができないため、開発ストアか公開前のストアで行い、公開前に解除してください。
これはすべて開発ストアで実行できますか
できます。開発ストアは無料でB2Bに対応し、アプリの課金はテスト課金で、上記のテスト環境は1つのストアに収まります。Plusストアが必要な行はPlus機能(前受金、カタログの直接割り当て)だけで、それにはPlusストアかPlusパートナーのサンドボックスが必要です。
見積アプリを使わないならセクションFは必要ですか
不要です。カタログ、数量ルール、下書き注文で運用するストアにはテストすべき見積レイヤーがなく、セクションAからEとGからIがプランのすべてです。見積依頼アプリがインストールされているなら、ベンダーを問わずFのすべての行が当てはまります。
プランはどのくらいの頻度で再実行すべきですか
テーマの更新や切り替えのたび(セクションHが定番の「ボタンが消えた」を捕まえます)、見積レイヤーが移行するAPIバージョンのたび、B2Bを変えるShopify Editionのたび、そしてカタログや支払い条件の変更を本番に出す前です。テスト環境の維持は安く、テストの再実行も安く済みます。
これらの期待結果はどこから来ていますか
セクションAからEとGからIの各行は、Shopifyのヘルプページや開発者向けページに文書化された挙動を言い換えたもので、下にリンクがあり、リファレンスページに日付があります。セクションFの期待結果は、安全な見積レイヤーが持つべき性質(変更不可のバージョン、サーバー側の承認、下書き注文の明細に載る交渉価格)で、評価チェックリストがベンダーに証明を求めるのと同じ行です。QuotWayについては、Shopify B2B機能ページ、ドキュメント、無料のLiteプランが実行の場です。
出典
Shopifyのページ。いずれも2026年9月20日に確認:
関連記事
QuotWayがこれをあなたのストアでどう扱うかをご覧ください。