チェックデジットの仕組み
小売バーコードの最後の 1 桁は、商品番号の一部ではありません。前の桁から計算される検査数字で、その唯一の仕事は、打ち間違えた番号が黙って別の商品を指すのではなく、その場で失敗するようにすることです。ツールが「無効な番号です」と言うとき、原因はほぼこれで、計算は紙の上でできます。
計算の手順
チェックデジットを除いた桁を取り、**右から左へ**読みます。1 番目を 3 倍、2 番目を 1 倍、3 番目を 3 倍、4 番目を 1 倍……と交互に掛けます。結果を合計します。チェックデジットは、その合計を次の 10 の倍数にするために足りない数です。形式的には、10 から「合計を 10 で割った余り」を引いた値で、10 になった場合は 0 とします。同じ手順で EAN-13、EAN-8、UPC-A、ITF-14 のチェックデジットが求まります。違うのは前にある桁数だけです。
計算例
12 桁の 590123412345 を使います。右から順に、5×3 + 4×1 + 3×3 + 2×1 + 1×3 + 4×1 + 3×3 + 2×1 + 1×3 + 0×1 + 9×3 + 5×1。つまり 15 + 4 + 9 + 2 + 3 + 4 + 9 + 2 + 3 + 0 + 27 + 5 で合計 **83**。次の 10 の倍数は 90 なので、チェックデジットは **7**、完全な EAN-13 は 5901234123457 になります。アプリに 12 桁を入れれば 7 を付け足し、13 桁を入れれば最後の桁を検証します。
番号が無効と返る理由
四つの原因でほぼ説明がつきます。**桁数が合っていない** — EAN-13 は 12 桁か 13 桁を求めており、14 桁の番号は EAN ではなく ITF-14 です。文字列に**空白・ハイフン・英字**が混ざっている。**2 桁が入れ替わっている** — 検査数字はまさにこれを捕まえるためにあります。あるいは商品の写真から書き写して 1 桁を読み違えた。8 と 3、5 と 6 がよくある組み合わせです。バーの下に印字された数字から打ち直すと、たいていは解決します。
チェックデジットが語らないこと
証明できるのは、その番号が自分自身と整合しているということだけです。その番号が**あなたのものか**、どこかの商品に登録されているか、他社がすでに使っていないかは何も語りません。検査を完璧に通り抜けても、別の会社の商品番号であることはあり得ます。店頭で売るものにバーコードを付けるなら、その番号は自社に割り当てられている必要があります。SKU・バーコード・GTIN の記事を参照してください。
よくある質問
チェックデジットとは何ですか?
小売バーコード番号の最後の 1 桁で、前の桁から計算されます。打ち間違いや読み違いがあった番号が、別の商品に一致してしまう前に失敗するようにするためのものです。
EAN-13 のチェックデジットを手計算するには?
右から順に 3 と 1 を交互に掛けて合計し、次の 10 の倍数までの不足分を取ります。
UPC-A も同じ式ですか?
同じです。EAN-8 と ITF-14 も同じ計算で、前にある桁数だけが違います。
12 桁と 13 桁、どちらを入力しますか?
どちらでも構いません。12 桁ならアプリが 13 桁目を計算し、13 桁なら最後の桁を検証します。
検査は通るのにレジで商品が出てきません。
検査数字は番号の形が正しいことしか示しません。レジで認識されるには、その番号が小売側のシステムでその商品に登録されている必要があり、これはまったく別の話です。
検査を通る番号を自分で作ってもよいですか?
計算上は作れますし、社内在庫なら問題ありません。店頭販売用としては不可です。その番号は他社の範囲に属してしまいます。
買ったラベル用紙にぴったり合う面付けを。 Label Sheet は宛名ラベル、SKU バーコード、配送ラベルをお使いの用紙の実寸ミリで組み、100 パーセントで印刷できる PDF を書き出します。データはブラウザから出ません。
ブラウザでラベル面を作る