working
This commit is contained in:
1 parent
d7c55d444b
commit
e8e52e0875
9 files changed
+1194
No files matched your search
@@ -0,0 +1,458 @@
|
||||
# Table: `product_product`
|
||||
|
||||
**Model:** `product.product`
|
||||
**App:** `product` (with many integrations)
|
||||
**Description:** Produktvariante (Product Variant) - Odoo's core product/product variant management
|
||||
**Type:** Basisobjekt (Base object)
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This is Odoo's standard product variant table, storing detailed product information including variants, pricing, inventory settings, and descriptions. It serves as the central product catalog for all Odoo modules including sales, purchase, inventory, accounting, and manufacturing.
|
||||
|
||||
**Important:** The `default_code` field is used as the SKU (Stock Keeping Unit) throughout the system, including in Amazon integration and inventory tracking.
|
||||
|
||||
---
|
||||
|
||||
## Fields
|
||||
|
||||
### Core Identifier Fields
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `id` | `id` | Ganzzahl (Integer) | Primary key / Record ID |
|
||||
| `display_name` | `display_name` | Zeichen (Char) | Display name of the record |
|
||||
| `name` | `name` | Zeichen (Char) | Product name |
|
||||
|
||||
### Activity Tracking
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `create_date` | `create_date` | Datum/Zeit (Datetime) | Created on - Timestamp when record was created |
|
||||
| `create_uid` | `create_uid` | Many2One | Created by - Reference to user who created the record |
|
||||
| `write_date` | `write_date` | Datum/Zeit (Datetime) | Last Updated on - Timestamp of last modification |
|
||||
| `write_uid` | `write_uid` | Many2One | Last Updated by - Reference to user who last modified the record |
|
||||
|
||||
### Product Identification
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `default_code` | `default_code` | Zeichen (Char) | **Internal Reference / SKU** - Primary SKU identifier used throughout the system |
|
||||
| `code` | `code` | Zeichen (Char) | Reference |
|
||||
| `barcode` | `barcode` | Zeichen (Char) | Barcode / EAN / UPC |
|
||||
| `unumber` | `unumber` | Zeichen (Char) | uNumber |
|
||||
| `x_studio_char_field_5ro_1j8nka2bt` | `x_studio_char_field_5ro_1j8nka2bt` | Zeichen (Char) | Custom text field |
|
||||
|
||||
### Product Categorization
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `categ_id` | `categ_id` | Many2One | Product category |
|
||||
| `product_tag_ids` | `product_tag_ids` | Many2many | Product template tags |
|
||||
| `all_product_tag_ids` | `all_product_tag_ids` | Many2many | All product tags |
|
||||
| `account_tag_ids` | `account_tag_ids` | Many2many | Accounting tags |
|
||||
| `additional_product_tag_ids` | `additional_product_tag_ids` | Many2many | Additional product tags |
|
||||
|
||||
### Product Attributes
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `attribute_line_ids` | `attribute_line_ids` | one2many | Product attributes (lines) |
|
||||
| `combination_indices` | `combination_indices` | Zeichen (Char) | Combination indices for variant matching |
|
||||
| `has_configurable_attributes` | `has_configurable_attributes` | Boolesch (Boolean) | Is a configurable product |
|
||||
| `product_template_attribute_value_ids` | `product_template_attribute_value_ids` | Many2many | Attribute values |
|
||||
| `product_template_variant_value_ids` | `product_template_variant_value_ids` | Many2many | Variant values |
|
||||
| `valid_product_template_attribute_line_ids` | `valid_product_template_attribute_line_ids` | Many2many | Valid product attribute lines |
|
||||
|
||||
### Product Template Links
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `product_tmpl_id` | `product_tmpl_id` | Many2One | Product template |
|
||||
| `product_variant_id` | `product_variant_id` | Many2One | Product |
|
||||
| `product_variant_ids` | `product_variant_ids` | one2many | Products |
|
||||
| `product_variant_count` | `product_variant_count` | Ganzzahl (Integer) | # Product variants |
|
||||
|
||||
### Pricing
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `list_price` | `list_price` | Gleitkommazahl (Float) | Sales price (catalog price) |
|
||||
| `lst_price` | `lst_price` | Gleitkommazahl (Float) | Sales price (list price) |
|
||||
| `standard_price` | `standard_price` | Gleitkommazahl (Float) | Cost (standard price) |
|
||||
| `price_extra` | `price_extra` | Gleitkommazahl (Float) | Price extra for variant |
|
||||
| `cost_method` | `cost_method` | Auswahl (Selection) | Costing method (Standard, FIFO, Average) |
|
||||
| `avg_cost` | `avg_cost` | monetär (Monetary) | Average cost |
|
||||
| `cost_currency_id` | `cost_currency_id` | Many2One | Cost currency |
|
||||
| `company_currency_id` | `company_currency_id` | Many2One | Company currency for valuation |
|
||||
|
||||
### Company and Currency
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `company_id` | `company_id` | Many2One | Company |
|
||||
| `currency_id` | `currency_id` | Many2One | Currency |
|
||||
| `country_of_origin` | `country_of_origin` | Many2One | Country of origin |
|
||||
|
||||
### Inventory Settings
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `detailed_type` | `detailed_type` | Auswahl (Selection) | Product type (Product, Service, Kit) |
|
||||
| `free_qty` | `free_qty` | Gleitkommazahl (Float) | Available quantity (free to sell) |
|
||||
| `incoming_qty` | `incoming_qty` | Gleitkommazahl (Float) | Incoming quantity |
|
||||
| `outgoing_qty` | `outgoing_qty` | Gleitkommazahl (Float) | Outgoing quantity |
|
||||
| `location_id` | `location_id` | Many2One | Default inventory location |
|
||||
| `warehouse_id` | `warehouse_id` | Many2One | Warehouse |
|
||||
| `property_stock_inventory` | `property_stock_inventory` | Many2One | Inventory location |
|
||||
| `property_stock_production` | `property_stock_production` | Many2One | Production location |
|
||||
| `property_account_creditor_price_difference` | `property_account_creditor_price_difference` | Many2One | Price difference account |
|
||||
| `property_account_expense_id` | `property_account_expense_id` | Many2One | Expense account |
|
||||
| `property_account_income_id` | `property_account_income_id` | Many2One | Income account |
|
||||
|
||||
### Quantity and Stock
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `bom_count` | `bom_count` | Ganzzahl (Integer) | Number of bills of material |
|
||||
| `bom_ids` | `bom_ids` | one2many | Bills of material |
|
||||
| `bom_line_ids` | `bom_line_ids` | one2many | Bill of material lines |
|
||||
| `variant_bom_ids` | `variant_bom_ids` | one2many | Bill of material product variants |
|
||||
| `mrp_product_qty` | `mrp_product_qty` | Gleitkommazahl (Float) | Manufactured quantity |
|
||||
| `used_in_bom_count` | `used_in_bom_count` | Ganzzahl (Integer) | # Bills of material where used |
|
||||
| `qty_available` | `qty_available` | Gleitkommazahl (Float) | Quantity on hand |
|
||||
| `virtual_available` | `virtual_available` | Gleitkommazahl (Float) | Forecasted quantity |
|
||||
| `nbr_moves_in` | `nbr_moves_in` | Ganzzahl (Integer) | Number of incoming moves |
|
||||
| `nbr_moves_out` | `nbr_moves_out` | Ganzzahl (Integer) | Number of outgoing moves |
|
||||
| `stock_move_ids` | `stock_move_ids` | one2many | Stock moves |
|
||||
| `stock_quant_ids` | `stock_quant_ids` | one2many | Stock quants |
|
||||
| `stock_valuation_layer_ids` | `stock_valuation_layer_ids` | one2many | Stock valuation layers |
|
||||
|
||||
### Country and Compliance
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `hs_code` | `hs_code` | Zeichen (Char) | HS Code (Harmonized System code for customs) |
|
||||
| `fiscal_country_codes` | `fiscal_country_codes` | Zeichen (Char) | Fiscal country codes |
|
||||
| `origin_area` | `origin_area` | Zeichen (Char) | Origin Area |
|
||||
| `valid_ean` | `valid_ean` | Boolesch (Boolean) | Barcode is a valid EAN |
|
||||
|
||||
### Expiration and Quality
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `alert_time` | `alert_time` | Ganzzahl (Integer) | Alert time (expiration warning) |
|
||||
| `expiration_time` | `expiration_time` | Ganzzahl (Integer) | Expiration time |
|
||||
| `use_expiration_date` | `use_expiration_date` | Boolesch (Boolean) | Use expiration date |
|
||||
| `use_time` | `use_time` | Ganzzahl (Integer) | Minimum shelf life |
|
||||
| `removal_time` | `removal_time` | Ganzzahl (Integer) | Removal date |
|
||||
| `product_expiry` | (module) | - | Product expiration tracking |
|
||||
| `quality_control_point_qty` | `quality_control_point_qty` | Ganzzahl (Integer) | Number of quality control points |
|
||||
| `quality_fail_qty` | `quality_fail_qty` | Ganzzahl (Integer) | Estimated failed quality controls |
|
||||
| `quality_pass_qty` | `quality_pass_qty` | Ganzzahl (Integer) | Estimated passed quality controls |
|
||||
|
||||
### Descriptions
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `description` | `description` | HTML | General description |
|
||||
| `description_picking` | `description_picking` | Text | Description for picking operations |
|
||||
| `description_pickingin` | `description_pickingin` | Text | Description for receipt operations |
|
||||
| `description_pickingout` | `description_pickingout` | Text | Description for delivery operations |
|
||||
| `description_purchase` | `description_purchase` | Text | Purchase description |
|
||||
| `description_sale` | `description_sale` | Text | Sales description |
|
||||
|
||||
### Status and Flags
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `active` | `active` | Boolesch (Boolean) | Is active |
|
||||
| `is_product_variant` | `is_product_variant` | Boolesch (Boolean) | Is a product variant |
|
||||
| `is_kits` | `is_kits` | Boolesch (Boolean) | Is a kit/assembly |
|
||||
| `landed_cost_ok` | `landed_cost_ok` | Boolesch (Boolean) | Is a landed cost product |
|
||||
| `sale_ok` | `sale_ok` | Boolesch (Boolean) | Can be sold |
|
||||
| `purchase_ok` | `purchase_ok` | Boolesch (Boolean) | Can be purchased |
|
||||
| `service_to_purchase` | `service_to_purchase` | Boolesch (Boolean) | Subcontractor service |
|
||||
| `exporto_sync` | `exporto_sync` | Boolesch (Boolean) | Exporto sync flag |
|
||||
| `exporto_synced_product` | `exporto_synced_product` | Boolesch (Boolean) | Exporto synced product flag |
|
||||
| `of_is_shopify_linked` | `of_is_shopify_linked` | Boolesch (Boolean) | Is Shopify product? |
|
||||
| `visible_expense_policy` | `visible_expense_policy` | Boolesch (Boolean) | Expense policy visible |
|
||||
|
||||
### Image Fields
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `image_1920` | `image_1920` | binär (Binary) | Product image (1920px) |
|
||||
| `image_1024` | `image_1024` | binär (Binary) | Product image (1024px) |
|
||||
| `image_512` | `image_512` | binär (Binary) | Product image (512px) |
|
||||
| `image_256` | `image_256` | binär (Binary) | Product image (256px) |
|
||||
| `image_128` | `image_128` | binär (Binary) | Product image (128px) |
|
||||
| `image_variant_1920` | `image_variant_1920` | binär (Binary) | Variant image (1920px) |
|
||||
| `image_variant_1024` | `image_variant_1024` | binär (Binary) | Variant image (1024px) |
|
||||
| `image_variant_512` | `image_variant_512` | binär (Binary) | Variant image (512px) |
|
||||
| `image_variant_256` | `image_variant_256` | binär (Binary) | Variant image (256px) |
|
||||
| `image_variant_128` | `image_variant_128` | binär (Binary) | Variant image (128px) |
|
||||
| `can_image_1024_be_zoomed` | `can_image_1024_be_zoomed` | Boolesch (Boolean) | Can zoom 1024 image |
|
||||
| `can_image_variant_1024_be_zoomed` | `can_image_variant_1024_be_zoomed` | Boolesch (Boolean) | Can zoom variant 1024 image |
|
||||
|
||||
### Color
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `color` | `color` | Ganzzahl (Integer) | Color picker value |
|
||||
|
||||
### INCI (Cosmetics)
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `inci_ids` | `inci_ids` | Many2many | INCI (International Nomenclature of Cosmetic Ingredients) |
|
||||
| `x_studio_inci` | `x_studio_inci` | Zeichen (Char) | INCI (custom field) |
|
||||
|
||||
### Product Packaging
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `packaging_ids` | `packaging_ids` | one2many | Product packaging |
|
||||
| `uom_id` | `uom_id` | Many2One | Unit of measure |
|
||||
| `uom_name` | `uom_name` | Zeichen (Char) | Unit of measure name |
|
||||
| `uom_po_id` | `uom_po_id` | Many2One | Purchase unit of measure |
|
||||
|
||||
### Product Properties
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `product_properties` | `product_properties` | properties | Properties |
|
||||
| `lot_properties_definition` | `lot_properties_definition` | properties_definition | Lot properties definition |
|
||||
|
||||
### Pricing and Accounting
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `pricelist_item_count` | `pricelist_item_count` | Ganzzahl (Integer) | Number of price rules |
|
||||
| `offer_count` | `offer_count` | Ganzzahl (Integer) | Number of offers |
|
||||
| `price_extra` | `price_extra` | Gleitkommazahl (Float) | Price extra for variant |
|
||||
|
||||
### Product Catalog
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `product_catalog_product_is_in_sale_order` | `product_catalog_product_is_in_sale_order` | Boolesch (Boolean) | Product catalog product is in sale order |
|
||||
| `product_document_count` | `product_document_count` | Ganzzahl (Integer) | Number of documents |
|
||||
| `product_document_ids` | `product_document_ids` | one2many | Documents |
|
||||
|
||||
### Routing and Route
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `route_ids` | `route_ids` | Many2many | Routes |
|
||||
| `route_from_categ_ids` | `route_from_categ_ids` | Many2many | Route category |
|
||||
|
||||
### Reordering Rules
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `orderpoint_ids` | `orderpoint_ids` | one2many | Reordering rules |
|
||||
| `nbr_reordering_rules` | `nbr_reordering_rules` | Ganzzahl (Integer) | Number of reordering rules |
|
||||
| `reordering_min_qty` | `reordering_min_qty` | Gleitkommazahl (Float) | Minimum reordering quantity |
|
||||
| `reordering_max_qty` | `reordering_max_qty` | Gleitkommazahl (Float) | Maximum reordering quantity |
|
||||
|
||||
### Supplier and Purchase
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `seller_ids` | `seller_ids` | one2many | Suppliers |
|
||||
| `variant_seller_ids` | `variant_seller_ids` | one2many | Variant suppliers |
|
||||
| `purchase_line_warn` | `purchase_line_warn` | Auswahl (Selection) | Purchase line warning |
|
||||
| `purchase_line_warn_msg` | `purchase_line_warn_msg` | Text | Purchase line warning message |
|
||||
| `purchase_method` | `purchase_method` | Auswahl (Selection) | Control policy |
|
||||
| `purchase_order_line_ids` | `purchase_order_line_ids` | one2many | Purchase order lines |
|
||||
| `purchased_product_qty` | `purchased_product_qty` | Gleitkommazahl (Float) | Purchased quantity |
|
||||
|
||||
### Sales
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `sale_line_warn` | `sale_line_warn` | Auswahl (Selection) | Sale order line warning |
|
||||
| `sale_line_warn_msg` | `sale_line_warn_msg` | Text | Sale order line warning message |
|
||||
| `sale_delay` | `sale_delay` | Ganzzahl (Integer) | Customer lead time |
|
||||
| `sales_count` | `sales_count` | Gleitkommazahl (Float) | Sold quantity |
|
||||
| `optional_product_ids` | `optional_product_ids` | Many2many | Optional products |
|
||||
|
||||
### Inventory Valuation
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `quantity_svl` | `quantity_svl` | Gleitkommazahl (Float) | BBE quantity (Batch/Batch Entry) |
|
||||
| `value_svl` | `value_svl` | Gleitkommazahl (Float) | BBE value |
|
||||
| `total_value` | `total_value` | monetär (Monetary) | Total value |
|
||||
| `valuation` | `valuation` | Auswahl (Selection) | Stock valuation |
|
||||
|
||||
### Weight and Volume
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `weight` | `weight` | Gleitkommazahl (Float) | Weight |
|
||||
| `weight_uom_name` | `weight_uom_name` | Zeichen (Char) | Weight unit of measure name |
|
||||
| `volume` | `volume` | Gleitkommazahl (Float) | Volume |
|
||||
| `volume_uom_name` | `volume_uom_name` | Zeichen (Char) | Volume unit of measure name |
|
||||
| `specific_weight` | `specific_weight` | Gleitkommazahl (Float) | Specific Weight (g/ml) |
|
||||
|
||||
### Tax
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `taxes_id` | `taxes_id` | Many2many | Customer taxes |
|
||||
| `supplier_taxes_id` | `supplier_taxes_id` | Many2many | Supplier taxes |
|
||||
| `tax_string` | `tax_string` | Zeichen (Char) | Tax string |
|
||||
|
||||
### Tracking
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `tracking` | `tracking` | Auswahl (Selection) | Tracking |
|
||||
|
||||
### Type
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `type` | `type` | Auswahl (Selection) | Type |
|
||||
| `service_type` | `service_type` | Auswahl (Selection) | Track service |
|
||||
|
||||
### Priority and Display
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `priority` | `priority` | Auswahl (Selection) | Favorite |
|
||||
| `sequence` | `sequence` | Ganzzahl (Integer) | Sequence |
|
||||
| `product_tooltip` | `product_tooltip` | Zeichen (Char) | Product tooltip |
|
||||
|
||||
### Shopify Integration
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `of_shopify_bind_ids` | `of_shopify_bind_ids` | one2many | Shopify bindings |
|
||||
| `shopify_variant_id` | `shopify_variant_id` | Zeichen (Char) | Shopify variant ID |
|
||||
|
||||
### Stock and Moves
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `schedule_count` | `schedule_count` | Ganzzahl (Integer) | Schedules |
|
||||
| `split_method_landed_cost` | `split_method_landed_cost` | Auswahl (Selection) | Standard split method for landed cost |
|
||||
|
||||
### Putaway Rules
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `putaway_rule_ids` | `putaway_rule_ids` | one2many | Putaway rules |
|
||||
| `storage_category_capacity_ids` | `storage_category_capacity_ids` | one2many | Storage category capacity |
|
||||
|
||||
### Website
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `website_message_ids` | `website_message_ids` | one2many | Website messages |
|
||||
|
||||
### Responsible
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `responsible_id` | `responsible_id` | Many2One | Responsible |
|
||||
|
||||
### Partner
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `partner_ref` | `partner_ref` | Zeichen (Char) | Customer reference |
|
||||
|
||||
### Activity and Messaging
|
||||
|
||||
| Field Name | Database Column | Type | Description |
|
||||
|------------|-----------------|------|-------------|
|
||||
| `activity_ids` | `activity_ids` | one2many | Activities |
|
||||
| `activity_type_id` | `activity_type_id` | Many2One | Next activity type |
|
||||
| `activity_state` | `activity_state` | Auswahl (Selection) | Activity status |
|
||||
| `activity_user_id` | `activity_user_id` | Many2One | Responsible user |
|
||||
| `activity_date_deadline` | `activity_date_deadline` | Datum (Date) | Next activity deadline |
|
||||
| `activity_summary` | `activity_summary` | Zeichen (Char) | Next activity summary |
|
||||
| `activity_exception_icon` | `activity_exception_icon` | Zeichen (Char) | Exception icon |
|
||||
| `activity_exception_decoration` | `activity_exception_decoration` | Auswahl (Selection) | Exception decoration |
|
||||
| `activity_type_icon` | `activity_type_icon` | Zeichen (Char) | Activity type icon |
|
||||
| `my_activity_date_deadline` | `my_activity_date_deadline` | Datum (Date) | Deadline for my activities |
|
||||
| `message_ids` | `message_ids` | one2many | Messages |
|
||||
| `message_follower_ids` | `message_follower_ids` | one2many | Followers |
|
||||
| `message_has_error` | `message_has_error` | Boolesch (Boolean) | Message delivery error |
|
||||
| `message_has_error_counter` | `message_has_error_counter` | Ganzzahl (Integer) | Number of errors |
|
||||
| `message_has_sms_error` | `message_has_sms_error` | Boolesch (Boolean) | SMS delivery error |
|
||||
| `message_attachment_count` | `message_attachment_count` | Ganzzahl (Integer) | Number of attachments |
|
||||
| `message_is_follower` | `message_is_follower` | Boolesch (Boolean) | Is follower |
|
||||
| `message_needaction` | `message_needaction` | Boolesch (Boolean) | Action needed |
|
||||
| `message_needaction_counter` | `message_needaction_counter` | Ganzzahl (Integer) | Number of actions |
|
||||
| `message_partner_ids` | `message_partner_ids` | Many2many | Followers (partners) |
|
||||
|
||||
---
|
||||
|
||||
## Related Odoo Models
|
||||
|
||||
| Model | Description |
|
||||
|-------|-------------|
|
||||
| `product.template` | Product template (parent of product.product) |
|
||||
| `product.category` | Product category |
|
||||
| `product.tag` | Product tag |
|
||||
| `uom.uom` | Unit of measure |
|
||||
| `stock.location` | Stock location |
|
||||
| `res.country` | Country |
|
||||
| `account.account` | Accounting account |
|
||||
| `mrp.bom` | Bill of material |
|
||||
| `purchase.order.line` | Purchase order line |
|
||||
| `sale.order.line` | Sale order line |
|
||||
|
||||
---
|
||||
|
||||
## Database Indexes
|
||||
|
||||
The table likely has indexes on:
|
||||
- `id` (Primary Key)
|
||||
- `create_date` / `write_date` (for audit tracking)
|
||||
- `default_code` (for SKU lookups - **critical index**)
|
||||
- `barcode` (for barcode scanning)
|
||||
- `categ_id` (for category filtering)
|
||||
- `company_id` (for multi-company support)
|
||||
- `active` (for filtering inactive products)
|
||||
- `detailed_type` (for product type filtering)
|
||||
|
||||
---
|
||||
|
||||
## Usage in BI Dashboard
|
||||
|
||||
This table can be used for:
|
||||
|
||||
- **Product catalog reporting** - Full product information including descriptions, pricing, categories
|
||||
- **SKU tracking** - Using `default_code` as the primary SKU identifier
|
||||
- **Inventory valuation** - Using `avg_cost`, `standard_price`, `cost_method`, and currency fields
|
||||
- **Product variant analysis** - Tracking different variants of the same product template
|
||||
- **Barcode integration** - Using `barcode` field for scanning and tracking
|
||||
- **Country of origin reporting** - Using `country_of_origin` and `hs_code` for customs
|
||||
- **Expiration tracking** - Using `alert_time`, `expiration_time`, and `use_expiration_date` for perishable goods
|
||||
- **Kit/assembly tracking** - Using `is_kits` flag for bundle products
|
||||
- **Shopify integration** - Using `of_is_shopify_linked` and `shopify_variant_id` fields
|
||||
- **Inventory moves** - Using `nbr_moves_in`, `nbr_moves_out`, and `stock_move_ids` for movement analysis
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- `default_code` is the primary SKU identifier used throughout Odoo and in integrations (including Amazon)
|
||||
- This table represents individual product variants; product templates (`product.template`) define the base product
|
||||
- Multiple integrations use this table: `account`, `sale`, `purchase`, `stock`, `mrp`, `quality_control`, `sale_amazon`, etc.
|
||||
- The `detailed_type` field distinguishes between Product (physical), Service, and Kit/Assembly
|
||||
- `free_qty` represents available quantity excluding reserved stock
|
||||
- `virtual_available` is the forecasted quantity (available - incoming + outgoing)
|
||||
- Product images are stored in multiple sizes for different display contexts
|
||||
- The table supports complex costing methods: Standard, FIFO, and Average (via `cost_method`)
|
||||
- INCI fields are for cosmetics industry compliance
|
||||
- Exporto integration fields track synchronization status with external systems
|
||||
- Shopify integration fields track product bindings to Shopify
|
||||
- Stock valuation is tracked via `stock_valuation_layer_ids` and `quantity_svl`/`value_svl`
|
||||
- Tax configuration uses both customer (`taxes_id`) and supplier (`supplier_taxes_id`) tax fields
|
||||
Reference in new issue
Block a user