diff --git a/models/__init__.py b/models/__init__.py
index d9e71306bd7c40f36845b1645911f11d91957b4b..36bd4f25854a6433a33daef4be4dd29c31149a38 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -7,6 +7,7 @@ from . import res_company
 from . import res_config_settings
 from . import sale_order
 from . import stock_move
+from . import stock_move_line
 from . import stock_picking
 from . import stock_production_lot
 from . import stock_quant
diff --git a/models/stock_move_line.py b/models/stock_move_line.py
new file mode 100644
index 0000000000000000000000000000000000000000..802942d3bd9d816fe2b4e3bc1823504f208ab1c4
--- /dev/null
+++ b/models/stock_move_line.py
@@ -0,0 +1,20 @@
+# Copyright 2021 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models, api
+
+
+class StockMoveLine(models.Model):
+    _inherit = 'stock.move.line'
+
+    @api.depends('product_id', 'picking_type_use_create_lots')
+    def _compute_expiration_date(self):
+        """
+        We need to overide this compute to get expiration_date compute in
+        lot_id instead of basic calcul made by odoo
+        """
+        for move_line in self:
+            if move_line.lot_id:
+                move_line.expiration_date = move_line.lot_id.expiration_date
+            else:
+                super(StockMoveLine, self)._compute_expiration_date()