インストアJANコードの割り当てルールと自社コード作成手順

結論

インストアJANコードは、小売店が店内管理用に自社で割り当てられる13桁のコードです。先頭2桁に20〜29を使うことで通常のJANコードと区別でき、GS1への事業者コード登録は不要です。本記事では、重複を防ぐ桁構成の設計とチェックデジットの計算手順、EAN-13 作成との違いを具体的に解説します。

インストアJANコードの基礎知識とプレフィックス(20〜29)の役割

インストアJANコードとは、小売店舗が店内での商品管理やPOSレジでの販売処理のために、自社で設定・印刷するJANコードです。対面販売の精肉・鮮魚・青果・惣菜など、メーカー側でソースマーキング(製造段階でのバーコード印刷)がされていない商品に用いられます。

通常のJANコード(標準タイプ13桁)は、GS1事業者コードの取得が必要で、日本では先頭2桁が45または49の国コードで始まります。これに対し、インストアJANコードは先頭2桁に20〜29(および02)を使うことで、標準JANコードと明確に区別します。GS1 Japanも「社内管理用にユーザーが使えるのはインストアコードのみ」と明示しており、20〜29のプレフィックスは登録不要で自社の裁量で使用できます。

重要な制約として、インストアJANコードはあくまで社内利用限定です。企業間取引や外部への出荷には使えません。また、将来のGS1割り当てに備え、未割当のプレフィックスを勝手に社内用途へ流用することも避けるべきとされています。自店舗のPOSシステムだけで完結する商品に限定して運用するのが原則です。

なお、JANコードは国際的にはEANコードと呼ばれる世界共通規格で、13桁の標準タイプはEAN-13に相当します。EAN-13 作成の考え方はインストアJANコードの作成と基本構造が共通しているため、桁構成やチェックデジットの理解はそのまま流用できます。

EAN-13 作成とインストアJANコード作成の違い

「EAN-13 作成」と「インストアJANコード作成」は、どちらも13桁のバーコードを扱うため混同されがちですが、用途と前提条件が異なります。EAN-13は国際流通を前提とした商品識別コードで、日本ではJANコードとして運用されています。一方、インストアJANコードは店舗内の自己完結型管理を目的とした番号帯です。

項目EAN-13(流通用JAN)インストアJANコード
主な用途一般流通・小売取引での商品識別店舗内のPOS・在庫管理
先頭2桁国コード(日本は45または49)02、または20〜29
GS1事業者コード取得が必要不要
登録料・維持費発生するかからない
外部流通可能不可(店内限定)
桁数・チェックデジット13桁・モジュラス1013桁・モジュラス10(共通)

このように、EAN-13 作成ではGS1事業者コードの登録が前提となるのに対し、インストアJANコードは登録なしで自社コードを作成できます。ただし桁数やチェックデジットの計算方式は共通なので、EAN-13 作成で使う生成ツールや検証の考え方は、インストアJANコードの作成にもそのまま役立ちます。外部に流通させる商品か、店内管理のみの商品かで、どちらの方式を選ぶかを最初に切り分けることが重要です。

重複を防ぐ自社コード割り当てルールの設計(単品・価格/計量商品)

インストアJANコードの13桁のうち、先頭2桁(20〜29)と末尾1桁(チェックデジット)を除く中間10桁が自社で自由に設計できる部分です。ここに商品カテゴリやアイテム番号、価格情報などを埋め込むことで、レジでの処理とバックヤードでの管理を両立させます。

設計時にまず決めるべきは、単品管理用(固定価格)か計量・価格埋め込み用かの区分です。固定価格の単品商品では、中間10桁を「カテゴリ3桁+アイテム番号6桁+予備1桁」のように分割し、アイテム番号を連番で払い出すのがもっともシンプルです。一方、精肉や惣菜のように重量や価格が変動する商品では、価格または重量情報をコード内に埋め込む桁構成が必要になります。

用途桁構成の例(先頭2桁+中間10桁+CD)設計のポイント
固定価格・単品管理20 + カテゴリ3桁 + アイテム6桁 + 予備1桁 + CDカテゴリごとにアイテム番号の連番範囲を固定し、衝突を防ぐ
価格埋め込み(計量商品)22 + 商品識別4桁 + 価格5桁 + 予備1桁 + CD価格は税込・上代など単位を統一し、桁あふれの上限を事前に決める
重量埋め込み(精肉・青果)24 + 商品識別4桁 + 重量4桁 + 予備2桁 + CDグラム単位か100g単位かを統一し、小数点の扱いをルール化する

重複を防ぐ実務的なコツは、カテゴリごとにアイテム番号の採番台帳をExcel等で一元管理することです。担当者ごとに採番すると、同じ番号が別商品に割り当たる事故が起きやすくなります。また、将来の拡張に備えて中間10桁のどこかに「予備桁」を1〜2桁確保しておくと、カテゴリ追加や価格桁の拡張に対応しやすくなります。コード生成そのものは、バーコード生成ツールで12桁の本体を入力し、チェックデジットを自動計算させて画像化する流れが確実です。

