diff --git a/purchase_order_product_recommendation_supermarket/__manifest__.py b/purchase_order_product_recommendation_supermarket/__manifest__.py
index 880934c..5f825e7 100644
--- a/purchase_order_product_recommendation_supermarket/__manifest__.py
+++ b/purchase_order_product_recommendation_supermarket/__manifest__.py
@@ -8,7 +8,7 @@
"license": "AGPL-3",
"author": "Criptomart",
"website": "https://criptomart.net",
- "depends": ["purchase_order_product_recommendation"],
+ "depends": ["purchase_order_product_recommendation", "product_main_seller"],
"data": [
"security/ir.model.access.csv",
"wizards/purchase_order_recommendation.xml",
diff --git a/purchase_order_product_recommendation_supermarket/i18n/es.po b/purchase_order_product_recommendation_supermarket/i18n/es.po
index 7a1005f..b1ce8f5 100644
--- a/purchase_order_product_recommendation_supermarket/i18n/es.po
+++ b/purchase_order_product_recommendation_supermarket/i18n/es.po
@@ -532,6 +532,20 @@ msgstr ""
"Cantidad de productos comprados durante el periodo (Entre la fecha de inicio"
" y fecha final)."
+#. module: purchase_order_product_recommendation_supermarket
+#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller
+msgid "Only main vendor products"
+msgstr "Solo productos del proveedor principal"
+
+#. module: purchase_order_product_recommendation_supermarket
+#: model:ir.model.fields,help:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller
+msgid ""
+"If enabled, only products whose main vendor matches the purchase order "
+"vendor will be recommended."
+msgstr ""
+"Si está activado, solo se recomendarán productos cuyo proveedor principal "
+"coincida con el proveedor del pedido de compra."
+
#. module: purchase_order_product_recommendation_supermarket
#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation_line__units_scrapped
msgid "Units Scrapped"
diff --git a/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot b/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot
index ed2134e..6e3c7d9 100644
--- a/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot
+++ b/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot
@@ -458,6 +458,18 @@ msgstr ""
msgid "Units Received"
msgstr ""
+#. module: purchase_order_product_recommendation_supermarket
+#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller
+msgid "Only main vendor products"
+msgstr ""
+
+#. module: purchase_order_product_recommendation_supermarket
+#: model:ir.model.fields,help:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller
+msgid ""
+"If enabled, only products whose main vendor matches the purchase order "
+"vendor will be recommended."
+msgstr ""
+
#. module: purchase_order_product_recommendation_supermarket
#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation_line__units_scrapped
msgid "Units Scrapped"
diff --git a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py
index b385aed..e22a017 100644
--- a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py
+++ b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py
@@ -25,6 +25,11 @@ class PurchaseOrderRecommendationSupermarketWizard(models.TransientModel):
default=False,
help="If disabled, the previous period (same number of days immediately preceding) is NOT queried. This saves a read_group on stock move lines and skips zero-stock day analysis for that window.",
)
+ filter_by_main_seller = fields.Boolean(
+ string="Only main vendor products",
+ default=False,
+ help="If enabled, only products whose main vendor matches the purchase order vendor will be recommended.",
+ )
total_days = fields.Integer(
string="Total days",
compute="_compute_total_days",
@@ -306,6 +311,11 @@ class PurchaseOrderRecommendationSupermarketWizard(models.TransientModel):
products = products.filtered(
lambda x: x.categ_id.id in self.product_category_ids.ids
)
+ if self.filter_by_main_seller:
+ partner = self.order_id.partner_id.commercial_partner_id
+ products = products.filtered(
+ lambda x: x.product_tmpl_id.main_seller_id == partner
+ )
return products
diff --git a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml
index 26089f4..c675687 100644
--- a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml
+++ b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml
@@ -26,6 +26,7 @@
+