diff --git a/__manifest__.py b/__manifest__.py
index 933aba260d9a141b0f219442c4883b2e6c6c792b..2190e2c356074dce219c93bdee72d11daf9cfa81 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -2,7 +2,7 @@
 
 {
     'name': 'Le Filament - Training',
-    'version': '13.0.1.0.0',
+    'version': '14.0.1.0.0',
     'summary': 'Training sessions managment',
     'license': 'AGPL-3',
     'author': 'LE FILAMENT',
diff --git a/models/training_training.py b/models/training_training.py
index c862e86ccbb80692eec8fa33204a572a7474027b..1667878e9d3b8a52061c324502c190b9bc64ab0c 100644
--- a/models/training_training.py
+++ b/models/training_training.py
@@ -66,7 +66,8 @@ class Training(models.Model):
         store=True)
     rate = fields.Integer(
         string="Taux horaire",
-        compute='_compute_costs')
+        compute='_compute_costs',
+        default=0)
     students_count = fields.Integer(
         string='Nombre de stagiaires',
         compute='_compute_students_count',
@@ -141,23 +142,29 @@ class Training(models.Model):
     # ------------------------------------------------------
     @api.depends('student_ids')
     def _compute_students_count(self):
-        self.students_count = len(self.student_ids)
+        for record in self:
+            record.students_count = len(record.student_ids)
 
-    @api.depends('student_ids', 'cost')
+    @api.depends('students_count', 'cost', 'hours_total')
     def _compute_costs(self):
-        if self.students_count > 0:
-            self.student_cost = self.cost / self.students_count
-        if self.hours_total > 0:
-            self.rate = self.cost / self.hours_total
+        for record in self:
+            record.student_cost = 0
+            record.rate = 0
+            if record.students_count > 0:
+                record.student_cost = record.cost / record.students_count
+            if record.hours_total > 0:
+                record.rate = record.cost / record.hours_total
 
     @api.depends('session_ids')
     def _compute_sessions(self):
-        self.session_count = len(self.session_ids)
-        self.hours = sum(self.session_ids.mapped('date_delay'))
+        for record in self:
+            record.session_count = len(record.session_ids)
+            record.hours = sum(record.session_ids.mapped('date_delay'))
 
-    @api.depends('session_ids', 'student_ids')
+    @api.depends('students_count', 'hours')
     def _compute_hours_total(self):
-        self.hours_total = self.students_count * self.hours
+        for record in self:
+            record.hours_total = record.students_count * record.hours
 
     @api.depends('order_ids')
     def _compute_amount(self):
@@ -165,7 +172,8 @@ class Training(models.Model):
 
     @api.depends('invoice_ids')
     def _compute_invoiced(self):
-        self.invoiced = sum(self.invoice_ids.mapped('amount_untaxed_signed'))
+        for record in self:
+            record.invoiced = sum(record.invoice_ids.mapped('amount_untaxed_signed'))
 
     # ------------------------------------------------------
     # Buttons
diff --git a/report/report_agreement.xml b/report/report_agreement.xml
index d31562cd942e79723084b9c5d6fa30e7340eed8b..eb091ef3b7a619f73142b23f1e5ddafa1679f4e1 100644
--- a/report/report_agreement.xml
+++ b/report/report_agreement.xml
@@ -150,14 +150,15 @@
             <field name="dpi">90</field>
         </record>
 
-	    <report id="report_agreement_pdf"
-            name="lefilament_training.qweb_agreement_pdf"
-            model="training.training"
-            string="Formation - Convention"
-            report_type="qweb-pdf"
-            attachment_use="False"
-            paperformat="paperformat_a4_training"
-	    />
+        <record id="report_agreement_pdf" model="ir.actions.report">
+            <field name="name">Formation - Convention</field>
+            <field name="model">training.training</field>
+            <field name="report_type">qweb-pdf</field>
+            <field name="report_name">lefilament_training.qweb_agreement_pdf</field>
+            <field name="binding_model_id" ref="model_training_training"/>
+            <field name="binding_type">report</field>
+            <field name="paperformat_id" ref="paperformat_a4_training"/>
+        </record>
 
     </data>
 </odoo>
\ No newline at end of file
diff --git a/report/report_attendance_sheet.xml b/report/report_attendance_sheet.xml
index 702d4a90e098d36789fc7da3c34cf4dc013e6347..b8719f6d2ab4bc409bc5ead28488a59a22f0a99e 100644
--- a/report/report_attendance_sheet.xml
+++ b/report/report_attendance_sheet.xml
@@ -109,14 +109,15 @@
             <field name="dpi">90</field>
         </record>
 
-	    <report id="report_attendance_sheet_pdf"
-            name="lefilament_training.qweb_attendance_sheet_pdf"
-            model="training.training"
-            string="Formation - Feuille d'émargement"
-            report_type="qweb-pdf"
-            paperformat="paperformat_a4_training"
-            attachment_use="False"
-	    />
+        <record id="report_attendance_sheet_pdf" model="ir.actions.report">
+            <field name="name">Formation - Feuille d'émargement</field>
+            <field name="model">training.training</field>
+            <field name="report_type">qweb-pdf</field>
+            <field name="report_name">lefilament_training.qweb_attendance_sheet_pdf</field>
+            <field name="binding_model_id" ref="model_training_training"/>
+            <field name="binding_type">report</field>
+            <field name="paperformat_id" ref="paperformat_a4_training"/>
+        </record>
 
     </data>
 </odoo>
\ No newline at end of file
diff --git a/report/report_attestation.xml b/report/report_attestation.xml
index 5419358e4bd4aa72fc829375d316d193e643117b..e69a4c3d3920bf74c875dd927890c0c02db0c1ef 100644
--- a/report/report_attestation.xml
+++ b/report/report_attestation.xml
@@ -65,14 +65,15 @@
             </t>
         </template>
 
-	    <report id="report_attestation_pdf"
-            name="lefilament_training.qweb_attestation_pdf"
-            model="training.training"
-            string="Formation - Attestations"
-            report_type="qweb-pdf"
-            attachment_use="False"
-            paperformat="paperformat_a4_training"
-	    />
+        <record id="report_attestation_pdf" model="ir.actions.report">
+            <field name="name">Formation - Attestations</field>
+            <field name="model">training.training</field>
+            <field name="report_type">qweb-pdf</field>
+            <field name="report_name">lefilament_training.qweb_attestation_pdf</field>
+            <field name="binding_model_id" ref="model_training_training"/>
+            <field name="binding_type">report</field>
+            <field name="paperformat_id" ref="paperformat_a4_training"/>
+        </record>
 
     </data>
 </odoo>
\ No newline at end of file
diff --git a/report/report_program.xml b/report/report_program.xml
index 116e86b57f8c7adaefa1a22736b8f22e28b71571..3af3f0ce124cc8dd80c350bd7df9b0995a0474a9 100644
--- a/report/report_program.xml
+++ b/report/report_program.xml
@@ -78,14 +78,15 @@
             </t>
         </template>
 
-	    <report id="report_program_pdf"
-            name="lefilament_training.qweb_program_pdf"
-            model="training.training"
-            string="Formation - Programme"
-            report_type="qweb-pdf"
-            attachment_use="False"
-            paperformat="paperformat_a4_training"
-	    />
+        <record id="report_program_pdf" model="ir.actions.report">
+            <field name="name">Formation - Programme</field>
+            <field name="model">training.training</field>
+            <field name="report_type">qweb-pdf</field>
+            <field name="report_name">lefilament_training.qweb_program_pdf</field>
+            <field name="binding_model_id" ref="model_training_training"/>
+            <field name="binding_type">report</field>
+            <field name="paperformat_id" ref="paperformat_a4_training"/>
+        </record>
 
     </data>
 </odoo>