GS1バーコード規格の基本と現場運用の注意点
· 更新日: · 小村 豪 · GS1, バーコード, GTIN, GS1-128, GS1 DataMatrix, 在庫管理
更新履歴(3件・最終更新 2026年08月02日)
この記事に加えた変更の記録です。アーカイブした更新前のバージョンは、DOI付きの固定URLから読めます。
- 記事の冒頭に「この記事の知識マップ」節を追加しました。本文で扱っている概念とその関係を、要約・図・詳細ページへのリンクにまとめたものです。本文の主張は変えていません。
- 外部レビュー(1283件)への対応として本文を更新しました。個々の変更内容は、この下の履歴を参照してください。
- 用語一覧表と、AIを連結した実データの例(HRI、各AIの長さ、スキャナ出力、可変長AIを中間に置いた場合の区切り)を追加しました。バーコードの構造をクワイエットゾーン・シンボル・X寸法・HRIの対応表で示し、GTINが変更になる基準の実例と、再利用停止の案内が国内向けである旨を追記しました。
- 初版公開
この記事を引用する(DOI: 10.5281/zenodo.21589791)
この記事はZenodoにアーカイブされています。常に最新版へ解決されるDOIと、いま表示している版に固定されたDOIの両方を下に示します。
小村 豪(2026)「GS1バーコード規格の基本と現場運用の注意点」合同会社小村ソフト. https://doi.org/10.5281/zenodo.21589791 https://staging.comcomponent.com/blog/2026/04/15/000-gs1-barcode-standards-practical-guide/
- DOI(最新版)
- 10.5281/zenodo.21589791
- DOI(この版)
- 10.5281/zenodo.21732808
バーコードの相談でよく起きるのは、JAN を付けたい、GS1-128 にしたい、QR にしたい が同じレイヤーの話として混ざることです。
実際には、先に分けて考えるべきものがあります。
- 何を識別したいのか
- どんな属性情報を持たせたいのか
- どのシンボルで表すのか
- 読み取ったあと、上位システムでどう解釈するのか
GS1 は、この 4 つをつなぐための標準で、「番号の付け方」だけでなく、データの意味、バーコードの器、配置と品質、読取後の処理まで含む契約です。1
以下は、2026 年 4 月時点で確認できる GS1 / GS1 Japan / 厚生労働省の資料を前提にした整理です。
目次
- まず結論
- GS1 で規格化されているレイヤー
- 実務で最初に分けるべき用途
- GS1 で定められている代表的なルール
- 実運用でハマりやすいポイント
- 規制や業界要件が強い例
- 導入を進める順番
- まとめ
- 参考資料
この記事の知識マップ
この記事は、GS1のバーコード規格が識別コード・属性情報・データキャリア・読取後の処理という別レイヤーの契約であることを整理した実務ガイドです。商品を識別するGTINは、ロットや有効期限、シリアル番号まで扱う場面ではGS1アプリケーション識別子(AI)による属性の追加を必要とし、SSCCやGLNとあわせて物流やトレーサビリティの識別キーを構成します。GS1-128・GS1 DataMatrix・GS1 QRコードはそれぞれCode 128・Data Matrix・QRコードのGS1用subsetで、FNC1やAIの構文、シンボル体系識別子、HRI、クワイエットゾーン、X寸法といった表現・品質のルールに従って初めて正しく機能します。日本では一度使ったGTINの再利用が原則できず、小売の2D移行も当面は線形バーコードとの併記が前提になるなど、運用上の制約も設計に織り込む必要があります。
flowchart LR
accTitle: GS1バーコード規格の知識マップ
accDescr: GS1標準がGTIN・GS1アプリケーション識別子・SSCC・GLNという識別コード群と、GS1-128・GS1 DataMatrix・GS1 QRコードというデータキャリア群、FNC1やシンボル体系識別子・HRI・クワイエットゾーン・X寸法という表現と品質のルールを束ねること、GTIN再利用禁止や小売2D移行という運用上の制約を示す図。
gs1_standard["GS1標準(モジュラス10 ウェイト3-1)"]
gtin["GTIN(Global Trade Item Number)"]
gs1_ai["GS1アプリケーション識別子(AI)"]
sscc["SSCC(出荷梱包シリアル番号)"]
gln["GLN(Global Location Number)"]
gs1_128["GS1-128"]
code128["Code 128"]
gs1_datamatrix["GS1 DataMatrix"]
data_matrix_symbol["Data Matrix"]
gs1_qrcode["GS1 QRコード"]
qr_code["QRコード"]
fnc1["FNC1(機能文字)"]
symbology_identifier["シンボル体系識別子"]
hri["HRI(Human Readable Interpretation)"]
quiet_zone_barcode["クワイエットゾーン"]
x_dimension_barcode["X寸法"]
ean_upc["EAN/UPC(JANシンボル)"]
asn["ASN(事前出荷明細)"]
gtin_reuse_prohibition["GTIN再利用の原則禁止"]
gs1_general_specifications["GS1 General Specifications(総合仕様書)"]
gs1_2d_migration["小売2D移行"]
gs1_standard -->|"利用する"| gtin
gs1_standard -->|"利用する"| gs1_ai
gs1_standard -->|"利用する"| sscc
gs1_standard -->|"利用する"| gln
gtin -.->|"前提とする"| gs1_ai
gs1_128 -->|"利用する"| code128
gs1_datamatrix -->|"利用する"| data_matrix_symbol
gs1_qrcode -->|"利用する"| qr_code
gs1_128 -->|"利用する"| fnc1
gs1_standard -.->|"利用する"| symbology_identifier
gs1_standard -->|"利用する"| hri
gs1_standard -->|"利用する"| quiet_zone_barcode
gs1_standard -->|"利用する"| x_dimension_barcode
ean_upc -->|"前提とする"| gtin
gs1_128 -->|"利用する"| gs1_ai
gs1_datamatrix -->|"利用する"| gs1_ai
gs1_qrcode -->|"利用する"| gs1_ai
asn -.->|"利用する"| sscc
gtin -.->|"前提とする"| gtin_reuse_prohibition
gs1_general_specifications -->|"実装を担う"| gs1_standard
gs1_2d_migration -.->|"前提とする"| ean_upc
gs1_2d_migration -.->|"利用する"| gs1_datamatrix
gs1_2d_migration -.->|"利用する"| gs1_qrcode
図の実線は常に成り立つ関係、破線は条件付きの関係です(成立条件は詳細ページの各関係の説明に記載)。関係すべての一覧(全23件、根拠・確度つき)と主要概念の定義は知識マップ詳細ページにまとめています。データ: JSON-LD / Turtle
1. まず結論
GS1 まわりの実務で、先に押さえたいのは次の 5 点です。
-
GTIN とバーコードの種類は別物です。 GTIN は商品識別コードで、EAN/UPC、ITF、GS1-128、GS1 DataMatrix、GS1 QR コードはその表し方です。ここを混ぜると設計が崩れます。23
-
GTIN だけでは足りない場面が多いです。 ロット番号、有効期限、シリアル番号まで扱うなら、GS1 アプリケーション識別子(AI)を使って属性を別に持たせる必要があります。4
-
POS、物流、トレーサビリティでは、向くシンボルが違います。 消費者向け POS は GTIN 中心、物流は GTIN-14 や SSCC、トレーサビリティや規制分野は GTIN にロット・期限・シリアルを足す形が基本になります。25
-
実運用の事故は、印字そのものより受け側で起きます。 FNC1、可変長 AI の区切り、スキャナ設定、シンボル体系識別子、上位システムのパーサ、商品マスタの更新ルールまで決めていないと、読めても使えません。43
-
小売の 2D 移行は進んでいますが、まだ移行期です。 GS1 の小売向け 2D ガイドでは、POS が十分に 2D 対応するまで、2D だけでなく POS 用の線形バーコードを併記する前提が置かれています。67
要するに、バーコード生成の話から入るより、誰が、どこで、何を読み、何の業務に使うか から決めたほうが失敗しません。
以降の章では、GS1 の略語がかなり出てきます。先にここだけ押さえておくと読みやすくなります。
| 略語・用語 | 正式名称 | 何を指すか |
|---|---|---|
| GTIN | Global Trade Item Number | 商品を識別する番号。日本の JAN コードも GTIN の一種 |
| AI | Application Identifier(アプリケーション識別子) | 後ろに続くデータの意味と書式を決める 2 桁から 4 桁の数字 |
| SSCC | Serial Shipping Container Code(出荷梱包シリアル番号) | パレットやケースなど、物流単位を 1 つずつ識別する番号 |
| GLN | Global Location Number | 企業、事業所、出荷先といった「場所」を識別する番号 |
| FNC1 | Code 128 などが持つ機能文字(Function 1) | GS1 標準バーコードで使う制御記号。GS1 データであることの表明と、可変長データの区切りに使う |
| HRI | Human Readable Interpretation | バーコードのそばに人が読める形で印字する文字。(01) のような括弧付き表記はここで使う |
| ASN | Advanced Shipping Notice(事前出荷明細) | 出荷側が受領側へ先に送る出荷内容のデータ。SSCC と組み合わせて検品を簡略化する |
| X 寸法 | X-dimension | バーコードのいちばん細いバー 1 本の幅。読取距離と読取率に直結する |
| クワイエットゾーン | quiet zone | シンボルの両端に必要な余白。詰めると読めなくなる |
2. GS1 で規格化されているレイヤー
2.1 識別コード
GS1 には、まず「何を識別するか」のための識別キーがあります。
商品を識別する代表が GTIN です。GTIN には GTIN-8 / 12 / 13 / 14 があり、日本では GTIN-13 と GTIN-8 が JAN コードとして広く使われています。GTIN-13 は単品や最小取引単位、GTIN-14 はケースやボールなどの集合包装で使われます。2
物流単位を識別する代表は SSCC です。パレットやケースなどの梱包に SSCC を付け、出荷データとひも付けて受領検品を簡略化する、というのは GS1 らしい使い方です。5
ここで大事なのは、GTIN は「どの商品か」を表すキーであって、ロットや期限を兼ねるものではない という点です。ロットや期限は別レイヤーで持ちます。
2.2 属性情報の意味を決める AI
GTIN に追加で持たせる属性は、GS1 アプリケーション識別子(AI)で定義します。AI は 2 桁から 4 桁の数字で、後ろに続くデータの意味とフォーマットを決めます。43
代表例だけ挙げておきます。
(01)GTIN(00)SSCC(10)ロット / バッチ番号(17)有効期限(21)シリアル番号
GS1 で重要なのは、「数字列を読めること」ではなく、その数字列を同じ意味で解釈できること です。AI があることで、複数のデータを 1 本のバーコードに入れても、受け側が意味を取り違えにくくなります。4
2.3 データキャリアとしてのバーコードシンボル
次に、「そのデータを何で表すか」がデータキャリアです。GS1 の世界では、ここも分けて考えます。18
GTIN だけを表す用途では、EAN/UPC(日本では JAN シンボル)や ITF が今でも広く使われています。一方、日付やロット番号などの追加属性まで表したいなら、GS1-128、GS1 DataMatrix、GS1 QR コードなどが候補になります。3
ここでよく誤解されるのが、GS1-128 は「Code 128 そのもの」ではない という点です。同じように、GS1 DataMatrix は Data Matrix、GS1 QR コードは QR コードの GS1 用 subset です。GS1 のルールに沿うことを示すために FNC1 を使い、AI の構文でデータを並べます。83
つまり、Code 128 が作れる と GS1-128 を正しく作れる は同じ意味ではありません。
2.4 配置、サイズ、品質、HRI
GS1 の総合仕様書は、識別コードと AI だけでなく、シンボルのサイズ、X 寸法、クワイエットゾーン、配置、品質評価、Human Readable Interpretation(HRI)まで扱っています。1
このため、バーコードはデザイン部品のように適当に縮小・拡大してよいものではありません。特に物流用や高速 POS 用では、印字品質と配置が読取率に直結 します。小売向けの 2D ガイドでも、配置と複数バーコードの運用は POS の処理速度維持に直結するとされています。6
3. 実務で最初に分けるべき用途
3.1 消費者向け POS
レジで高速に読む用途では、まず GTIN を安定して読めることが最優先です。追加属性を入れたい場面は増えていますが、現状は移行期で、2D だけでなく線形バーコードの併記が必要になることがあります。67
なので、「これからは QR の時代だから全部 2D にする」という決め方は危険です。POS スキャナが読めるかだけでなく、ホスト POS が何を受け取って何を使えるか まで確認が必要です。67
3.2 物流・入出荷・SCM ラベル
物流では、ケースやパレット単位の識別、受領検品、出荷データとの照合が中心になります。この文脈では、GTIN-14 や SSCC と、GS1-128 の組み合わせが今でもかなり強いです。25
物流では「何を入れたか」よりも、「どの単位を、どのデータと結び付けるか」が大事です。バーコード単体ではなく、ASN や出荷実績データとセットで設計したほうが自然です。
3.3 トレーサビリティ・規制分野
医療、食品、安全管理、期限管理では、GTIN だけで足りないことが多いです。GTIN にロット、有効期限、シリアル番号を追加して、個品やロット単位の追跡をできるようにします。49
GS1 DataMatrix のガイドラインでも、GS1 DataMatrix は主にオープンシステムでの利用を想定しており、取引相手が同じデータを同じ意味で読めることが前提です。8
ここでは、印字できること よりも、取引先や規制当局まで含めて同じ意味で流せること が重要です。
4. GS1 で定められている代表的なルール
4.1 GTIN は好きに使い回してよい番号ではない
GTIN の付番では、「前の商品と同じ番号のままでよいか」が重要です。GS1 Japan は「GTIN が変更になる 10 の基準」として整理しています。根底にある判断軸を粗くまとめると、次の 3 点です。10
- 消費者や取引相手が以前の商品と区別したい
- 規制や責任開示の要件がある
- 出荷、保管、受領などサプライチェーンに影響する重要な変更がある
実務的には、サイズ、内容量、荷姿、販売単位、表示責任に関わる変更 で迷いやすいです。ここを営業判断だけで運用すると、EC、受発注、在庫、マスタ連携で後から歪みます。
10 の基準のうち、現場で判断がぶれやすいものを 3 つだけ挙げておきます。10
- 商品表示の変更をともなう正味内容量の変更。たとえば 500g を 480g にする場合です
- 包装の外寸、または総重量の変更程度が 20% を超える場合。中身が同じでも、荷姿が変われば物流側の前提が変わります
- 集合包装の入数の変更。ケース 12 本入りを 10 本入りにする、といった変更です
逆に「これは変えなくてよいだろう」と誤解されやすいのが、販促のために期間限定で包装を変更したり、景品や試供品を付けたりした場合 です。これも GTIN が変更になる側の基準に含まれます。中身が同じでも、取引単位としては別物として扱う必要がある、という考え方です。
さらに、日本では 2019 年以降、一度使用した GTIN の再利用は原則できません。11
この 2019 年という時期は、GS1 Japan が国内向けに案内しているものです。11 海外の取引先やグローバル EC が絡む場合は、相手国の GS1 メンバー組織の運用と、GS1 総合仕様書側のルールもあわせて確認してください。同じ「再利用不可」でも、開始時期や経過措置まで同じとは限りません。
これを知らずに、GTIN を「空いたら再利用できる社内コード」みたいに扱っていると、古い商品情報や EC 上の履歴とぶつかります。商品マスタや外部公開データまで含めて、GTIN は長期に意味を保持するキー と考えたほうが安全です。
4.2 AI には固定長と可変長がある
GS1 の AI では、後ろに続くデータが固定長のものと可変長のものがあります。固定長でない AI の後ろに別の要素を続けるときは、FNC1 による区切りが必要です。GS1 の構文辞書でも、定義済み長の AI には * が付き、FNC1 が不要であることを表しています。4
例えば、ロット番号の AI (10) は可変長です。後ろに別の AI を連結するなら、受け側がどこで (10) の値が終わるかを判断できるようにしなければなりません。ここを雑に実装すると、見た目はそれっぽいのにパースできないバーコード ができます。
実務では、固定長の要素を前、可変長の要素を後ろに寄せると、区切りが減ってかなり安定します。12
文字で書くと、こういうことです。GTIN、有効期限、ロット番号を 1 本にまとめた例を挙げます。HRI の表記はこうなります。
(01)04912345678904(17)260331(10)ABC123
それぞれの長さは次のとおりです。
| AI | 内容 | 長さ |
|---|---|---|
(01) |
GTIN | 定義済み長(14 桁) |
(17) |
有効期限 YYMMDD | 定義済み長(6 桁) |
(10) |
ロット / バッチ番号 | 可変長(最大 20 文字) |
可変長の (10) を最後に置いているので、区切りは要りません。これを GS1-128 で読んだときのスキャナ出力は、先頭にシンボル体系識別子が付いて、こうなります。括弧は消えます。3
]C101049123456789041726033110ABC123
一方、同じ 3 要素を「ロットが先、有効期限が後ろ」で並べると、可変長の (10) が途中に入ります。この場合は、(10) の値がどこで終わるのかを受け側に伝える必要があるので、区切りとして FNC1 が入ります。FNC1 は、スキャナからは GS(ASCII 29)として送られてきます。
HRI : (01)04912345678904(10)ABC123(17)260331
スキャナ出力 : ]C10104912345678904 10ABC123 <GS> 17260331
(見やすさのため空白を入れています。実際は連続した1本の文字列です)
つまり、固定長を前に置くというルールは、見た目の整理ではなく、受け側のパースを 1 段簡単にするための設計 です。可変長を中間に置くほど、区切りの取りこぼしが増えます。
4.3 FNC1 は文字ではなく制御記号
FNC1 は「FNC1 という文字を入れる」という意味ではありません。GS1 Japan のベーシックガイドでも、FNC1 は GS1 標準バーコードに使用される制御記号であり、シンボル先頭で GS1 データであることを示したり、データセパレータとして使われたりすると整理されています。3
しかも、表現方法はバーコード種別で同じではありません。たとえば GS1 QR コードでは、モード指示子やデータセパレータの扱いが 1D と同一ではありません。3
ポイントは、内部表現、スキャナ出力、HRI 表示を同じ文字列だと思わない ことです。
4.4 スキャナが返す文字列も規格の一部だと思ったほうがよい
現場連携で見落とされやすいのが、スキャナがデコード後に付けるシンボル体系識別子です。GS1 Japan の資料では、たとえば GS1-128 が ]C1、GS1 DataMatrix が ]d2、GS1 QR コードが ]Q3 として上位システムに通知される例が示されています。3
これはバーコードにそのまま印字されているわけではなく、スキャナが「どの種類のシンボルを読んだか」を付加して送る情報 です。つまり、受け側は次のどちらかを先に決める必要があります。
- シンボル体系識別子を受け取って処理分岐する
- スキャナ側で抑制 / 変換して、アプリ側は正規化済み文字列だけ受ける
ここを決めないまま UI や DB を先に作ると、検品端末を変えた瞬間に一致判定が全部崩れます。
4.5 2D を載せればすぐ置き換えられるわけではない
GS1 の小売向け 2D ガイドでは、2D バーコードは将来の中心候補ですが、当面は移行期間であり、POS の 2D 対応が十分に広がるまで、2D だけでなく線形バーコードの併記が必要とされています。6
また、同じ 2D でも、GS1 DataMatrix は比較的読みやすくても、GS1 Digital Link を使う QR / Data Matrix の処理は、最新または更新済みのカメラ式スキャナやホスト側の対応状況に左右されます。67
「読めるスキャナがある」ことと、「自社の POS / WMS / ERP で業務として使える」ことは別です。
5. 実運用でハマりやすいポイント
5.1 GTIN を商品マスタの版管理なしで上書きする
GTIN の意味を途中で変えたり、過去の GTIN に別商品を割り当てたりすると、EC、受発注、在庫、分析、帳票、データベース登録が全部じわじわ壊れます。1011
実務では、GTIN を採番する担当と、商品マスタを更新する担当、ラベルを出す担当が分かれていることが多いです。なので、採番ルールだけでなく、変更申請と履歴管理の流れ まで作っておいたほうが安全です。
5.2 「括弧付き文字列」をそのまま入力仕様にしてしまう
GS1 の説明資料や HRI では、AI は (01) や (17) のように括弧で表されることが多いです。これは人が見て意味を区別しやすくするためです。6
一方で、スキャナ出力や内部パースでは、FNC1 やシンボル体系識別子を含む別表現になります。 つまり、表示用の文字列と、機械処理用の文字列を分ける ほうが安全です。
5.3 「読めた」だけで検収しない
GS1 では、無効な AI の組み合わせや、特定の AI と必須で組み合わされる AI も定義されています。43
印字テストで 1 回読めたから終わり、では足りません。最低でも次は分けて確認したいです。
- シンボルとして読めるか
- 想定した文字列で受け取れるか
- AI の区切りと長さが正しいか
- 上位システムで業務ルールどおり解釈できるか
- 商品マスタ / 出荷データ / DB と整合するか
スキャン成功 = 業務成功 ではありません。
5.4 印字品質をモニタ上の見た目で判断しない
GS1 の総合仕様書には、X 寸法、クワイエットゾーン、品質評価のルールがあります。物流向けでは GS1-128 と 2D で要求される寸法や余白も異なります。1
用語の位置関係を、簡単な図にしておきます。
[ 余白 ][ ||| | || |||| | || |||| ][ 余白 ]
(1) (2) (1)
|
+-- (3) いちばん細いバー 1 本の幅 = X 寸法
(01)04912345678904(17)260331(10)ABC123 ... (4)
図の 4 か所は、それぞれこう対応します。
| 図の番号 | 要素 | 何か | 手を入れると何が起きるか |
|---|---|---|---|
| (1) | クワイエットゾーン | シンボル両端の余白 | レイアウト調整で詰めると、条件のよい場所では読めるのに現場で読取率が落ちる |
| (2) | シンボル | バーとスペースの並び。機械が読む本体 | 拡大・縮小すると X 寸法も一緒に変わり、読取距離と読取率が変わる |
| (3) | X 寸法 | いちばん細いバー 1 本の幅 | 小さくしすぎると読めない。用途ごとに下限が決まっている |
| (4) | HRI | 人が読むための文字 | 括弧は表示用。スキャナが返す文字列とは別物なので、入力仕様の根拠にしない |
デザイン側から「ここに収めたいので少し小さくしたい」「余白がもったいないので詰めたい」という要望が来たとき、削ってよいのはこの図のどこでもありません。サイズを変えるなら、X 寸法とクワイエットゾーンを保ったまま全体を相似で縮めるか、シンボル体系そのものを見直します。
実運用では、次のような地味な要因で急に読取率が落ちます。
- ラベルプリンタの解像度と熱転写条件
- 段ボールやフィルムのにじみ
- 光沢面や反射
- 曲面への印字
- デザイン調整時の勝手な縮小
- 余白を詰めるレイアウト変更
なので、Illustrator や PDF 上で見えること ではなく、実際の印字物を実際の距離・角度・スキャナで読むこと を基準にしたほうがよいです。
5.5 複数バーコードを雑に並べる
小売向け 2D ガイドでは、複数バーコードの配置ルールが POS の処理速度に影響すると明記されています。6
実務では、次のような組み合わせで事故りやすいです。
- POS 用 JAN の近くにマーケティング用 QR を置く
- 線形と 2D を近接させすぎる
- 期限やロットの HRI を読みにくい場所へ押し込む
- 背面・側面・吊り下げタグでスキャン方向が揃っていない
複数コードは「載るかどうか」だけでなく、どちらを優先して読ませたいか まで決めてはじめて設計と言えます。
5.6 どの AI が現場で本当に使われるかを確認していない
GS1 の小売 2D ガイドでも、すべての小売業者がすべての AI を使えるわけではなく、どの AI が利用可能かは読み取り場所によって変わるとされています。13
たとえば、メーカーは GTIN + 有効期限 + ロットまで入れたいとしても、受け側が GTIN しか使わないなら、その価値は上流にしか出ません。逆に、現場で期限を使うつもりなら、WMS / 棚卸 / 廃棄判定まで含めて対応が必要です。
入れるデータ と 使うデータ を分けて確認したほうが、導入は進めやすいです。
6. 規制や業界要件が強い例
6.1 小売の 2D 移行
GS1 は小売 POS 向け 2D バーコードの標準化と移行ガイドを整備しており、将来的には 2D を中心にしていく方向です。ただし、現時点では移行期で、POS 側の読取と処理能力が十分に広がるまで、線形との併記が現実的です。67
なので、B2C 商材で 2D を載せるときは、少なくとも次を別々に確認したほうがよいです。
- スキャナが読めるか
- ホスト POS が解釈できるか
- 線形コードを残す必要があるか
- HRI と配置がレジ運用に耐えるか
6.2 日本の医療機器等
日本の医療機器、体外診断用医薬品等では、包装単位ごとの商品コードと製造識別子の表示、バーコードシンボル体系としての GS1-128 または GS1 DataMatrix など、かなり具体的な運用が通知で示されています。9
ここで重要なのは、GS1 が「民間の便利ルール」に留まらないことです。 実際には、法令、通知、業界ガイドライン、データベース登録、病院や流通側の運用 が GS1 を前提に積み上がります。
この手の分野では、「社内で読めるから OK」ではなく、制度・取引先・現場運用に合わせて GS1 を使う 発想が必要です。
7. 導入を進める順番
バーコード導入を壊れにくく進めるなら、順番はだいたい次の形がまとまりやすいです。
-
業務ユースケースを決める POS なのか、入出荷検品なのか、トレーサビリティなのか。
-
識別キーを決める GTIN か、GTIN-14 か、SSCC か。必要なら GLN なども含める。
-
必要な属性を決める ロット、有効期限、シリアル、重量、価格など、AI 単位で決める。
-
シンボルを決める EAN/UPC、ITF、GS1-128、GS1 DataMatrix、GS1 QR コードのどれが自然か。
-
スキャナ出力仕様を決める シンボル体系識別子を受けるか、FNC1 をどう正規化するか、ホストに何を渡すか。
-
商品マスタと変更ルールを決める GTIN の新規付番、変更、廃番、再利用不可、履歴管理を明文化する。
-
現物で印字検証する 実際のラベル、実際の包装材、実際のスキャナ、実際の距離で確認する。
-
業務テストまで行う 「読める」ではなく、「棚卸・検品・出荷・期限管理まで回る」を見る。
この順番と同じくらい大事なのが、誰がどのステップを持つかです。ここを決めずに進むと、5 と 6 が誰の仕事でもないまま残ります。組織によって呼び方は違いますが、目安はこうです。
| ステップ | 主担当の例 | 巻き込む相手の例 |
|---|---|---|
| 1. 業務ユースケースを決める | 業務部門(物流、営業、品質) | 情シス |
| 2. 識別キーを決める | 商品マスタ管理、商品部 | 情シス、取引先 |
| 3. 必要な属性を決める | 業務部門 | 品質保証、取引先 |
| 4. シンボルを決める | 情シス | パッケージデザイン担当、印刷会社 |
| 5. スキャナ出力仕様を決める | 情シス | 端末ベンダー、基幹システム担当 |
| 6. 商品マスタと変更ルールを決める | 商品マスタ管理 | 情シス、営業、EC 担当 |
| 7. 現物で印字検証する | 現場(倉庫、製造) | 印刷会社、情シス |
| 8. 業務テストまで行う | 業務部門 | 情シス、取引先 |
5 のスキャナ出力仕様だけは、業務部門から要望が出てくることがほぼありません。情シス側から先に提案しないと、端末を入れ替えたときに初めて問題になります。
結局のところ、ラベル作成ソフトを選ぶ前に、受け側の仕様を決める ほうが近道です。
8. まとめ
GS1 などのバーコード規格で最初に大事なのは、 番号・属性・シンボル・読取後の処理を別々に考えること です。
- GTIN は商品を識別するキー
- AI はデータの意味とフォーマット
- GS1-128 / GS1 DataMatrix / GS1 QR コードは表現手段
- 品質、配置、FNC1、スキャナ出力、商品マスタ運用まで含めて実装
ここを分けて設計すると、バーコードが「ただ印字できるもの」から、取引先や現場と共有できる業務インターフェースになります。
逆に、ここを混ぜたまま進めると、 バーコードは読めるのに、在庫や検品やトレーサビリティが壊れます。
GS1 を使うときは、 どのコードを付けるか より先に、誰が何を読み、どのシステムで何に使うか を決めるところから始めるのが実務的です。
9. 参考資料
-
GS1 / GS1 Japan, GS1 General Specifications, GS1 Japan 公開 PDF ↩ ↩2 ↩3 ↩4
-
GS1, GS1 Application Identifiers, GS1 Barcode Syntax Resource User Guide ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
GS1 Japan, GS1-128シンボル, SSCC(出荷梱包シリアル番号) ↩ ↩2 ↩3
-
GS1, 2D Barcodes at Retail Point-of-Sale Implementation Guideline ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
GS1 Support, What 2D barcodes can be read at Point-of-Sale scanners today? ↩ ↩2 ↩3 ↩4 ↩5
-
GS1 / GS1 Japan, GS1 DataMatrix Guideline, GS1 データマトリックスガイドライン(日本語 PDF) ↩ ↩2 ↩3
-
厚生労働省, 医療機器を特定するための符号の容器への表示等について ↩ ↩2
-
GS1 Japan, GTINが変更になる10の基準, GTIN設定ガイドライン ↩ ↩2 ↩3
-
GS1 Japan, GTIN再利用停止について ↩ ↩2 ↩3
-
GS1, GSCN 16-154 - pre-defined length element strings should appear before variable length element strings ↩
-
GS1, 2D Barcodes at Retail Point-of-Sale Implementation Guideline - common AI support varies by retailer / use case ↩
関連する記事
同じタグを共有する最新の記事です。さらに近い話題で知識を深められます。
QRコードの読み取り値をそのまま使ってはいけない ── 誤り訂正が通っても値は保証されない
QRコードの誤り訂正は、訂正が通れば値が正しいと保証する仕組みではありません。サンプル画像と2種類のデコーダによる実測から、汚れの当たり方しだいで別の値として読めてしまう理由と、業務システム側に必要な検証を解説します。
マルチスレッドの実務ベストプラクティス Java編 ── 仮想スレッド時代の定石
Javaのマルチスレッドはスレッドを直接作らずExecutorServiceと仮想スレッドに乗るのが定石。synchronizedとReentrantLockの使い分け、割り込みによる協調停止、ConcurrentHashMapの原子操作、SwingのEDTまで実務の原則を...
マルチスレッドの実務ベストプラクティス C言語編 ── Win32 APIの流儀で安全に書く
C言語×Win32のマルチスレッドは、_beginthreadexでのスレッド作成、SRWロックと条件変数、Interlocked、停止イベント+WaitForMultipleObjectsの停止設計が定石。TerminateThreadの危険とDllMainの制約まで整理...
マルチスレッドの実務ベストプラクティス C++編 ── RAIIとjthreadで事故を構造から消す
C++のマルチスレッドはデータ競合が未定義動作になる世界。std::threadのデストラクタの罠、jthreadとstop_tokenによる停止設計、scoped_lockのデッドロック回避、atomicの正しい位置づけ、Win32同期APIとの使い分けまで整理します。
マルチスレッドの実務ベストプラクティス .NET編 ── スレッドを増やす前に決めておくこと
「スレッドを立てたら、たまに落ちる・固まる」を防ぐ設計の定石を.NET/C#向けに整理。スレッドを自分で作らずTaskに乗る、共有可変状態を減らす、ロックの規律、CancellationTokenでの停止設計、UIスレッドの扱いまで解説します。
関連トピック
このテーマと近いトピックページです。記事を起点に、関連するサービスや他の記事へ進めます。
Windows技術トピック
Windows 開発、不具合調査、既存資産活用の技術トピックをまとめた入口です。
よくある質問
この記事のテーマについて、相談時によくある質問をまとめています。
- GTINとバーコードの種類は何が違うのですか?
- GTINは商品識別コードで、EAN/UPC、ITF、GS1-128、GS1 DataMatrix、GS1 QRコードはその表し方(データキャリア)です。ここを混ぜると設計が崩れます。GTINにはGTIN-8 / 12 / 13 / 14があり、日本ではGTIN-13とGTIN-8がJANコードとして広く使われています。GTIN-13は単品や最小取引単位、GTIN-14はケースやボールなどの集合包装で使われます。GTINは「どの商品か」を表すキーであって、ロットや期限を兼ねるものではありません。
- GS1アプリケーション識別子(AI)とは何ですか?
- GTINに追加で持たせる属性の意味とフォーマットを決める、2桁から4桁の数字です。代表例は(01)GTIN、(00)SSCC、(10)ロット/バッチ番号、(17)有効期限、(21)シリアル番号です。AIがあることで、複数のデータを1本のバーコードに入れても、受け側が意味を取り違えにくくなります。AIには固定長と可変長があり、可変長AIの後ろに別の要素を続けるときはFNC1による区切りが必要です。
- GS1-128はCode 128と同じものですか?
- 同じではありません。GS1-128はCode 128のGS1用subsetで、GS1のルールに沿うことを示すためにFNC1を使い、AIの構文でデータを並べます。同様に、GS1 DataMatrixはData Matrixの、GS1 QRコードはQRコードのGS1用subsetです。つまり「Code 128が作れる」ことと「GS1-128を正しく作れる」ことは同じ意味ではありません。
- 一度使ったGTINを別の商品に再利用できますか?
- 日本では2019年以降、一度使用したGTINの再利用は原則できません。GTINを「空いたら再利用できる社内コード」のように扱うと、古い商品情報やEC上の履歴とぶつかります。また、GS1 Japanは「GTINが変更になる10の基準」を整理しており、サイズ・内容量・荷姿・販売単位・表示責任に関わる変更では新しいGTINが必要になることがあります。商品マスタや外部公開データまで含めて、GTINは長期に意味を保持するキーと考えるべきです。