diff --git a/models/__init__.py b/models/__init__.py
index 248b300824e6123d88536ce778e4c720f5c5c0b2..91ed66c37c6a3de5a199c73a9cfab443975c1e00 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -3,4 +3,5 @@
 from . import res_partner
 from . import sale
 from . import account_invoice
+from . import account_invoice_line
 from . import product
diff --git a/models/account_invoice_line.py b/models/account_invoice_line.py
new file mode 100644
index 0000000000000000000000000000000000000000..bb8482e6c64c0f318a421801aac8ffa0ba2d3392
--- /dev/null
+++ b/models/account_invoice_line.py
@@ -0,0 +1,23 @@
+# Copyright 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models
+
+
+class AccountInvoiceLine(models.Model):
+    _inherit = "account.invoice.line"
+
+    def _get_invoice_line_name_from_product(self):
+        """ Returns the automatic name to give to the invoice line depending on
+        the product it is linked to.
+        """
+        self.ensure_one()
+        if not self.product_id:
+            return ''
+        invoice_type = self.invoice_id.type
+        if invoice_type in ('in_invoice', 'in_refund'):
+            if self.product_id.description_purchase:
+                return self.product_id.description_purchase
+        else:
+            if self.product_id.description_sale:
+                return self.product_id.description_sale