mcpField
R
returns-management

returns-management

github.com/finsilabsその他6089 回インストール6 日前に更新
リポジトリ

returns-management について

Shopify、WooCommerce、BigCommerceやカスタムストア向けに、返品ワークフローの設計を支援するスキルです。返品ツールの選定から申請、ラベル、返金方法、再入庫の設定まで扱います。

主な機能

  1. 01プラットフォーム別のツール選定
  2. 02セルフサービス返品ポータルの設定
  3. 03返金・ストアクレジット・交換のルール
  4. 04返品ラベル作成の案内
  5. 05返品検品と再入庫の手順

活用シーン

  1. 01顧客向けセルフサービス返品ポータルの立ち上げ
  2. 02追跡番号を含むRMAプロセスの設定
  3. 03返金・交換・ストアクレジットの選択肢の定義
  4. 04返品ラベルと在庫検品の管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill returns-management

インストール後、Claude Code で/returns-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

tile.json
evals/return-label-generation-with-shippo/
criteria.json
task.md
evals/return-processing-restocking-and-resolut/
criteria.json
task.md
evals/rma-schema-and-return-request-initiation/
criteria.json
task.md

詳細

返品管理

概要

返品管理システムを使うと、顧客がセルフサービスで返品を申請し、前払いの配送ラベルを発行し、商品を受領した後に返金または交換を処理し、再入庫の判断を行えます。適切に運用された返品プロセスは顧客の信頼を築き、競争上の優位性にもなり得ます。ほとんどのプラットフォームには、カスタム開発なしで対応できる、機能の充実した標準の返品ワークフローや専用アプリがあります。

このスキルを使う場面

  • カスタマーサービスの負担を軽減するため、セルフサービスの返品ポータルを立ち上げる場合
  • 返金詐欺を防ぐため、追跡番号付きの体系的なRMAプロセスが必要な場合
  • 「元の支払い方法への返金」「ストアクレジット」「交換」の各対応を区別するロジックを構築する場合
  • 返品ラベルの発行を配送業者のAPI(UPS、FedEx、USPS)と連携する場合
  • 再入庫を管理する場合(返品商品を販売可能な在庫に戻すか、隔離用の保管場所に置くかを判断する場合)

主な手順

ステップ1:プラットフォームを確認し、適切な返品ツールを選ぶ
プラットフォーム推奨ツール理由
ShopifyLoop Returns、Returnly、またはAfterShip ReturnsLoop Returnsは最も人気があり、セルフサービスポータル、ラベル、交換、ストアクレジットに自動で対応します
WooCommerceWooCommerce Returns and Warranty RequestsプラグインまたはReturnGoWooCommerceの公式拡張機能はRMAワークフローに対応し、ReturnGoはブランドに合わせたセルフサービスポータルを追加します
BigCommerceAfterShip Returns Center、Loop Returns、またはReturnGoいずれも、セルフサービスポータルを備えたBigCommerceとのネイティブ連携に対応しています
カスタム/ヘッドレスRMAシステムと、返品ラベル用のShippo/EasyPostを構築Shippoの返品ラベルAPIを使用し、その上に承認と再入庫のワークフローを構築します
ステップ2:返品ポータルを設定する
Shopify

オプションA:Loop Returns(最も人気があり、無料で開始可能)

  1. Shopify App StoreからLoop Returnsをインストールします
  2. Loopの設定で、返品可能期間(例:配達から30日)、利用可能な対応(返金、交換、ストアクレジット)、返品可能な商品を設定します
  3. Loopにより、yourstore.com/returnsにブランドに合わせた返品ポータルが作成されます。顧客は注文番号とメールアドレスを入力して返品を申請します
  4. Loop → Policy → Return Reasonsで、返品理由(サイズ違い、気が変わった、不良品など)を設定します
  5. Loopは、配送業者の設定に基づいて、前払いのUSPS、UPS、またはFedExの返品ラベルを自動で発行します
  6. 即時交換(Loopの機能)を有効にすると、顧客は返品商品の到着を待たずに、すぐ交換注文を確定できます
  7. 返品商品を受領して検品すると、Loopは返金を自動で処理し、在庫の更新をShopifyに同期できます

