コンテンツへスキップ

Shopifyの在庫CSVで数量を一括更新する方法と上書きを防ぐ手順

Shopifyの在庫CSVを安全に一括更新する流れを示す図

Shopify(ショッピファイ)の在庫数を数百件まとめて直すなら、CSVは頼れる方法です。
ただし、古いファイルをそのまま戻すと、出力後の数量まで上書きしかねません

上書きを防ぐ基本は「すべてのステータス」で出力し、`On hand (current)`を残したまま`On hand (new)`だけを編集することです。
エクスポートから反映後の履歴確認まで、実際に手を動かす順番で見ていきましょう。

先に結論

古い数量を強制的に通すのではなく、現在値の照合を残す

Shopify在庫CSVの安全検証を使えば、出力後に数量が変わった行だけを止められます。`On hand (current)`を消さず、エラー行は最新CSVからやり直すのが事故を減らす進め方です。

Shopify在庫CSVは「すべてのステータス」を選ぶ

Shopifyの在庫CSVには、「すべてのステータス」と「販売可能」の2形式があります。
数量が動き続けるストアで上書きを防ぎたいなら、公式が推奨する「すべてのステータス」を選びます。

簡単だが保護なし
販売可能
Available数量を直接更新。意図しない上書きを防ぐ安全検証はありません。
VS
上書き防止を優先
すべてのステータス
現在値と新規値を照合し、出力後に変化した行を止められます。

商品CSVと在庫CSVは役割が違う

在庫数だけを変えたい時は、「商品」>「在庫」から出す在庫CSVを使います。
商品CSVは商品名や説明、オプションなどの商品情報を扱う別のファイルであり、数量更新だけの作業とは分けます

商品CSVの上書きと、在庫CSVの安全検証は別の仕組みです。
「CSVならどちらも同じ」と考えず、今回変えたい対象が数量だけか、商品情報も含むのかを先に分けてください。

出典: Shopifyヘルプ「CSVファイルを使用した在庫のエクスポートとインポート」

注意「販売可能」は安全検証の代わりにならない

列が少なく扱いやすい反面、出力後に入った注文を照合する保護はありません。常時注文が入るストアでは「すべてのステータス」を基本にしましょう。

Shopify在庫CSV更新前に対象を絞る

Shopify在庫CSVを開く前に、商品、バリエーション、ロケーション、作業時間帯を決めます。
「どこを変える作業か」を固定すると、対象外の行やロケーションを混ぜずに確認できます。

  • 対象商品: 今回の棚卸しや入庫で数量を変える商品だけに絞る
  • 対象ロケーション: 倉庫、店舗、外部倉庫を混ぜずに選ぶ
  • 操作者の権限: 商品閲覧と在庫管理の権限があるか確かめる
  • 外部同期: 在庫アプリや基幹システムが同時に数量を戻さないか確認する
  • 作業時間: 受注、返品、入庫を扱う担当者と更新時間を共有する

管理画面では「商品」>「在庫」>「エクスポート」を開き、対象ロケーションとバリエーションを選びます。
CSVは更新の直前に出し、元ファイルを変更前バックアップとして残すと、編集前の状態へ戻って照合できます。

スタッフが増減する時は、CSV操作の可否だけでなく、誰にどこまで見せるかも決める必要があります。
Shopifyでスタッフを追加し権限を管理する手順も合わせ、在庫を触る担当者を必要最小限にすると変更履歴を追いやすくなります。

準備元ファイルと編集用コピーを分ける

ファイル名に取得日時とロケーションを入れます。どの時点の在庫かを名前で判別できる状態なら、古いCSVの取り違えを減らせるでしょう。

Shopify在庫CSVは`On hand (new)`だけを編集する

「すべてのステータス」形式で数量を変える列は、`On hand (new)`(手持ち(新規))です。
`On hand (current)`(手持ち(現在))は出力時点の数量なので、通常は値を変えずに残します

編集するところ

対象行の`On hand (new)`
整数の絶対数量
変更しない行は空欄

残すところ

`On hand (current)`
HandleとOption Value
Locationの表記

在庫CSVで編集する列と残す列

扱い理由
`On hand (new)`編集新しい絶対数量
`On hand (current)`保持安全検証に使う
Handle保持商品を識別
Location保持在庫場所を識別
Option Value保持バリエーション識別
Incoming等編集不可状態表示の列

数量は正数、負数、0の整数で入力でき、小数は使えません
仕様上は負数も入力できますが、通常の棚卸しでは自社の販売方針と在庫表示への影響を確かめ、0以上の整数を基本にする方が判断しやすいでしょう。

変更しない行では、`On hand (new)`を空欄にできます。
「全部の行に現在値をコピーしてから一部だけ変える」必要はありませんので、変更対象を絞った方が確認箇所も少なくなります。

Handle・Location・Option Valueを残す

基本の必須識別列は、Handle、Location、Option1 Valueです。
商品に2つ目、3つ目のオプションがある場合は、Option2 ValueとOption3 Valueも必要になります。

