商品情報をどう持たせるか。出品URL、商品コード、仕入先別単価の管理方法

商品情報をどう持たせるか。出品URL、商品コード、仕入先別単価の管理方法

実装項目は決まった!さて、どう実装しよう。

EC業務のシステム化で実装したい機能①~③で実装する機能は固まりました。次はレコードの関連性を考えていきます。データリレーションの肝となる商品URLと出品情報、商品情報、仕入についてまとめてみます。

  1. 同一商品のサイズ情報などは重複して管理したくない
  2. 出品URLは店舗内での重複はないが出品商品の重複はある(コピー出品など)
  3. 選択肢出品やセット販売があるため、1つのURLに複数の商品(SKU)がぶら下がる事がある
  4. 同一商品でも複数の仕入先があり原価と納期が異なる
  5. 異なる商品で同じ品番を持つ場合がある
  6. JANのない商品がある
  7. 多モール出品の為、同じ商品情報を複数のモールで利用したい

ECを始めた当初、私は項目5で苦労しました。当時はデータをエクセルで管理していたのですが、品番を鍵として商品管理をしようとしたところ同一品番の別商品が出てきてしまい参照関数(VLOOKUPとかMATCH)が使えない。まぁそれに気づかず仕入先データから原価読込んで赤字販売をしてしまった事がありました。だからこそ、keyをどうするか最初の設計が大事だと考えています。

商品情報は出品単位でまとめる

楽天市場では選択肢出品をしている場合、JANの記載が免除されます(2018/08/18現在)。また、商品情報をSKUで管理した場合、(サイズ情報等)同じ値の入力が増え作業量の増加につながります。これは創るシステムの目的と合致しません。という事で、今回は出品単位をkeyとした商品管理を考えます。

  • SKU毎に出品する場合 ⇒ それぞれに出品コードを配布
  • 選択肢出品をする場合 ⇒ 親を作り出品コードを配布
  • 組合わせ出品する場合 ⇒ 組合わせ単位に出品コードを配布

出品単位ごとにコードを配布し管理すれば、コピー出品や複数モールのデータ生成も同じ出品コードと紐づけるだけで済みます。

出品URLは自動採番をkeyにしてモールコードと一緒に管理する

出品URLを品番にしている場合、複数のモールで同じURL番号が利用されてることになります。この場合、唯一番号とならない為、独自にkeyとする管理番号が必要です。また、他のモール用の番号で出品しない様に【モールフラグ + 出品URL】で目的の値が取り出せるように設計します。ここは自動採番を有効活用しkeyを作る事とします。

SKUは自動採番をKeyにして個別商品名と一緒に管理する

上で触れたように、同じ商品番号が出現する可能性があります。そのため、SKU =key とするわけにはいきません。そのため、自動採番を鍵として利用する必要があります。また、商品コードだけでは何者なのか判断できないので、メーカー商品名と共に管理します。

商品情報とSKUの間にコネクタテーブルを用意する

商品情報は出品単位でまとめました。その為、組合せ出品や選択肢出品など引き当てるSKUが1つではない鍵番号もあります。そこで、コネクトテーブルを用意してコードチェンジを行います。在庫管理を実装する場合はこの簡易的な方法では解決できないと思いますが、今回は出品データを作成することが目的です。在庫状況、仕入先毎の原価、といった情報にアクセスできれば良いので単純なコネクタテーブルでリレーションを貼れば目的は達成できると考えています。

仕入原価はSKUに紐づけ、仕入先コードと一緒に管理する

ネクストエンジンを含め、通常のアプリでは1商品につき1つの原価登録しかできません。この方が計算は間違いがないので良いのですが、同じ商品を複数の取引先から仕入れられるのにその情報を消して1社のみ登録した場合、仕入先の急な欠品に対して処置が出来ません。他から仕入れて対応できるのにです。そのため、今回作るシステムでは1つの商品に対し複数の仕入先とその原価を登録していきたいと考えています。これは、SKUの自動採番コード、仕入先コード、商品原価、仕入単位を記載したテーブル作成で対応できそうです。