diff --git a/addons/account_edi/models/account_edi_format.py b/addons/account_edi/models/account_edi_format.py index dc2fe87d7f3..c45c9a26dbb 100644 --- a/addons/account_edi/models/account_edi_format.py +++ b/addons/account_edi/models/account_edi_format.py @@ -38,8 +38,14 @@ class AccountEdiFormat(models.Model): edi_formats = super().create(vals_list) # activate by default on journal - journals = self.env['account.journal'].search([]) - journals._compute_edi_format_ids() + if not self.pool.loaded: + # The registry is not totally loaded. We cannot yet recompute the field on jourals as + # The helper methods aren't yet overwritten by all installed `l10n_` modules. + # Delay it in the register hook + self.pool._delay_compute_edi_format_ids = True + else: + journals = self.env['account.journal'].search([]) + journals._compute_edi_format_ids() # activate cron if any(edi_format._needs_web_services() for edi_format in edi_formats): @@ -47,6 +53,14 @@ class AccountEdiFormat(models.Model): return edi_formats + def _register_hook(self): + if hasattr(self.pool, "_delay_compute_edi_format_ids"): + del self.pool._delay_compute_edi_format_ids + journals = self.env['account.journal'].search([]) + journals._compute_edi_format_ids() + + return super()._register_hook() + #################################################### # Export method to override based on EDI Format ####################################################