オプションB:Shopify標準の返品機能(シンプルなワークフローに適しています)

  1. 個別の注文で、Orders → [Order] → Returnに移動します
  2. 返品する商品、返品理由、在庫に再入庫するかどうかを選択します
  3. Shopify Shippingで前払いの返品ラベルを発行し、顧客にメールで送信します
  4. 荷物が届いたら、注文に戻って受領済みとしてマークし、返金を行います
  5. 制限事項:Shopifyの標準返品機能にはセルフサービスの顧客向けポータルがないため、返品の申請には顧客からの連絡が必要です
WooCommerce

WooCommerce Returns and Warranty Requests(公式拡張機能)を使用する場合:

  1. WooCommerce.com からプラグインをインストールします(有料拡張機能)。
  2. WooCommerce → Returns に移動して、返品期間、対象となる注文ステータス、許可する理由、通知メールを設定します。
  3. 顧客は「マイアカウント」の注文詳細ページに「返品をリクエスト」ボタンが表示されます。
  4. 返品リクエストごとに RMA レコードが作成され、WooCommerce → Returns で確認できます。
  5. 返品ラベルを発行するには、注文画面から「返品ラベルを作成」ボタンを使用できる ShipStation と連携するか、取扱量が少ない場合は Pirate Ship を手動で使用します。
  6. 荷物が到着したら、WooCommerce → Returns で該当する RMA に移動し、受領済みとしてマークしてから、元の注文から返金を行います。

ReturnGo(ブランド付きポータル。無料プランあり)を使用する場合:

  1. WordPress.org または ReturnGo のウェブサイトから ReturnGo をインストールします。
  2. ReturnGo はブランド付きのセルフサービス ポータルを作成し、メール通知を自動的に処理します。
  3. ReturnGo の設定で、解決方法(返金、ストアクレジット、交換)と配送業者との連携を設定します。
BigCommerce

AfterShip Returns Center を使用する場合:

  1. BigCommerce App Marketplace から AfterShip Returns Center をインストールします。
  2. 返品ポータルの URL を設定します(ストア名を使ったブランド付き URL)。
  3. 返品ポリシーのルールを設定します。返品期間、対象商品、必須の返品理由などです。
  4. 返品リクエストを承認すると、AfterShip が前払い済みの返品ラベル(USPS、UPS、FedEx)を生成します。
  5. 返品状況は自動的に BigCommerce の注文に同期されます。

Loop Returns を使用する場合:

  1. BigCommerce App Marketplace からインストールします。
  2. 上記の Shopify ワークフローと同じように設定します。
ステップ 3:返金と交換の解決ロジックを設定する

プラットフォームにかかわらず、公開前に解決方法を明確に定義してください。

  1. 元の支払い方法への返金 — 最も簡単な方法です。Stripe/PayPal の返金処理には 5~10 営業日かかります。
  2. ストアクレジット — 顧客にとってはより迅速で、キャッシュフローにも有利です。Loop と AfterShip は、ストアクレジットの自動発行に対応しています。
  3. 交換 — 交換品の在庫状況を確認する必要があります。Loop の Instant Exchange 機能では、これを自動的に処理できます。

設定する主な項目:

  • 返品期間: 注文日ではなく、配達日を起点に設定します(重要な点です。アプリの設定を確認してください)。
  • 再入庫: 返品された商品を自動的に在庫に戻すか、先に手動で検品するかを決めます。中古品や高額商品については、再入庫前の手動検品を有効にしてください。
  • 再入庫手数料: 該当する場合は、商品カテゴリーごとに設定します(例:開封済みの電子機器には 15%)。
  • 返品不可商品: プラットフォームで返品不可商品にタグを付け、返品アプリでそのタグが付いた商品の返品をブロックするよう設定します。
ステップ 4:返品ラベルの生成を設定する

ほとんどの返品アプリでは、ラベルが自動的に生成されます。手動でラベルを作成する場合:

Shopify
  • Shopify Shipping → 返品ラベルを作成:配送業者に直接連携し、「返品」タイプのラベルを作成します(作成時ではなく、顧客が荷物を持ち込んだ時点で料金が発生します)。
  • 利用可能な配送業者:USPS、UPS、DHL(地域によって異なります)。
