diff --git a/modules/purchase_trade/lot.py b/modules/purchase_trade/lot.py
index 95db10d..9035662 100755
--- a/modules/purchase_trade/lot.py
+++ b/modules/purchase_trade/lot.py
@@ -2811,6 +2811,11 @@ class LotReport(
r_lot_price_sale = fields.Function(fields.Numeric("Price", digits='r_lot_unit_line'),'get_lot_sale_price')
r_purchase_reference = fields.Function(
fields.Char("Purchase Ref."), 'get_purchase_reference')
+ r_purchase_creator = fields.Function(
+ fields.Many2One('res.user', "Purchase Created By"),
+ 'get_purchase_creator')
+ r_purchase_date = fields.Function(
+ fields.Date("Purchase Date"), 'get_purchase_date')
r_sale_reference = fields.Function(
fields.Char("Sale Ref."), 'get_sale_reference')
r_purchase_line_price = fields.Function(
@@ -3060,6 +3065,13 @@ class LotReport(
def get_purchase_reference(self, name=None):
return self._contract_reference(self.r_purchase)
+ def get_purchase_creator(self, name=None):
+ creator = getattr(self.r_purchase, 'create_uid', None)
+ return getattr(creator, 'id', creator)
+
+ def get_purchase_date(self, name=None):
+ return getattr(self.r_purchase, 'purchase_date', None)
+
def get_sale_reference(self, name=None):
return self._contract_reference(self.r_sale)
diff --git a/modules/purchase_trade/tests/test_module.py b/modules/purchase_trade/tests/test_module.py
index 7039923..dea188e 100644
--- a/modules/purchase_trade/tests/test_module.py
+++ b/modules/purchase_trade/tests/test_module.py
@@ -2615,6 +2615,19 @@ class PurchaseTradeTestCase(ModuleTestCase):
self.assertEqual(report.get_shipment_type(None), 'dropship')
+ def test_lot_report_exposes_purchase_creator_and_date(self):
+ 'lots management exposes the purchase creator and purchase date'
+ LotReport = Pool().get('lot.report')
+ report = LotReport()
+ report.r_purchase = Mock(
+ create_uid=Mock(id=42),
+ purchase_date=datetime.date(2026, 6, 22),
+ )
+
+ self.assertEqual(report.get_purchase_creator(), 42)
+ self.assertEqual(
+ report.get_purchase_date(), datetime.date(2026, 6, 22))
+
@with_transaction()
def test_shipment_in_quantity_uses_lotqt_without_physical_moves(self):
'shipment quantity falls back to linked open lots before physical moves'
diff --git a/modules/purchase_trade/view/lot_report_list.xml b/modules/purchase_trade/view/lot_report_list.xml
index 650fec7..7f23809 100755
--- a/modules/purchase_trade/view/lot_report_list.xml
+++ b/modules/purchase_trade/view/lot_report_list.xml
@@ -6,6 +6,8 @@
+
+