addons-cm/product_main_seller
snt ed048c85eb [REF] product_main_seller: Remover campo alias default_supplier_id
- El campo era innecesario, era solo un alias a main_seller_id
- Los addons custom ya usan main_seller_id directamente
- No modificar addons OCA con extensiones que no son necesarias
2026-02-18 18:25:36 +01:00
..
i18n Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
models [REF] product_main_seller: Remover campo alias default_supplier_id 2026-02-18 18:25:36 +01:00
readme Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
static/description Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
tests Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
views Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
__init__.py Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
__manifest__.py Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
hooks.py Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
pyproject.toml Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
README.md [DOC] all: Reorganize and consolidate project documentation 2026-02-12 16:25:49 +01:00
README.rst Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00

Product Main Seller

Summary

Adds a "Main Vendor" field to products that automatically tracks the primary supplier based on supplierinfo sequence.

Features

  • Automatic Main Vendor: Computed field showing the primary supplier
  • Based on Sequence: Uses the supplierinfo with the lowest sequence number
  • Visible in Views: Shows in product form and tree views
  • Searchable: Can search and filter products by main vendor
  • Related Fields: Access to vendor name and reference

Technical Details

Models Extended

  • product.template: Main product template
  • product.product: Product variants

Fields Added

  • default_supplier_id (Many2one → res.partner, computed, stored)

    • The main vendor for this product
    • Computed from seller_ids with lowest sequence
    • Stored for performance
    • Searchable
  • default_supplier_ref (Char, related to default_supplier_id.ref)

    • The supplier's reference code
    • Readonly

Computation Logic

The main vendor is determined by:

  1. Looking at all supplierinfo records (seller_ids)
  2. Filtering for valid suppliers (not companies)
  3. Selecting the one with the lowest sequence number
  4. If no sequence, uses the first one

Migration Hook

Includes pre_init_hook that:

  • Populates default_supplier_id on existing products during installation
  • Ensures data consistency from the start

Dependencies

  • purchase (Odoo core)

Installation

docker-compose exec odoo odoo -d odoo -u product_main_seller --stop-after-init

Usage

Viewing Main Vendor

  1. Open a product form (Products > Products > [Product])
  2. See "Main Vendor" field (usually in Purchase tab)
  3. Field is automatically computed from vendor list

Changing Main Vendor

To change the main vendor:

  1. Go to product form > Purchase tab
  2. Edit the vendor list (seller_ids)
  3. Change the sequence numbers (lower = more priority)
  4. Save - the "Main Vendor" will update automatically

Searching by Vendor

# Find all products from a specific vendor
products = self.env['product.template'].search([
    ('default_supplier_id', '=', vendor_id)
])

OCA Source

  • Repository: purchase-workflow
  • Original Author: GRAP
  • Maintainers: legalsylvain, quentinDupont
  • License: AGPL-3

Modifications for Kidekoop

None - Used as-is from OCA.

Use Cases in Kidekoop

This module is critical for:

  • product_price_category_supplier: Bulk updating products by main vendor
  • Purchase order management
  • Vendor performance analysis
  • Inventory planning by supplier

Views Modified

  • Product Template Form View
  • Product Template Tree View
  • Product Variant Form View

Translations

  • Spanish (es)
  • Euskera (eu)

Located in i18n/ directory.


Version: 18.0.1.0.0 Category: Purchase License: AGPL-3