diff --git a/models/scop_cotisation_cg_exo.py b/models/scop_cotisation_cg_exo.py
index 6fb3041ac6f15d283fc770a4360a16d102c046bd..9bb1ca169e19b87e6b9462f1b22b2210cd0aedcc 100644
--- a/models/scop_cotisation_cg_exo.py
+++ b/models/scop_cotisation_cg_exo.py
@@ -486,36 +486,40 @@ class ScopCotisationExo(models.Model):
                         if bordereau_id.state == "draft"
                         else self.date_exo_ok
                     )
+                    date_due = bordereau_id.invoice_ids.filtered(
+                        lambda i: i.cotiz_quarter == str(quarter) and i.move_type == "out_invoice")[0].invoice_date_due
                     # Create refund
-                    member_refund = bordereau_id.invoice_ids.create(
+                    refund = bordereau_id.invoice_ids.create(
                         {
                             "partner_id": bordereau_id.partner_id.id,
                             "liasse_fiscale_id": bordereau_id.liasse_fiscale_id.id,
-                            "type": "out_refund",
+                            "move_type": "out_refund",
                             "year": bordereau_id.year,
                             "is_contribution": True,
                             "type_contribution_id": inv_type,
                             "journal_id": inv_id.journal_id.id,
                             "state": "draft",
-                            "account_id": inv_id.account_id.id,
                             "payment_mode_id": bordereau_id.payment_mode_id.id,
-                            "date_invoice": date_refund,
-                            "date_due": self.date_exo_ok,
+                            "invoice_date": date_refund,
+                            "invoice_date_due": date_due,
                             "bordereau_id": bordereau_id.id,
-                            "cotiz_quarter": quarter,
-                            "refund_invoice_id": inv_id.id,
-                            "name": "Exonération " + self.number,
-                        }
-                    )
-                    member_refund.invoice_line_ids.create(
-                        {
-                            "invoice_id": member_refund.id,
-                            "product_id": inv_id.invoice_line_ids[0].product_id.id,
-                            "account_id": inv_id.invoice_line_ids[0].account_id.id,
-                            "name": inv_id.invoice_line_ids[0].product_id.name
-                            + " T"
-                            + str(quarter),
-                            "price_unit": exo_amount,
+                            "cotiz_quarter": str(quarter),
+                            "ref": "Exonération " + self.number,
+                            "invoice_line_ids": [
+                                (
+                                    0,
+                                    None,
+                                    {
+                                        "product_id": inv_id.invoice_line_ids[0].product_id.id,
+                                        "account_id": inv_id.invoice_line_ids[0].account_id.id,
+                                        "name": inv_id.invoice_line_ids[0].product_id.name
+                                        + " T"
+                                        + str(quarter),
+                                        "price_unit": exo_amount,
+                                        "price_subtotal": exo_amount,
+                                    },
+                                ),
+                            ],
                         }
                     )
         # Update link exo - bordereau