部門やカテゴリーごとにプレフィックスやカテゴリ桁を割り振る方法も有効です。たとえば生鮮・惣菜・日配・衣料などの部門単位で番号帯を分けておけば、現場の担当者が採番するときにも迷いにくく、後から集計する際にも部門別の売上分析がしやすくなります。直売所や個人店のように品目が少ない場合は、カテゴリ桁を簡略化し、アイテム番号を広めに取る構成が扱いやすいでしょう。

チェックデジットの計算方法(モジュラス10 ウェイト3-1)と作成手順

JANコード13桁の末尾1桁はチェックデジット(検証数字)で、先頭12桁からモジュラス10・ウェイト3-1方式で計算します。この計算を誤るとバーコードリーダーで読み取れないシンボルになるため、手計算よりもツールでの自動計算が推奨されます。EAN-13 作成でもこの計算方式は共通です。

計算手順は以下のとおりです。先頭12桁を左から「N1 N2 … N12」とします。

  1. 右端(N12)から数えて奇数位置(N12, N10, N8, N6, N4, N2)の数字を合計し、その合計に3を掛ける。
  2. 偶数位置(N11, N9, N7, N5, N3, N1)の数字を合計する。
  3. 手順1と手順2の結果を足す。
  4. 合計を10で割った余りを求め、10からその余りを引いた値の一の位がチェックデジットになる。

具体例として、本体12桁が「201234567890」の場合で計算します。右端0から奇数位置(0,8,6,4,2,0)の合計は20、×3で60。偶数位置(9,7,5,3,1,2)の合計は27。60+27=87。87÷10の余りは7。10−7=3。したがって完成コードは「2012345678903」となります。

作成の実務フローとしては、①採番台帳で未使用の12桁を確認 → ②上記の計算またはツールでチェックデジットを付与 → ③JAN標準シンボルとして印刷、の順で進めます。印刷時はバーコードの左右に十分な余白(クワイエットゾーン)を確保し、実際のPOSスキャナーで読取確認を行ってください。大量の商品ラベルを一括生成する場合は、無料バーコード作成・一括生成ツールのCSV連携機能を活用すると、採番ミスと作業時間を同時に削減できます。バーコードの基礎的な規格についてはバーコードの基礎ガイドも参照してください。

自社コード管理とPOS・Excel運用でよくある失敗と対策

ルールを決めても、現場の運用で崩れるケースは共通しています。特にPOS・在庫管理(WMS)・Excelの3か所で「同じコードのはずが一致しない」問題が起きやすいため、先に潰しておきましょう。

失敗1:Excelの数値変換で先頭の0が消える

JANコードは数字のみですが、Excelは入力値を数値として扱うため、先頭が0のコードや長い桁数で指数表記(例:2.01E+12)に化けることがあります。インストアJANのプレフィックスは20〜29で始まるため、先頭桁が2の場合は被害が小さいものの、既存のJAN(45・49始まり)と混在させると桁落ちに気づきにくくなります。

対策:コード列は書式を「文字列」に設定してから入力する、CSV取り込み時は「テキスト形式」を指定する、セル幅を広げても指数表記は解消しないため書式側で対処する。チェック用に「桁数」列を追加し、=LEN(セル) が13以外ならエラー表示にする条件付き書式を入れておくと事故を早期発見できます。

失敗2:チェックデジットを手計算・コピペで済ませる

12桁の本体からチェックデジットを計算せず、過去シートの数式をコピーした結果、参照範囲がずれて誤ったコードが混入する例です。チェックデジットが誤っていると、POSのスキャン時に読み取りエラーとなるか、読み取れても登録コードと一致せず「登録されていない商品」扱いになります。

対策:Excelでは「奇数桁(右から)を3倍、偶数桁を1倍して合計し、10の倍数までの差を取る」計算を1列に固定し、本体12桁を入力するだけでチェックデジットが自動算出されるテンプレートを作る。生成後は必ず実機(ハンディスキャナ)で読み取り確認を行う。大量に採番する場合は1次元バーコード作成ツールで画像と数値を一括生成し、Excelの台帳と突き合わせる運用が確実です。

失敗3:POS・WMS・ECでコード体系がバラバラ

店舗POSには登録したがWMS側のマスタ登録が漏れ、入荷検品で「未知コード」になる。あるいはEC側だけ別の自社コードを振ってしまい、同じ商品に2つのコードが存在する状態です。

対策:「採番は1か所(マスタ管理担当)」「登録先はPOS・WMS・ECの3システム同時」をルール化する。台帳には「コード/商品名/登録日/登録済みシステム」の列を設け、未登録システムが残っていないか月次で棚卸しする。新規採番時は連番の最終値だけでなく、使用済みコードの一覧と照合して重複を防ぐ。

失敗4:同じ商品に複数バーコードを貼って読み分け事故

既存のJAN(ソースマーキング)が印字された商品に、自社管理用のインストアJANラベルを上から貼ったものの、旧バーコードが一部見えていてレジで誤読み取りされる。あるいは量り売り品で、固定価格用と重量用の2種類のコードを混在させてしまうケースです。