SKUは任意列であり、在庫CSVからSKUそのものを変更することはできません
SKUだけを頼りに行を作り直さず、エクスポートされた識別列をそのまま使うのが安全です。

Locationは大文字・小文字を区別するため、管理画面のロケーション名と完全一致させます。
「Tokyo」と「TOKYO」のような表記変更をせず、更新するロケーションごとに1行を残してください。

警告`On hand (current)`を消して強制上書きしない

現在値を空欄にすると安全検証を飛ばせますが、出力後の受注や入庫を守る仕組みも失われます。通常の更新では現在値を保持し、エラー時は最新CSVを出し直してください。

Shopify在庫CSVをUTF-8で保存する

編集には、Shopifyが推奨するGoogleスプレッドシートを使うと保存形式をそろえやすくなります。
編集後は「ファイル」>「ダウンロード」>「カンマ区切り形式(.csv、現在のシート)」を選び、UTF-8のCSVとして戻します。

  • 列見出し: 名前や順番を不用意に変更していない
  • 識別値: Handle、Location、Option Valueが元ファイルと同じ
  • 数量: `On hand (new)`が整数で、小数や記号を含まない
  • 文字コード: UTF-8のCSVで保存している
  • 容量: 1ファイルが15MB以下に収まっている

2026年8月25日に確認したShopify公式ヘルプでは、在庫CSVの上限は1ファイル15MBです。
超える場合は商品やロケーションで分けますが、分割後もヘッダーと識別列を残し、どのファイルを取り込んだか記録してください。

出典: Shopifyヘルプ「CSVファイルを開いて編集する」

保存自動変換されたセルを一度見直す

表計算ソフトは文字列を数値や日付へ変える場合があります。先頭と末尾だけでなく、対象行のHandleとOption Valueを数件照合してから保存しましょう。

Shopify在庫CSVをインポートする

保存したShopify在庫CSVは、「商品」>「在庫」>「インポート」から追加します。
いきなり全件を反映せず、初回は少数のバリエーションで試すと、列やロケーションの取り違えを小さな範囲で見つけられます。

最新CSV
新規値だけ
少数で試す
結果を確認し、問題がなければ対象範囲を広げる
  • ファイルを追加: 編集したCSVをアップロードする
  • サマリーを確認: 対象数と変更内容が想定と合うか見る
  • インポートを開始: 確認後に処理を確定する
  • 通知を確認: 成功と拒否された行を分けて把握する

サマリーの対象数が編集行数と違う場合は、その場で開始せずファイルへ戻ります。
「予定より少ないが、とりあえず実行する」は避けるべきで、必須列や空欄、ロケーションの絞り込みを先に確かめましょう。

小さく一括更新ほど少数行テストが効く

同じ形式で少数行が通れば、全件時に見るべき箇所を絞れます。テスト商品、確認担当、期待数量を先に決めると結果判定がぶれません。

Shopify在庫CSVの安全検証で上書きを防ぐ

「すべてのステータス」形式では、`On hand (current)`と`On hand (new)`を両方残すと、Shopifyが現在の数量を照合します。
CSV出力後に注文、返品、入庫などで数量が変わっていれば、一致しない行は取り込まれません

これは失敗ではなく、新しい在庫変動を古い数で消さないための保護です。
拒否された行の詳細は通知メールで確認し、強制上書きへ変えず、最新CSVを再度出力します。

  • 通知を読む: 拒否された行と理由を確認する
  • 最新CSVを出す: 現在の数量を新しい基準にする
  • 対象行だけ再編集: 新しい`On hand (new)`を入力する
  • 再度サマリーを見る: 対象数が想定と一致してから開始する

`On hand (current)`を空欄にすれば照合を省けますが、最近の受注や入庫まで上書きする可能性があります。
緊急時の例外操作としても、更新停止時間と責任者の承認を決められないなら使わない方が安全です。

回避検証エラーを消すために現在値を削除しない

エラーの原因は、Shopify上の在庫がCSV出力時点から動いたことです。最新CSVへ戻ることが正規の復旧手順であり、保護を外すことではありません。

複数ロケーションと外部アプリの同期を確認する

Shopifyの在庫数量はロケーションごとに独立しています。
同じ商品でも倉庫Aと店舗Bは別行なので、Locationを取り違えると、正しい商品へ誤った場所の数量を入れることになります。

ロケーション

名称を完全一致させ、対象場所ごとに1行を使います。

外部同期

基幹システムや在庫アプリの同期元と更新順を確認します。

商品有効化

数量更新と、その場所で販売できる状態にする操作を分けます。

在庫CSVは数量を更新しますが、商品を新しいロケーションで有効にする操作ではありません
数量が入っただけで販売やフルフィルメントに使えるとは限らないため、対象商品のロケーション設定も別に確かめてください。

出典: Shopifyヘルプ「在庫数量の一括調整」

外部在庫アプリを使っている場合は、どのシステムを正しい在庫の更新元にするかを決めます。
Shopifyの在庫管理アプリが必要になる境目を確認し、Shopify側の手作業を外部システムが後から戻さないかを運用責任者へ確認しましょう。

