Odoo product master

Odooにおける **「プロダクト(商品マスタ)」と「プロダクトバリアント(品目バリエーション)」**は、販売・在庫・請求すべての根幹になる構造です。
以下に、設定項目とデータ構造の関係を明確にご説明します。


✅ 用語の定義

用語モデル名説明
プロダクト(Product Template)product.template商品の共通情報(例:Tシャツ)を定義
プロダクトバリアント(Product Variant)product.productバリエーションごとのSKU(例:赤のMサイズ)を定義

✅ 構成関係(テンプレートとバリアントの関係)

cppコピーする編集するproduct.template(テンプレート)
     ↓ 1対多
product.product(バリアント)
  • 1つのテンプレート(product.template) が、複数のバリアント(product.product) を持つ
  • バリアントが1つしかなければ、テンプレートとバリアントはほぼ同一に扱われます(UI上は「単一バリアント」と見える)
✅ 設定できる項目(販売画面から編集できるもの)
🟦 product.template(テンプレートレベル=共通設定)
項目分類主な設定項目
一般情報商品名、内部参照、商品タイプ(消耗品/在庫/サービス)
販売売上価格、販売可否、請求ポリシー(注文/納品)
購買仕入価格、仕入先、自動再発注ルール
在庫保管場所、リードタイム、ルーティング
会計会計カテゴリ、収益勘定、原価計算方式
バリアント構成属性(色・サイズなど)を追加
その他単位(UoM)、通貨、追跡(ロット/シリアル)、説明文など
🟧 product.product(バリアントレベル=個別SKU)
項目分類主な設定項目
属性値例:色=赤、サイズ=M
バーコードSKUごとのバーコード
コスト価格仕入価格が異なる場合に調整可能(テンプレートと異なる)
特定価格設定プライスリストなどでSKU単位に価格差がある場合
トラッキングロット/シリアルでSKU単位の在庫管理
画像・説明(任意)SKUごとに差別化したい場合に使う
機能product.templateproduct.product
商品の説明・基本価格❌(継承)
在庫管理❌(集約)✅(SKU単位)
請求・出荷伝票✅(バリアントごとに記録)
ロット/シリアル番号✅(SKU単位)

✅ バックエンドのつながり(技術視点)

関係フィールド内容
product.templateproduct.productproduct_tmpl_id各バリアントはテンプレートを参照
product.productproduct.templateproduct_variant_ids(逆参照)テンプレートはバリアントリストを持つ
在庫や請求など常に product.product 単位で記録SKUベースでトラッキングされる

🧩 モデル構成図(簡略)

product.template(Tシャツ)
├─ product.product(Tシャツ/赤/M)
├─ product.product(Tシャツ/赤/L)
└─ product.product(Tシャツ/青/M)

✅ よくある誤解

誤解正確な理解
「商品は product.product に全部入っている」正確には 共通情報が template にあり、バリエーションが product にある
「在庫も template にある」実際には在庫は 常に product.product(SKU)単位 で管理

✅ UIでの使い分け

  • 販売画面の「商品」メニューから編集すると、通常は product.template を対象とします
  • 属性(サイズや色)を追加すると、自動的に product.product が生成されます
  • 「バリアント」タブを開くと SKU ごとの個別編集が可能


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です