Shopifyの商品CSVを編集していると、Variant SKU列とVariant Barcode列の違いが曖昧になり、誤った列に値を入力してしまうケースがよくあります。SKUは社内の在庫管理用コード、Barcode(JANコードなど)は商品そのものを識別する国際標準コードと役割が異なるため、入力先を間違えると在庫連携やGoogle Merchant Centerへのフィードで実害が出ます。この記事では、CSVのどの列がどちらの目的に対応しているか、入力前のチェック手順を整理します。
SKUとBarcode(JAN)はそもそも何が違うのか
SKU(Stock Keeping Unit)は、店舗や倉庫が内部管理のために自由に付けるコードです。法則は運営者が決められ、同じ商品でもカラーごと・サイズごとに別々のSKUを割り当てるのが一般的です。
Barcode(JAN / EAN / UPC)は、商品パッケージに印字されているバーコードの数字です。日本ではJANコード(13桁)が主流で、GS1 Japanが発行する全球共通の識別番号です。SKUのように自社で自由に決められるものではありません。
両者の役割を整理すると次のようになります。
| 項目 | SKU | Barcode(JAN) |
|---|---|---|
| 目的 | 社内在庫管理 | 商品の世界的識別 |
| 発行主体 | 自社で自由に決定 | GS1 Japan等の機関が発行 |
| 桁数 | 自由(空白も可) | JAN: 8桁または13桁 |
| 重複の可否 | 原則ユニーク推奨 | 世界中で一意(重複不可) |
| 例 | TS-BLK-M |
4901234567890 |
Shopify商品CSVで該当する列はどれか
Shopify管理画面から [設定] > [データ形式] > [商品をエクスポート] で出力したCSVには、SKUとBarcodeそれぞれに専用の列があります。該当列と周辺列をまとめました。
| CSV列名 | 目的 | 入力内容の例 |
|---|---|---|
Handle |
商品のURL識別子。同一Handleで複数バリエーション行をまとめる | black-t-shirt |
Option1 Name |
第一オプション名(例: サイズ) | Size |
Option1 Value |
第一オプション値(例: M) | M |
Option2 Name / Option2 Value |
第二オプション(例: カラー) | Color / Black |
Variant SKU |
社内管理コード | TS-BLK-M |
Variant Barcode |
JAN / EAN / UPCコード | 4901234567890 |
Variant Grams |
バリエーションの重量(グラム) | 250 |
Variant Inventory Tracker |
在庫追跡サービス | shopify |
ポイントは、Variant SKUとVariant Barcodeはバリエーション行ごとに設定する列だということです。1つの商品に3つのサイズ展開があれば、Handleは同じまま3行分のバリエーション行が並び、それぞれにSKUとBarcodeを記載します。
列を間違えて入力したときに何が起きるか
SKU欄にJANコードを入れてしまった場合
Variant SKU列に 4901234567890 のようなJANコードを入力すると、次のような問題が起きます。
- 社内在庫システムで「どの商品か」を判別するコードとして、JANコードが使われてしまい、社内コード体系と不一致になる
- Google Merchant Centerのフィードで、
mpn(メーカー型番)フィールドにJANコードが入り、審査で「mpnとgtinが同じ値です」という警告が出ることがある - 複数カラー・サイズで同じJANをSKU欄に入れてしまうと、在庫連携ツールがSKUの重複を検知してエラーを返す
Barcode欄にSKUを入れてしまった場合
逆に、Variant Barcode列に TS-BLK-M のような社内コードを入力すると、次のような問題が起きます。
- Google Merchant Centerのフィードで、
gtinフィールドに不正な値が入り、「GTINが無効です」という不承認理由になる - POSレジでのバーコードスキャン時に商品がヒットせず、店頭販売に支障が出る
- マーケットプレイス連携(Amazonや楽天)でJANコードとして送信され、出品エラーになる
Excelで先頭ゼロが消える問題
JANコードをExcelで開くと、4901234567890のような数値が指数表示(4.90123E+12)になったり、先頭ゼロのあるコード(00012345)のゼロが欠落したりします。これはBarcode列特有の事故で、SKU列では起こりにくいトラブルです。
対策として、CSVをExcelで開く前にメモ帳などで開いて列の内容を確認するか、Excelのインポート機能でVariant Barcode列を「文字列」として指定して読み込んでください。
CSVインポート前の確認手順
自動でチェックできる項目
CSVをShopifyにインポートする前に、スプレッドシートの関数や簡易スクリプトで次の項目を機械的に確認できます。
| チェック項目 | 確認方法 | 期待される結果 |
|---|---|---|
Variant SKUの重複 |
COUNTIF関数などで重複を抽出 | 同一SKUが複数行に存在しない |
Variant Barcodeの桁数 |
LEN関数で8桁または13桁か確認 | 8桁または13桁の数値文字列 |
Variant Barcodeの先頭ゼロ欠落 |
セルの表示形式が文字列か確認、または数値化された行を検出 | ゼロから始まるコードが保持されている |
Variant Barcodeの文字種 |
正規表現 ^[0-9]{8}$|^[0-9]{13}$ で検証 |
数字のみで構成されている |
Variant SKUの空欄 |
空白セルをフィルタで抽出 | 在庫管理に使うSKUが空欄ではない |
Handleとバリエーション行の整合 |
同一Handle内でOption列の組み合わせが重複していないか確認 | 同じバリエーションが2行以上存在しない |
Googleスプレッドシートを使っている場合は、次のような数式でBarcodeの桁数チェックが可能です。
=IF(OR(LEN(TRIM(K2))=0, LEN(TRIM(K2))=8, LEN(TRIM(K2))=13), "OK", "桁数要注意")
ここで K2 はVariant Barcode列のセルを指します。空白(Barcodeを使わない商品)は許容するため、空文字もOKとしています。
人の判断が必要な項目
機械的なチェックでは判断が難しい項目もあります。インポート前に必ず目で確認してください。
- 更新対象の列が正しいか: 今回のCSV更新でSKUだけを変更するのか、Barcodeだけを変更するのか、両方を変更するのかを明確にする。意図しない列に値が入っていないか確認する。
- 新規商品か既存商品か: 既存商品のHandleと同一Handleを使うと上書き更新になる。新規商品のはずが既存Handleと重複していないか確認する。
- BarcodeにJAN以外の体系を含むか: 一部の商品だけUPC(12桁)を使っている場合、桁数チェックの基準を調整する必要がある。
- SKU体系の変更意図: 既存のSKU命名規則を変更する場合、在庫連携先(倉庫システムや会計ソフト)でもSKUの紐付け更新が必要になるか確認する。
- Barcode空白の可否: バリエーション商品で、親商品にBarcodeを設定せずバリエーション行のみに設定する設計が多い。空白のまま意図的に残しているか、入力漏れかを判断する。
実務での入力ワークフロー例
新商品を一括登録する場面を例に、SKUとBarcodeを正しく入力する手順を示します。
- 元データを準備する: 商品マスタからSKU、JANコード、商品名、オプション値を抽出し、1行1バリエーションで並べる
- 列ヘッダーをShopify形式に合わせる: 社内マスタの「管理コード」列を
Variant SKUに、「JANコード」列をVariant Barcodeにマッピングする - Barcode列を文字列として保存する: Excelの場合はBarcode列全体を選択し、セルの書式を「文字列」に設定してから値を貼り付ける
- 自動チェックを実行する: 前述の桁数チェック・重複チェック・文字種チェックを実行し、エラー行を修正する
- サンプル行を目視確認する: 最初の5〜10行について、SKU列に管理コードが入っていること、Barcode列にJANコードが入っていることをヘッダー名と照合しながら確認する
- テストインポートする: 全行ではなく一部の商品(3〜5商品)だけを含むCSVで試しにインポートし、管理画面でSKUとBarcodeがそれぞれ正しい欄に反映されているか確認する
- 本番インポートする: テスト結果に問題がなければ全体をインポートする
この手順の中で特に時間をかけるべきなのは手順5の目視確認です。自動チェックを通過していても、列のマッピング自体が逆になっていれば全行が間違ったままインポートされてしまいます。
CSV列の混同を防ぐためのチェックリスト
最後に、CSVを編集・インポートする際の確認項目をチェックリスト形式でまとめます。インポート前に一読してください。
| No. | 確認項目 | 確認手段 |
|---|---|---|
| 1 | Variant SKU列に社内管理コードが入っている |
ヘッダー行と照合 |
| 2 | Variant Barcode列にJAN/EAN/UPCが入っている |
ヘッダー行と照合 |
| 3 | SKUとBarcodeで値の体系が逆転していない | サンプル行の目視 |
| 4 | Barcode列で先頭ゼロが欠落していない | LEN関数・文字列表示確認 |
| 5 | Barcodeが8桁または13桁の数字のみである | 正規表現またはLEN関数 |
| 6 | SKUがバリエーション行ごとにユニークである | COUNTIF関数・重複抽出 |
| 7 | Handleが既存商品と意図せず重複していない | 既存CSVとの突合 |
| 8 | 更新対象列だけが変更されている(意図しない列の値が書き換わっていない) | 変更前後CSVの差分確認 |
相談時に用意するとよい情報
CSVの編集やインポートでつまずいた際、サポートに相談する前に次の情報を手元に用意しておくと、やり取りがスムーズに進みます。
- 現在使用している商品CSVのサンプル(商品名や金額をマスキングしたもので構いません)
- SKUとBarcodeのどちら(または両方)を変更・登録しようとしているか
- インポート時に表示されたエラーメッセージの全文(テキストで貼り付けるだけで構いません)
- 現在の管理画面でのSKU・Barcodeの表示状態(項目名と値をテキストで知らせるだけで構いません)
- 使用している在庫連携ツールやGoogle Merchant Centerフィードの有無
- 商品のバリエーション構成(オプション名と値の組み合わせ)
初回相談では機密CSVやスクリーンショットの送付は不要です。まずは概要をお知らせください。
参考にした公式情報
- https://help.shopify.com/ja/manual/products/details/sku
- https://help.shopify.com/ja/manual/products/details/barcode
- Shopify Help Center: Using CSV files to import and export products
Shopify CSV / 一括編集 まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。
無料相談する
