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