diff --git a/controllers/main.py b/controllers/main.py
index e597342d295a34c712a9667bcfd1df6fe60957fa..2323135f620b689cdbf1a50374258e5790785d24 100644
--- a/controllers/main.py
+++ b/controllers/main.py
@@ -34,13 +34,15 @@ class ExportJournalCg(http.Controller):
         default_receivable_account_id = request.env.ref('l10n_fr.1_fr_pcg_recv')
         contribution_cg_id = company_id.contribution_cg_id
         contribution_ur_or_fede_journal_id = company_id.contribution_ur_or_fede_journal_id
+        product_adhesion_id = company_id.product_adhesion_id
+        journal_adhesion_id = company_id.journal_adhesion_id
 
         # Selection des dates + pas d'export du journal UR / FEDE
         domain = [
             ('date', '>=', date_start),
             ('date', '<=', date_end),
             ('partner_id', '!=', False),
-            ('journal_id', '!=', contribution_ur_or_fede_journal_id.id)
+            ('journal_id', '!=', contribution_ur_or_fede_journal_id.id),
         ]
         if type == 'empty':
             domain += [('date_export', '=', False)]
@@ -75,13 +77,53 @@ class ExportJournalCg(http.Controller):
                     account=('7060' + line.partner_id.ur_id.code_ur), a_type='A',
                     analytic='030201')
                 )
-            # Compte client CG Scop
+            # Produit Adhésion CG + Analytique + OD
+            if line.product_id == product_adhesion_id:
+                amount_analytic = round(1 / 2 * amount, 2)
+                # Compte général
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount, direction=direction,
+                    journal='VE', account='706200')
+                )
+                # Lignes analytiques
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount_analytic, direction=direction,
+                    account='706200', journal='VE', a_type='A',
+                    analytic='010201')
+                )
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount_analytic, direction=direction,
+                    account='706200', journal='VE', a_type='A',
+                    analytic='020201')
+                )
+                # OD Adhésion
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount/2, direction=direction,
+                    account=('4660' + line.partner_id.ur_id.code_ur),
+                    journal='OD')
+                )
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount / 2, direction='D',
+                    account=('6581' + line.partner_id.ur_id.code_ur),
+                    journal='OD',)
+                )
+                lines_to_export.append(self._export_row(
+                    line=line, amount=amount / 2, direction='D',
+                    account=('6581' + line.partner_id.ur_id.code_ur),
+                    journal='OD', a_type='A', analytic='020201')
+                )
+            # Compte client CG Scop - Adhésion & Cotisation
             elif line.account_id == default_receivable_account_id:
+                if line.journal_id == journal_adhesion_id:
+                    journal = 'VE'
+                else:
+                    journal = 'CO'
                 # Compte général
                 lines_to_export.append(self._export_row(
                     line=line, amount=amount, direction=direction,
                     account=('4112' + line.partner_id.ur_id.code_ur),
-                    adh_account=self._get_partner_number(line.partner_id))
+                    adh_account=self._get_partner_number(line.partner_id),
+                    journal=journal)
                 )
             # Banque
             else:
@@ -111,7 +153,7 @@ class ExportJournalCg(http.Controller):
         if line.invoice_id.bordereau_id.name:
             inv_num = line.invoice_id.bordereau_id.name
         elif line.full_reconcile_id.reconciled_line_ids.mapped('invoice_id'):
-            line.full_reconcile_id.reconciled_line_ids.mapped('invoice_id')[0].bordereau_id.name
+            inv_num = line.full_reconcile_id.reconciled_line_ids.mapped('invoice_id')[0].bordereau_id.name
         else:
             inv_num = ''
         # Libellé