商品マスタの作り方|何を1商品コードにするか(粒度)を先に決める3つの問い
項目を並べる前に、何を1つと数えるかを決める
商品マスタの作り方の結論|先に決めるのは項目ではなく粒度
商品マスタの作り方を調べると、必要な項目の一覧が出てきます。ただ、実際に手が止まるのは項目ではありません。同じ名前で中身が少し違うものを、1つの商品として登録するのか、別々に登録するのか。この線引きが決まっていないと、項目をいくら揃えても登録する人によってばらつきます。先に決めるのは粒度です。
- 何を1つの商品コードにするか(粒度)を先に決める。項目の並べ方はその後で決まる
- 粒度は3つの問いで決める。別々に数えたいか/価格が別々に動くか/顧客が言い分けるか
- 後から細かくすることはできるが、粗くまとめ直すのは難しい。迷ったら分ける側に倒す
商品マスタは、自社が扱う商品を1件ずつ登録した台帳です。在庫、受注、請求、分析のすべてが、ここに登録されたコードを手がかりに動きます。裏を返すと、ここでの数え方が違っていると、その先で作る数字は全部その数え方に引きずられます。
この記事は、商品マスタを新しく作る、あるいは作り直す場面で、何を1つの商品コードにするかの決め方に絞ります。取引先マスタの持ち方は取引先マスタの責任者設計、システムをまたいで同じ商品を同じものだと見なすための考え方はシステム連携の進め方(正本・共通ID・接続方法)が扱います。
つまずくのは項目ではなく、粒度
商品マスタが使えない状態になっているとき、症状はだいたい次のどれかです。同じ商品が複数行で登録されている。逆に、違うものが1行にまとまっていて内訳が分からない。在庫数は出るのに、原価や粗利は出せない。担当者が代わると登録の仕方が変わる。
これらは項目が足りないから起きているのではありません。何を1つと数えるかが決まっていないので、登録する人がその場で判断しているから起きています。判断が人によって違えば、台帳は人数ぶんの数え方の混ざったものになります。
粒度は「細かいほど正確」ではありません。細かくするとコードの数が増え、登録の手間と選び間違いが増えます。粗くすると登録は楽ですが、内訳を出したくなった日に出せません。どちらに寄せるかは、この先の業務で何を別々に扱うかで決まります。
粒度を決める3つの問い
迷った商品について、次の3つを順番に確認します。1つでも「はい」なら別コードにします。
別々に数えたいか
在庫として本数・個数を別々に持ちたいなら、別コードにします
同じ品名でも規格違いを別々に数えたいなら別コード。数えるのは合計だけでよく、内訳は現物を見れば足りるなら同じコードのままにします
価格が別々に動くか
仕入価格や販売価格が別々に変わるなら、別コードにします
同じ品名でも、入荷した時期や規格によって値段が違う運用をしているなら、同じコードに入れた時点で原価も粗利も出せなくなります
顧客が言い分けるか
注文や問い合わせのときに、相手がその違いを口に出すなら、別コードにします
相手が品名しか言わず、違いは店側が判断している場合、コードを分けても現場では選べません。分けるなら、選ぶための手がかりを同時に用意します
3つ目は見落とされがちです。台帳の上で分かれていても、注文を受ける現場で「どちらか」を選べないなら、選び間違いが起きます。相手が品名しか言わず、違いを店側が判断している商品は、コードを分けるのと同時に、どちらかを選ぶための手がかり(過去にその相手へ何を出したか)を引ける状態にしておきます。手がかりが無いまま分けると、いま担当している人の記憶に依存したままコードだけが増えます。
3つとも「いいえ」なら、コードは分けません。違いは商品名や属性の欄に書いておけば足ります。たとえば箱の色が違うだけで、数え方も値段も同じで、相手も色を指定しないなら、それは1つの商品です。
細かくするのは後からできるが、粗くは戻せない
粒度の判断で迷ったときは、分ける側に倒します。理由は、後からの直しやすさが非対称だからです。
1つのコードを2つに分けるのは、新しいコードを作って、そこから先の登録をそちらへ向ければ済みます。過去の伝票はもとのコードのまま残りますが、いつから分けたかが分かっていれば、期間を区切って読めます。
逆に、2つのコードを1つにまとめるのは、それぞれのコードを参照している在庫の行、過去の受注、請求、分析のすべてについて、どちらに寄せるかを決める作業になります。まとめたあとで「やはり分けたい」となっても、まとめた時点で内訳が消えているので戻せません。
この非対称性は、既存のデータを別のシステムへ移すときにも同じ形で出てきます。移す前に構造を確認する手順はデータ構造の棚卸しにまとめています。
表記ゆれは、コードを決めた直後に1箇所へ固定する
粒度が決まったら、次は書き方です。外来語のカタカナ表記、英数字の全角と半角、メーカー名や産地の書き方。ここがゆれると、台帳の上では別の行に見えて、検索でも当たりません。
やることは難しくありません。書き方の決まりを1枚にまとめ、登録するときはそれを見る、というだけです。効くのはタイミングのほうで、コードを決めた直後、本格的な登録を始める前に置きます。登録が進んでから作ると、それまでに入った行を直す作業が先に発生します。
決めるのは、迷いやすいものだけで足ります。長音を伸ばすかどうか、数字は半角に統一するか、メーカー名は正式名称か通称か、同じ意味の言葉が複数あるならどれを使うか。全部の言葉を辞書にしようとすると終わらないので、実際にゆれたものを見つけるたびに書き足す形にします。
名前だけを頼りに同じものかどうかを判断しないという原則は、顧客側のデータでも同じです。すでにゆれてしまったリストを後から突き合わせる作業の重さは、名寄せをエクセルでやる手順を読むと分かります。この作業を発生させないために、先に書き方を決めます。
自社の商品コードと、JANコードの役割を分ける
商品に付いているバーコードをそのまま自社の商品コードとして使う設計は、途中で行き詰まることがあります。役割が違うためです。
JANコードは社外との共通の言葉です。GS1 Japan(一般財団法人流通システム開発センター)が管理していて、利用するにはGS1事業者コードの登録申請と、その後の更新手続きが必要です。自社の都合で好きに増やせるものではありません。
自社の商品コードは、社内で何を1つの商品と数えるかを表すものです。決めるのは自分たちで、この記事の3つの問いで粒度を決めます。両方を持っておくと、JANの付いていない商品や、JANは同じでも自社では分けたい商品を、同じ台帳の上に並べられます。逆に、JANだけで台帳を作ると、JANが無い商品が台帳に載らなくなります。
社外の共通コードが付いていない商品をどう扱うかは、JANコードがない商品の管理方法(自社コードの採番と、現物に貼れないときのラベルの置き場所)にまとめています。
項目は、後から足せるものと足せないものを分ける
粒度と書き方が決まってから項目を考えます。ここで基準になるのは「後から足せるか」です。
後から足せるのは、いまの商品を見れば埋められる項目です。分類、仕入先、標準の販売価格、保管の条件。空欄のまま登録を始めても、必要になったときに現物や書類を見て埋められます。
後から足せないのは、その時点でしか分からない項目です。入荷した日、そのとき何本入ったか、そのときの仕入価格。登録の時に取らなかったものは、後から遡って作れません。この区別を先に付けておくと、最初の登録で何を必ず埋めるかが決まります。
項目を増やすほど登録は重くなり、埋まらない欄が増えます。埋まらない欄が並んだ台帳は、見る人が「この欄は当てにならない」と学習して、やがて誰も見なくなります。必ず埋める項目を少なく決めて、それ以外は任意にするほうが、台帳としては長く使えます。
効果は、マスタの中で数えられる
商品マスタを整えた効果を売上で測ろうとすると、他の要因と混ざって判定できません。台帳から数えられる項目に絞り、整えた日に1回数えて、3ヶ月後にもう一度数えます。
- 同じ商品が複数のコードで登録されている件数
- 必ず埋めると決めた項目が空欄の行の数
- 新しい商品を1件登録するのにかかる時間と、登録できる人の数
- 直近3ヶ月で、コードの選び間違いが原因で起きた訂正の件数
3つ目の「登録できる人の数」が1人のままなら、台帳は整っていても業務としては属人化したままです。粒度と書き方が文章になっていれば、この人数は増やせます。
来週の一歩:迷った商品を10件選んで、3つの問いに答える
最初から全商品を対象にしません。登録の仕方で迷ったことのある商品、あるいは同じ名前で複数行ある商品を10件だけ選びます。
その10件について、3つの問いに「はい/いいえ」で答えます。答えを書いていくと、自社にとって何が別の商品なのかが文章になります。この文章が、商品マスタの作り方でいちばん大事な部分です。
10件のうち、3つの問いのどれでも判断が割れるものが出てきます。割れたものには印を付けて、実際に注文を受けている人と在庫を数えている人の両方に聞きます。マスタは片方の都合だけで決めると、もう片方が使えないものになります。
どの業務から整えるか自体で迷う場合は、3分の事業基盤診断が使えます。選択式の8問で、先に整える業務と、いまは触らない業務が分かれます。分けるところまでで、マスタの粒度そのものを判定するものではありません。
よくある質問
商品マスタの粒度は細かくするほど良いのですか?
細かいほど良いわけではありません。粒度を細かくすると、コードの数が増え、登録の手間と選び間違いが増えます。判断の基準は細かさではなく、その違いを別々に数えたいか、値段が別々に動くか、相手が言い分けるかです。3つとも当てはまらない違いは、コードを分けずに商品名や属性の欄で持てば足ります。
商品コードとJANコードは同じものですか?
役割が違います。JANコードは社外との共通の言葉で、GS1 Japanへの登録申請と、その後の更新手続きが要ります。自社の商品コードは社内で何を1つの商品と数えるかを表すもので、自分たちで決められます。JANコードが商品に付いている場合でも、自社の商品コードを別に持っておくと、JANが無い商品や、JANが同じでも自社では分けたい商品を同じ台帳に載せられます。
商品マスタの表記ゆれは後からまとめて直せませんか?
直せますが、直す作業は増え続けます。ゆれたまま登録が進むと、同じものが複数の書き方で入り、あとで統合する作業が発生します。統合すると、その商品を参照している過去の伝票や在庫の行をどう扱うかという判断も一緒に出てきます。コードを決めた直後に、書き方の決まりを1箇所に置いて、そこを見ながら登録するほうが早く終わります。
泉 款太(いずみ かんた)
株式会社SalesDock 代表取締役
慶應義塾大学法学部卒。スタートアップ、ラクスル、リクルート(SUUMO)を経て2025年に独立。 中小企業の経営・営業・業務・データをつなぐ事業基盤の設計と実装を支援。 不動産・製造業・クリニックを中心に、累計40社以上の支援に携わる。
運営は株式会社SalesDock(大阪市中央区本町)。中小企業向けに、AI内製化(初期構築15万円+月額10万円・90日)と、 そのあとのAI顧問(月額5万円・6ヶ月契約から)を提供しています。価格は税別です。 大阪・関西を中心に、オンラインで全国からのご相談に対応しています。
代表者情報を読む →この記事の数値について
本文中に一次資料へのリンクがある数値は、リンク先を出典としています。 リンクのない業務設計、判断基準、実務上の目安は、SalesDockが累計40社以上の支援と自社運用で得た知見を一般化したものです。 個別企業での成果を保証する数値ではなく、条件によって変わります。