注文データの転記や複数モール連携が詰まっているなら、CSVだけを増やしても差異の原因は残ります。
ECサイトの受注管理システムへ切り替える判断基準も使い、数量を直す作業と差異を生む工程の改善を分けて考えてください。

同期複数の更新元を同時に正としない

Shopify、倉庫システム、在庫アプリの全てから数量を直せる状態では、どの値が残るか分かりにくくなります。更新元、同期時刻、例外時の担当を一枚にしてください。

Shopify在庫CSV反映後は履歴まで確認する

Shopify在庫CSVの処理完了だけで作業を終えず、変更した商品から2〜3バリエーションを選び、管理画面の数量と照合します。
対象ロケーション、変更前、変更後、操作者、実行時刻を残せば、後から差異が出た時に追跡できます。

  • 対象件数: サマリーと編集行数が一致している
  • サンプル数量: 複数商品で変更後の数が合っている
  • ロケーション: 別の倉庫や店舗へ反映されていない
  • 通知メール: 拒否行や未処理行を残していない
  • 調整履歴: 誰がいつ数量を変えたか確認できる

2026年8月25日に確認したShopify公式ヘルプでは、在庫調整履歴で誰がいつ変更し、数量へどの程度影響したかを過去180日分確認できます。
繁忙期だけでなく、月次棚卸しのたびにサンプル確認を行うと、CSV更新を再現できる定型作業にできます。

出典: Shopifyヘルプ「在庫調整履歴の表示」

年末商戦のように在庫と注文が大きく動く時期は、入庫、広告、配送の予定も同じ表へ置きます。
EC事業者向けの在庫・広告・配送スケジュールを土台に、CSV更新中に誰が在庫を動かすかまで決めておくと安心です。

商品数やロケーションが増え、自社だけで更新元や確認担当を整理しきれない場合は、ノーサイドへ現在の在庫フローをご相談ください
CSV操作だけを外注するのか、受注・在庫運用まで見直すのかを分けてから支援範囲を決めます。

日常の商品登録や受注対応も任せたい場合は、技術的な設定支援とは別の仕事です。
ECサイト運営代行の費用と依頼範囲も照らし合わせ、在庫CSV更新と日常運用を別行で見積もると責任範囲が明確になります。

定型化実行者が変わっても同じ順で確認する

元CSV保存、対象行編集、少数行テスト、サンプル照合、履歴確認をチェックシートにします。担当者が変わっても同じ順で確認できる状態にしておけば、棚卸しのたびに判断がぶれません。

Shopify在庫CSVでよくある質問

QShopifyの在庫数だけをCSVで更新できますか?

AShopifyの在庫数だけをCSVで更新できます。「商品」>「在庫」から在庫CSVを出し、「すべてのステータス」形式では`On hand (new)`へ新しい数量を入力してインポートします。

QShopify在庫CSVは「すべてのステータス」と「販売可能」のどちらを選びますか?

AShopify在庫CSVで上書き防止を優先するなら、公式推奨の「すべてのステータス」を選びます。「販売可能」形式には、現在数と照合して意図しない上書きを防ぐ安全検証がありません。

QShopify在庫CSVの`On hand (current)`は編集してもよいですか?

AShopify在庫CSVの`On hand (current)`は通常編集しません。空欄にすると安全検証を回避できますが、出力後の受注や入庫による数量変化を古い値で上書きする危険が高まります。

QCSV出力後に注文が入った場合、古い在庫数で上書きされますか?

AShopify在庫CSVで`On hand (current)`と`On hand (new)`を両方保持していれば、Shopifyが現在数と照合し、一致しない行の取り込みを拒否します。通知を確認し、最新CSVからやり直してください。

QShopify在庫CSVで必須の列は何ですか?

AShopify在庫CSVではHandle、Location、Option1 Valueが基本の必須列です。2つ目、3つ目のオプションを使うバリエーションでは、Option2 ValueとOption3 Valueも必要になります。

QShopify在庫CSVでSKUや商品名も変わりますか?

AShopify在庫CSVからSKU自体を更新することはできません。商品名や説明などの商品情報を変える場合は商品CSVの別手順となるため、在庫数量だけの更新と分けて作業してください。

QShopify在庫CSVを入れれば新しいロケーションですぐ販売できますか?

AShopify在庫CSVは数量を更新しますが、そのロケーションで商品を販売可能にする操作ではありません。対象ロケーションで商品が有効になっているかを別に確認してください。

更新手順をチェックシートへ落とし込む

Shopify在庫CSV更新とは、現在値の照合を残しながら数量を一括変更し、結果まで監査する方法です
出力形式の選択から履歴確認までを同じ順で回せば、古いCSVで受注後の在庫を消す事故を避けられます。

着手次の棚卸しは少数行のテストから始める

まず対象商品を数点に絞り、出力から履歴確認までを一度通してください。同じ手順で結果が合えば、全件更新へ広げる判断材料になります。