diff --git a/addons/sale/models/payment.py b/addons/sale/models/payment.py
index 4904f51e39642c0730c18fa987ddb645dc817fc9..acda164678e177b10e9f4e61e6bd451ad5f2ef76 100644
--- a/addons/sale/models/payment.py
+++ b/addons/sale/models/payment.py
@@ -165,6 +165,7 @@ class PaymentTransaction(models.Model):
     def render_sale_button(self, order, submit_txt=None, render_values=None):
         values = {
             'partner_id': order.partner_id.id,
+            'type': self.type,
         }
         if render_values:
             values.update(render_values)
diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py
index d2c2047c7b0007018a555258aff285fa6d2571ab..3c9dfc410178348573fac126483403ab335c9427 100644
--- a/addons/sale/models/sale.py
+++ b/addons/sale/models/sale.py
@@ -972,6 +972,7 @@ Reason(s) of this behavior could be:
             'currency_id': currency.id,
             'partner_id': partner.id,
             'sale_order_ids': [(6, 0, self.ids)],
+            'type': self[0]._get_payment_type(),
         })
 
         transaction = self.env['payment.transaction'].create(vals)