Variant Barcodeを入れる前に確認したいJANコードの持ち方

Variant Barcode列にJANコードを入力する前に確認すべきは、「そのJANは親商品につくものか、それとも色・サイズ別のvariantごとに割り当てられたものか」です。親商品のJANをvariant行に転記してしまうと、在庫連携やPOS連携で意図しない挙動になります。本記事では、JANコードの持ち方を整理し、CSV入力時の落とし穴を自動チェックと人間の判断に分けて解説します。


Variant Barcodeとは何を入れる列か

Shopify商品CSVのVariant Barcode列には、そのvariant(色・サイズなどの組み合わせ)に対応するバーコード番号を入力します。多くの場合、日本ではJANコード(GTIN-13またはGTIN-8)が該当します。

重要なのは、この列が「親商品(Product)」単位ではなく「variant(Variant)」単位であることです。たとえばTシャツ商品で「赤・S」「赤・M」「青・S」の3variantがある場合、それぞれに異なるJANコードが割り当てられていれば、3つのvariant行にそれぞれ別のJANを入力します。

親商品JANとvariant JANの違い

項目 親商品JAN variant JAN
割り当て単位 商品全体(色・サイズ問わず) 色・サイズの組み合わせごと
CSVでの入力場所 1行目(Handleの先頭行)のVariant Barcode 各variant行のVariant Barcode
POSでの用途 商品検索のヒント程度 スキャン時に特定variantを確定
在庫管理との関係 直接連動しない 特定variantの在庫と紐づく

自社でJANを付与している場合は、規格別にJANを発行しているか、それとも商品全体で1つのJANにしているかを、まず商品マスタで確認してください。


典型的な3パターン ― あなたのショップはどれ?

パターンA:variantごとに個別JANがある

アパレルや雑貨でよくあるケースです。色・サイズごとにJANが発行されており、variant行ごとに異なる13桁(または8桁)のコードが入力されます。このパターンでは、各variant行のVariant Barcode列にそのままJANを入力します。

パターンB:親商品JANのみ、variantにはJANがない

食品や日用品で多いケースです。商品全体で1つのJANが付いており、色やサイズのバリエーションがあってもJANは共通です。この場合、先頭行(最初のvariant行)にJANを入力し、残りのvariant行は空欄にするか、同じJANを入力します。ただし、同じJANを複数variantに入れると、POSスキャン時にどのvariantが選ばれるかは環境に依存する点に注意が必要です。

パターンC:JANコードを一切持っていない

オリジナル商品やハンドメイド品などで、JAN未登録のケースです。Variant Barcode列は空欄で問題ありません。空欄でもShopify上の商品表示や販売には影響しませんが、POSレジでのバーコードスキャン検索はできなくなります。


Excelで起こりやすい2つのトラブル

CSVをExcelで開いてJANコードを編集すると、以下の問題が頻発します。どちらも「データの見た目は合っているが、実際の値が壊れている」ため、アップロード後に不具合として発覚します。

先頭ゼロが消える

JANコードの先頭が「0」の場合(たとえば 0454991111111)、Excelはこれを数値として扱い、先頭のゼロを削除して12桁にしてしまいます。対策は以下のいずれかです。

  • CSVをテキストエディタで開いて確認する
  • Excelの「データ」タブから「テキストとして読み込む」で列の書式を「文字列」に指定する
  • 入力前にセルの書式を「文字列」に変更する

指数表記(E表記)になる

13桁の数字はExcelで 4.54991E+12 のように指数表記に変換されることがあります。見た目だけでなく、保存時の実際の値も丸められているため、そのままアップロードすると「無効なバーコード」エラーになります。

この問題も、CSVをExcelで開かずにテキストエディタで確認することで確実に防げます。


SKU・Barcode・JANの役割まとめ

CSV入力時に混同しやすい3つの識別子を整理します。