対策:ラベルは旧バーコードを完全に覆うサイズを選び、貼付位置を「既存バーコードの真上」と統一する。固定価格用と重量用はコード体系(価格フラグ桁)を分け、台帳の商品区分列で管理する。値札の差し替え時は旧ラベルを必ず剥がす運用まで含めて手順書に記載します。

失敗5:削除したコードの再利用

廃番商品のコードを「空いたから」と別商品に再割り当てすると、POSの販売履歴や在庫データが過去の商品と混ざり、集計が壊れます。履歴系システムでは過去データの参照が残るため、コードの再利用は避けるのが原則です。

対策:廃番コードは「欠番」として台帳に残し、状態列を「使用中/廃番(再利用禁止)」で管理する。連番は欠番を詰めずに進める。どうしても番号帯が枯渇する場合は、カテゴリ桁の見直しなど上位のルール変更として処理する。

失敗6:生成画像の解像度不足でレジが読めない

Excelに貼り付けたバーコード画像を拡大印刷した結果、バーがにじんでスキャンできない。特にインストア用はラベルプリンタの解像度(203dpi/300dpiなど)と印刷サイズの相性が出ます。

対策:画像は拡大せず、印刷実寸に合ったサイズで生成する。プリンタの解像度に合わせて出力し、印字後は必ず実機で読み取りテストを行う。バーの細りや余白(クワイエットゾーン)の不足は読み取り率に直結するため、ラベルの余白設計も忘れずに確認します。

運用チェックリスト(月次)

確認項目見るべきポイント担当
コード重複台帳とPOS・WMSマスタの突合で同一コードの二重登録がないかマスタ管理
桁数・チェックデジット全コードが13桁で、チェックデジット計算が一致しているかマスタ管理
未登録システムPOS・WMS・ECのいずれかに登録漏れがないか各システム担当
廃番の扱い廃番コードが再利用されていないかマスタ管理
読み取り実機確認新規ラベルのサンプルをスキャナで読み取り確認したか店舗・物流

台帳と生成画像を一元管理したい場合は、バーコード生成ツールでコード文字列と画像をセットで出力し、Excel台帳のコード列と突き合わせる運用が現実的です。バーコードの種類や番号の基礎はバーコードの基礎ガイドも参照してください。

よくあるご質問

関連ページ: JANコードは勝手に作ってもいいですか

適当な数字でも自社だけで使うなら問題ないですか?

自社内で完結するなら自由な数字列でも動作しますが、桁数やチェックデジットを無視するとPOSで読み取りエラーや登録不一致が起きます。桁構成と採番ルールを決めてから作成することをおすすめします。

関連ページ: チェックデジットが違うとどうなりますか?

インストアコードを外部販売の商品に使っても問題ありませんか?

問題があります。20〜29始まりのコードは店舗内用途を想定したもので、流通・小売の取引で通用する保証がありません。外部流通させる商品にはGS1事業者コードを取得したJANを使ってください。

桁数に決まりはありますか?

インストアJANコードは流通用JANと同じ13桁で運用するのが一般的です。先頭2桁(02または20〜29)と末尾1桁のチェックデジットを除く中間10桁が自由設定部分になります。EAN-13 作成と同じ13桁構成と覚えておくとよいでしょう。

既存のバーコードの上からラベルを貼っても大丈夫ですか?

旧バーコードが完全に隠れるサイズで貼るなら問題ありません。一部が見えているとレジで誤読み取りされるため、貼付位置とラベルサイズを統一する運用ルールを決めてください。

同じ商品に複数のインストアコードを持たせてもいいですか?

固定価格用と重量用など用途が異なる場合は、価格フラグ桁を分けて管理すれば併用できます。ただし同一用途で複数コードを乱立させると在庫集計が崩れるため、台帳で紐付けを明確にしてください。

廃番になったコードは再利用できますか?

再利用は避けてください。POSの販売履歴や在庫データが過去の商品と混ざり、集計が壊れます。廃番コードは欠番として台帳に残し、連番は詰めずに進めるのが安全です。

ExcelでJANコードの先頭の0が消えるのはなぜですか?

Excelが入力を数値として扱い、指数表記に変換するためです。コード列の書式を「文字列」に設定してから入力するか、CSV取り込み時にテキスト形式を指定してください。

商品マスタのCSVに12桁の本体を用意し、バーコード生成ツールの一括生成機能でチェックデジットを自動付与して画像化するのが効率的です。生成後は台帳と突き合わせ、実機で読み取り確認を行ってください。

POS・WMS・ECでコードが一致しないときはどうすればいいですか?

採番を1か所に集約し、新規コードは3システム同時に登録するルールに変えてください。台帳に登録済みシステムの列を設け、月次で未登録がないか突合する運用が有効です。

生成したバーコードがレジで読み取れないときは?

画像の拡大によるにじみ、余白不足、プリンタ解像度との不一致が主な原因です。実寸サイズで再生成し、余白を確保したうえで実機スキャナで読み取り確認を行ってください。

自社コードの割り当てルールはどう文書化すればいいですか?

プレフィックス、カテゴリ桁、品番桁、価格/重量フラグ、チェックデジットの各桁の意味を1枚の表にまとめ、採番担当・登録先システム・廃番時の扱いまで

Sources