WooCommerce
  • ShipStation:WooCommerce 経由で返品ラベルを作成する場合に最も信頼できる方法です。ShipStation で注文を開き、Create Return Shipment を選択します。
  • Pirate Ship:手動の手順が必要ですが、USPS の料金が最も安価です。pirateship.com で返品ラベルを作成し、顧客にメールで送信します。
カスタム/ヘッドレス
import Shippo from 'shippo';
const shippo = Shippo(process.env.SHIPPO_API_KEY);

// Create a prepaid return label (customer sends back to warehouse)
async function createReturnLabel(params: {
  customerName: string;
  customerAddress: Address;
  warehouseName: string;
  warehouseAddress: Address;
  estimatedWeightLbs: number;
}): Promise<{ trackingNumber: string; labelUrl: string }> {
  const shipment = await shippo.shipment.create({
    address_from: {
      name: params.customerName,
      street1: params.customerAddress.street1,
      city: params.customerAddress.city,
      state: params.customerAddress.state,
      zip: params.customerAddress.zip,
      country: 'US',
    },
    address_to: {
      name: params.warehouseName,
      street1: params.warehouseAddress.street1,
      city: params.warehouseAddress.city,
      state: params.warehouseAddress.state,
      zip: params.warehouseAddress.zip,
      country: 'US',
    },
    parcels: [{
      weight: (params.estimatedWeightLbs * 16).toString(), // oz
      mass_unit: 'oz',
      length: '12', width: '10', height: '4',
      distance_unit: 'in',
    }],
    async: false,
    is_return: true, // marks this as a return label
  });

  const rate = shipment.rates.find(r => r.servicelevel.token === 'usps_priority')
    ?? shipment.rates[0];
  const transaction = await shippo.transaction.create({
    rate: rate.object_id,
    label_file_type: 'PDF',
  });

  return {
    trackingNumber: transaction.tracking_number,
    labelUrl: transaction.label_url,
  };
}

ベストプラクティス

  • 顧客ではなく、自社のシステムからラベルを発行します — 返送料支払い済みのラベルを使うと、配送業者の選択、料金交渉、荷物の追跡を自社で管理できます。顧客が用意したラベルでは追跡できません
  • 受け取った返品商品は、再入庫する前に分けて保管します — 物理的な「返品商品」用の箱と、論理的な「保留」ステータスを設けます。目視検査をせずに自動で再入庫しないでください
  • 荷物を受け取ってから返金します — 「即時返金」を意図的なプレミアム機能として提供する場合に限り、返金を事前承認します
  • ステータスが変わるたびに顧客に通知します — 「ラベル作成済み」「荷物受領済み」「返金/交換処理済み」の各段階でメールを送信します。連絡がないと、「返金はどうなっていますか」という問い合わせにつながります
  • 返品期間の起点は注文日ではなく配達日にします — 顧客にとってより公平で、トラブルも減ります。ほとんどの返品アプリでこの設定を利用できます
  • 返品理由を記録します — 返品理由を月ごとに集計し、仕入れチームや製品チームと共有します。特定の SKU の返品率が高い場合は、製品の品質や説明に問題があることを示しています

よくある落とし穴

問題解決策
返品商品が実際に届く前に返金が処理される返品アプリで、「返品リクエスト」ではなく「荷物受領済み」ステータスを返金のトリガーとして設定します。Loop/AfterShip のワークフロー設定を確認してください
再入庫によって在庫数が不正確になる再入庫前に保留ステップを設けます。検査で再販可能と確認できてから、在庫数を増やしてください
返品期間が過ぎてから顧客が返品を開始するプラットフォームの返品期間を明確に設定し、返品アプリが注文の配達日を確認するようにします。注文日を基準にする初期設定のアプリもあり、その場合は顧客が返品できる期間が短くなります
購入した返品ラベルが使われない利用できる場合は「スキャン時課金」タイプのラベルを使います(USPS では Shippo 経由で利用できます)。顧客が荷物を持ち込んだときにのみ料金が発生します

関連スキル

  • @order-fulfillment-workflow
  • @shipment-tracking
  • @returns-refund-policy
  • @stripe-integration
  • @gift-cards

コメント