識別子 CSV列名 役割 重複可否 必須か
SKU Variant SKU 社内在庫管理コード ショップ内で一意推奨 任意
Barcode Variant Barcode POSスキャン用バーコード番号 GTIN体系内で一意 任意
JAN(GTIN-13) Variant Barcodeに入力 日本の流通用商品識別番号 全局で一意 任意

SKUは社内の都合で自由に付与できるコードで、JANは(一財)流通コードセンターが管理する全球規格です。「SKUにJANを入れている」という運用は技術的には可能ですが、役割が異なるため、列は分けて管理することをおすすめします。


JANコードの桁数チェック ― 自動で確認できる部分

JANコードにはGTIN-13(13桁)とGTIN-8(8桁)の2種類があります。CSVに入力する前に、以下のチェックを自動化できます。

チェック手順

  1. 文字列長が13または8であることを確認する
  2. すべての文字が数字であることを確認する
  3. チェックデジット(最後の1桁)が正しいことを確認する

チェックデジットの計算方法(GTIN-13の場合)

12桁の数字について、以下の計算を行い、結果が最後の1桁と一致すれば有効です。

  1. 左から奇数桁(1、3、5…桁目)を合計する
  2. 左から偶数桁(2、4、6…桁目)を合計し、3倍する
  3. 1と2を足す
  4. 10から3の1の位を引く(0の場合は10に)
  5. 結果が13桁目と一致すれば有効

この計算はスプレッドシートの数式や簡単なスクリプトで自動化できます。CSV入力前に一括検証しておくと、アップロード後のエラーを減らせます。


自動チェックと人間の判断の切り分け

確認項目 自動チェック可能 人間の判断が必要
桁数が13または8か
数値のみか(空白・記号がないか)
チェックデジットが正しいか
先頭ゼロが欠落していないか
variantごとのJANが正しい割り当てか ○(商品マスタと照合)
親商品JANをvariantに入れていないか △(重複検知は可能) ○(意図の確認)
SKUとBarcodeを混同していないか ○(運用ルールの確認)
Barcode列を空欄にするか共通JANを入れるか ○(ビジネス判断)

自動チェックはスプレッドシートやスクリプトで一括実行できます。「このJANは本当にこのvariantに対応しているか」の確認は、商品マスタ(またはJAN発行元の台帳)と見比べる必要があるため、担当者の目視確認が基本になります。


Variant Barcodeが空欄のときどうなるか

Variant Barcodeを空欄のままにしても、Shopifyストアフロントでの商品表示や購入には影響しません。空欄になるケースと、その影響を整理します。

  • POSレジでのスキャン不可:バーコードがないため、物理スキャナーで商品を特定できません。POS運用がある場合は必須です。
  • Google Merchant Centerの警告:Google Shoppingフィードで gtin が欠落していると警告が出ることがあります(gtinはBarcodeから取得されます)。
  • 在庫連携での不一致:外部倉庫やERPとJANベースで連携している場合、Barcode空欄のvariantはマッチングされません。

「当面は空欄で問題ないが、将来のPOS導入や外部連携に備えておきたい」という場合は、一旦空欄でアップロードし、後からCSVで一括追記する運用も可能です。


相談時に用意するとよい情報

  • 商品マスタのJANコード割り当てルール(variantごと or 親商品ごと)
  • 現在の商品CSV(Variant Barcode列の状態がわかるもの)
  • POSまたは外部システム連携の有無
  • 使用しているスプレッドシート編集ツール(Excel / Googleスプレッドシート / その他)
  • JANコードの発行元(自社発行 / メーカー付与 / GS1 Japan)
  • 特に困っている症状(桁数エラー / 先頭ゼロ消失 / スキャン不可など)

初回相談では機密CSVやスクリーンショットの送付は不要です。まずは現在の運用方法と課題を言葉で共有していただければ、具体的な確認手順をご案内できます。

参考にした公式情報

この記事の内容で困っている方へ

Shopify CSV / 一括編集 まわりの作業整理、小さな自動化、簡易チェックツール化について相談できます。初回相談で機密CSVやスクリーンショットを送る必要はありません。

無料相談する