multi-channel-selling について
既存のチャネル管理ツールを使い、EC とマーケットプレイス間の商品掲載や共有在庫を管理するスキルです。注文、フルフィルメント、チャネル実績の調整にも役立ちます。
主な機能
- 01チャネル管理ツールの選定
- 02共有在庫の同期
- 03チャネル別在庫バッファの設定
- 04注文の一元管理
- 05チャネル横断の実績監視
活用シーン
- 01店舗の販売先をマーケットプレイスへ拡大
- 02チャネル間の在庫超過販売を防止
- 03共有在庫で小売・卸売注文を管理
- 04チャネル別の売上や返品を比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill multi-channel-sellingインストール後、Claude Code で/multi-channel-sellingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
tile.jsonevals/channel-agnostic-catalog-schema-design/criteria.jsontask.mdevals/inventory-reservation-and-channel-sync-l/criteria.jsontask.mdevals/marketplace-order-ingestion-and-channel-/criteria.jsontask.md詳細
マルチチャネル販売
概要
マルチチャネル販売では、自社のウェブサイト、Amazon、eBay、Walmart、卸売ポータルに商品を同時に出品できます。在庫はリアルタイムで同期されるため、過剰販売を防げます。重要なルールは、在庫を1つのプールで管理し、どのチャネルで販売または補充があっても、すぐに更新することです。チャネル管理専用のツール(Linnworks、Sellbrite、Skubana/Extensiv)を使えば、カスタム連携を開発せずに管理できます。
このスキルを使う場面
- 自社ウェブサイトに加えて、Amazon、eBay、Walmart Marketplaceでも販売を始める場合
- 同じ在庫プールを使って、小売向けDTCサイトと卸売向けB2Bポータルの両方を運営する場合
- チャネルごとに異なるブランド名や商品コンテンツで、同じ商品を販売する場合
- 在庫がリアルタイムで共有されていないため、あるチャネルで過剰販売が発生している場合
- ブランドがすべての販売チャネルを一元管理できるチャネル管理プラットフォームを構築する場合
基本手順
ステップ 1: プラットフォームを特定し、適切なチャネル管理ツールを選ぶ
| プラットフォーム | 推奨ツール | 理由 |
|---|---|---|
| Shopify | Shopify 標準の販売チャネル + 外部マーケットプレイス向けの Sellbrite または Linnworks | Shopify には Facebook、Instagram、Google、TikTok のチャネルが組み込まれています。Sellbrite を追加すると、在庫同期により Amazon/eBay/Walmart にも対応できます |
| WooCommerce | WP-Lister Pro(Amazon + eBay)または Linnworks | WP-Lister Pro は WooCommerce から Amazon/eBay に商品を直接出品し、注文を同期して戻します |
| BigCommerce | BigCommerce Channels + Codisto(Amazon/eBay 向け) | BigCommerce には標準の Channel Manager があり、Codisto を追加するとリアルタイム同期で Amazon、eBay、Walmart に対応できます |
| すべてのプラットフォーム | 中央 OMS として Linnworks または Skubana(Extensiv) | これらのツールはすべてのチャネルを統括し、大規模なマルチチャネル運営における在庫情報の単一の信頼できる情報源として機能します |
ステップ 2: 在庫マスターとして主力ストアを設定する
チャネルを接続する前に、主力ストアに以下が設定されていることを確認してください。
- すべての SKU の正確な在庫数
- 商品の寸法と重量(マーケットプレイスへの出品に必要)
- 海外販売の場合は HS コード
- すべての商品に UPC/GTIN バーコード(Amazon と Walmart への出品に必要)
Shopify
- Settings → Sales channels に移動します。Shopify に利用可能なすべてのチャネルが表示されます
- Facebook & Instagram(Meta 提供、無料)を追加し、Facebook Shop と Instagram Shopping に商品を同期します
- Google & YouTube(Google 提供、無料)を追加し、Google Shopping に商品を同期します
- Amazon の場合は、Shopify App Store から Codisto または Sellbrite をインストールします。これらのツールが Amazon SP-API との連携を処理します
WooCommerce
- WooCommerce ストアを在庫マスターにします
- wpla.net から WP-Lister Pro for Amazon および/または WP-Lister Pro for eBay をインストールします
- WP-Lister は WooCommerce の商品を読み取り、それをもとに Amazon/eBay の出品情報を作成します
- Amazon/eBay の注文は自動的に WooCommerce に取り込まれます
BigCommerce
- BigCommerce 管理画面の Channel Manager に移動します(すべてのプランで利用可能)
- 標準のチャネルコネクタを使って、Google Shopping、Facebook、Instagram に接続します
- Amazon と eBay の場合は、BigCommerce App Marketplace から Codisto をインストールします。これは BigCommerce 向けに推奨される Amazon/eBay 連携ツールです
ステップ 3: マーケットプレイスのチャネルを接続する
Amazon
Amazon では、プロフェッショナルセラーアカウント(月額 39.99 ドル)と承認済みの商品カテゴリーが必要です。また、出品ごとに GTIN(UPC または ASIN)も必要です。
Shopify + Sellbrite を利用する場合:
- Shopify App Store から Sellbrite をインストールします
- Sellbrite → Channels → Add Channel → Amazon で、Amazon Seller Central アカウントを接続します
- すでに出品がある場合、Sellbrite が既存の Amazon ASIN を取り込みます。または、Shopify の商品から新しい出品を作成できます
- 在庫の同期を有効にします。Sellbrite は Shopify の在庫数を Amazon にリアルタイムで反映します(いずれかのチャネルで販売されてから数分以内)
- Amazon の注文は Sellbrite に取り込まれ、新しい注文として Shopify に自動的に同期されます
WooCommerce + WP-Lister を利用する場合:
- WP-Lister Pro → Amazon → Settings で、Amazon Seller Central アカウントを接続します
- WooCommerce の商品を ASIN に対応付けます(UPC/GTIN で照合するか、Amazon のカタログを検索します)
- WP-Lister は WooCommerce から Amazon へ在庫を同期し、Amazon の注文を WooCommerce に取り込みます
eBay
Shopify + Sellbrite を利用する場合:
- Sellbrite で Channels → Add Channel → eBay に進みます
- OAuth 経由で eBay Seller アカウントを接続します
- Shopify の商品を eBay の出品テンプレートに対応付けます。カテゴリー要件や eBay 固有のフィールドは Sellbrite が処理します
- 在庫はほぼリアルタイムで双方向に同期されます
WooCommerce + WP-Lister を利用する場合:
- Amazon と同じ方法で、WP-Lister Pro → eBay → Settings から eBay アカウントを接続します
- WP-Lister で出品テンプレートを作成し、WooCommerce の商品データを eBay のカテゴリー要件に対応付けます
Walmart Marketplace
Shopify + Sellbrite を利用する場合:
- Walmart Marketplace では申請と承認が必要です(marketplace.walmart.com から申請します)
- 承認されたら、Sellbrite → Channels → Add Channel → Walmart で Walmart を接続します
- Sellbrite が Walmart 固有の出品要件(GTIN や特定の画像サイズが必要)に対応します
BigCommerce + Codisto を利用する場合:
- Walmart Marketplace の承認を別途申請します
- 承認されたら、Codisto → Channels → Walmart で Walmart を接続します
- Codisto が商品と在庫を自動的に同期します
ステップ 4:チャネルごとの在庫割り当てを設定する
あるチャネルで在庫切れになった際、ほかのチャネルに実在庫のない商品が表示されないようにします。ほとんどのチャネル管理ツールがこれに対応しています。チャネルごとにバッファ数量を設定してください。
Sellbrite の場合:
- Sellbrite → Channels → [Channel] → Inventory Settings に進みます
- 「Channel Buffer」を設定します。例:5 個を予備として確保し、Amazon で残りが購入されても Shopify には常に在庫が残るようにします
- 「Stop selling when inventory = 0」を有効にして、在庫超過販売を防ぎます
Linnworks の場合:
- Linnworks → Settings → Stock Management → Configure per-channel stock allocation に進みます
- チャネルごとに安全在庫数を設定し、1 つのチャネルが在庫をすべて消費しないようにします
Codisto(BigCommerce)の場合:
- Codisto → Inventory で「Available stock formula」を設定します。例:Amazon 向けに
BigCommerce stock - 3とし、ほかのチャネル用に 3 個を確保します
ステップ 5:すべてのチャネルからの注文を処理する
すべてのチャネルからの注文が一元管理システムに取り込まれ、同じプロセスで発送処理が開始されるようにします。
Sellbrite を使用した Shopify:
- Amazon と eBay の注文は Sellbrite に取り込まれ、通常の注文として Shopify に同期されます
- Shopify で通常どおり発送処理を行います。ShipStation または Shopify Shipping がラベルの作成を処理します
- Sellbrite が追跡番号を Amazon/eBay に自動的に送信します(Amazon では 2 営業日以内に送信する必要があります)
WP-Lister を使用した WooCommerce:
- Amazon と eBay の注文は通常の注文として WooCommerce に取り込まれます
- WooCommerce(または ShipStation)で発送処理を行います。追跡番号はマーケットプレイスに自動的に同期されます
Linnworks(すべてのプラットフォーム):
- すべてのチャネルの注文が、Linnworks → Orders の 1 つの画面に表示されます
- Linnworks でピッキングリストと配送ラベルを作成します
- Linnworks が発送完了通知と追跡情報を各チャネルに自動的に送信します
カスタム/ヘッドレス — チャネル横断の注文取り込み
// Normalize an order from any marketplace into a common format
interface NormalizedMarketplaceOrder {
channelName: string; // 'amazon', 'ebay', 'walmart', 'shopify'
channelOrderId: string; // the marketplace's order ID
lines: {
channelSku: string;
masterSku: string; // your internal SKU
quantity: number;
unitPriceCents: number;
}[];
shippingAddress: Address;
customerEmail: string;
}
async function ingestMarketplaceOrder(order: NormalizedMarketplaceOrder): Promise<void> {
// Idempotency: skip if already imported
const existing = await db.orders.findByChannelOrderId(order.channelName, order.channelOrderId);
if (existing) return;
await db.transaction(async tx => {
// Create the order in your system
const createdOrder = await tx.orders.insert({
channel: order.channelName,
channel_order_id: order.channelOrderId,
status: 'awaiting_fulfillment',
shipping_address: order.shippingAddress,
customer_email: order.customerEmail,
});
// Reserve inventory for each line
for (const line of order.lines) {
await tx.orderLines.insert({
order_id: createdOrder.id,
sku: line.masterSku,
quantity: line.quantity,
unit_price_cents: line.unitPriceCents,
});
// Decrement inventory immediately
await tx.raw(
'UPDATE inventory SET reserved = reserved + ? WHERE sku = ? AND (quantity_on_hand - reserved) >= ?',
[line.quantity, line.masterSku, line.quantity]
);
}
});
}
ステップ 6:チャネルごとのパフォーマンスを監視する
チャネルごとの採算性を把握するため、月次でチャネル別の指標を追跡します。
| 指標 | 確認場所 |
|---|---|
| チャネルごとの売上 | Sellbrite/Linnworks のレポート → チャネル別売上 |
| チャネルごとの販売率 | 期間ごとの開始時在庫と販売数量を比較します |
| 在庫同期の遅延(古い出品情報) | チャネルツールの「最終同期」タイムスタンプを確認します。30 分を超えている場合は調査が必要です |
| チャネルごとの返品率 | Amazon には独自の返品ダッシュボードがあります。WooCommerce/Shopify では、流入元チャネルタグごとに返品を確認できます |
ベストプラクティス
- チャネルごとに在庫数を別々に管理しないでください — 在庫はひとつにまとめ、どのチャネルでも販売が発生したらすぐに更新します。在庫情報が古いと、過剰販売につながります
- チャネル固有の SKU マッピングを使用してください — Amazon は ASIN、eBay は商品 ID、ストアは社内 SKU を使用します。社内 SKU をマーケットプレイスに公開するのではなく、対応表を管理してください
- チャネルごとに安全在庫のバッファを設定してください — 同期が他のチャネルに反映される前に、ひとつのチャネルで在庫がすべて売り切れないよう、予備在庫を確保します
- 規模を拡大する前に、1 つの商品でテストしてください — 1 つの商品を Amazon に接続し、出品情報を確認してテスト注文を行い、カタログ全体を接続する前に在庫が同期されることを確かめます
- チャネルの同期失敗をすべて記録し、再試行できるようにしてください — マーケットプレイス API の呼び出しは断続的に失敗します。チャネル管理ツールの再試行ロジックを使用し、失敗ログを毎週確認してください
よくある問題
| 問題 | 解決策 |
|---|---|
| 2 つのチャネルで同時に注文が入り、過剰販売になる | 利用可能数量を確認する WHERE 句を使い、在庫をアトミックに引き当てます。Sellbrite/Linnworks ではこれに対応しています。独自に構築する場合は、データベースレベルでアトミックな更新を使用してください |
| 価格変更後に Amazon の出品が無効になる | Amazon では価格変更の通知が必要な場合があります。また、出品が Amazon の価格ポリシーに違反している可能性もあります。出品が無効になった場合は、すぐに Amazon Seller Central の通知受信箱を確認してください |
| Webhook が 2 回実行され、注文が重複してインポートされる | 注文テーブルの (channel_name, channel_order_id) に一意制約を追加し、INSERT ... ON CONFLICT DO NOTHING を使用します |
| 追跡番号がマーケットプレイスに送信されない | Amazon では 2 営業日以内に追跡番号を登録する必要があり、遅れると出品者パフォーマンス指標が低下します。チャネルツールの自動出荷確認が有効になっていることを確認してください |
関連スキル
- @order-management-system
- @vendor-management
- @b2b-commerce
- @dropshipping-integration
- @marketplace-building