Skip to content

[19.0] Migration Critical Error on account_edi_ubl_cii #5741

@singwangho

Description

@singwangho

Describe the bug

I ran Odoo's migration scripts before and had been quite successful in upgrading in the past (thank you!). This time, I was upgrading from 17 to 18 to 19; 17 to 18 was fine; when running from 18 to 19, an error from one of Odoo SA's module 'account_edi_ubl_cii' popped up. The same error popped up when I ran it with Odoo's demo data.

This is a dump of the error log:

2026-06-18 08:56:15,306 24 INFO OdooTest odoo.modules.loading: Module account_add_gln loaded in 0.19s, 110 queries (+110 other)
2026-06-18 08:56:15,306 24 INFO OdooTest odoo.modules.loading: Loading module account_edi_ubl_cii (40/50)
2026-06-18 08:56:15,312 24 INFO OdooTest odoo.modules.migration: module account_edi_ubl_cii: Running upgrade [>19.0.1.0] pre-migration
2026-06-18 08:56:15,313 24 INFO OdooTest OpenUpgrade: account_edi_ubl_cii: pre-migration script called with version 18.0.1.0
2026-06-18 08:56:15,314 24 ERROR OdooTest OpenUpgrade: map_values is called with the same value for source and old columns : ubl_cii_tax_exemption_reason_code. Please copy this column to preserve existing data, and map the values from there (tip: you can use `copy_columns` and `get_legacy_name` functions to achieve this).
NoneType: None
2026-06-18 08:56:15,314 24 ERROR OdooTest odoo.sql_db: bad query: b"UPDATE account_tax\n                       SET ubl_cii_tax_exemption_reason_code = 'VATEX-EU-AE'\n                       WHERE ubl_cii_tax_exemption_reason_code = 'VATEX_EU_AE'"
ERROR: column "ubl_cii_tax_exemption_reason_code" does not exist
LINE 3:                        WHERE ubl_cii_tax_exemption_reason_co...
                                     ^

2026-06-18 08:56:15,314 24 ERROR OdooTest OpenUpgrade: Error after 0:00:00.000427 running UPDATE account_tax
                       SET ubl_cii_tax_exemption_reason_code = 'VATEX-EU-AE'
                       WHERE ubl_cii_tax_exemption_reason_code = 'VATEX_EU_AE'
2026-06-18 08:56:15,314 24 ERROR OdooTest OpenUpgrade: account_edi_ubl_cii: error in migration script /opt/odoo/custom-addons/OpenUpgrade/openupgrade_scripts/scripts/account_edi_ubl_cii/19.0.1.0/pre-migration.py: column "ubl_cii_tax_exemption_reason_code" does not exist
LINE 3:                        WHERE ubl_cii_tax_exemption_reason_co...
                                     ^

2026-06-18 08:56:15,314 24 ERROR OdooTest OpenUpgrade: column "ubl_cii_tax_exemption_reason_code" does not exist
LINE 3:                        WHERE ubl_cii_tax_exemption_reason_co...
                                     ^

Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 2566, in wrapped_function
    func(
    ~~~~^
        api.Environment(cr, uid or SUPERUSER_ID, context or {})
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        version,
        ^^^^^^^^
    )
    ^
  File "/opt/odoo/custom-addons/OpenUpgrade/openupgrade_scripts/scripts/account_edi_ubl_cii/19.0.1.0/pre-migration.py", line 22, in migrate
    openupgrade.map_values(
    ~~~~~~~~~~~~~~~~~~~~~~^
        env.cr,
        ^^^^^^^
    ...<3 lines>...
        table="account_tax",
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 2324, in map_values
    logged_query(cr, query, values)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 1852, in logged_query
    cr.execute(query, args)
    ~~~~~~~~~~^^^^^^^^^^^^^
  File "/opt/odoo/odoo/sql_db.py", line 440, in execute
    self._obj.execute(query, params)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
psycopg2.errors.UndefinedColumn: column "ubl_cii_tax_exemption_reason_code" does not exist
LINE 3:                        WHERE ubl_cii_tax_exemption_reason_co...
                                     ^

2026-06-18 08:56:15,319 24 WARNING OdooTest odoo.modules.loading: Transient module states were reset
2026-06-18 08:56:15,320 24 ERROR OdooTest odoo.registry: Failed to load registry
2026-06-18 08:56:15,320 24 CRITICAL OdooTest odoo.service.server: Failed to initialize database `OdooTest`.
Traceback (most recent call last):
  File "/opt/odoo/odoo/service/server.py", line 1544, in preload_registries
    registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
  File "/opt/odoo/odoo/tools/func.py", line 88, in locked
    return func(inst, *args, **kwargs)
  File "/opt/odoo/odoo/orm/registry.py", line 199, in new
    load_modules(
    ~~~~~~~~~~~~^
        registry,
        ^^^^^^^^^
    ...<5 lines>...
        models_to_check=models_to_check,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/odoo/odoo/modules/loading.py", line 464, in load_modules
    load_module_graph(
    ~~~~~~~~~~~~~~~~~^
        env, graph, update_module=update_module,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        report=report, models_to_check=models_to_check)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/custom-addons/OpenUpgrade/openupgrade_framework/odoo_patch/odoo/modules/loading.py", line 12, in load_module_graph
    return odoo.modules.loading.load_module_graph._original_method(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        env, graph, *args, **kwargs
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/odoo/odoo/modules/loading.py", line 174, in load_module_graph
    migrations.migrate_module(package, 'pre')
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/opt/odoo/odoo/modules/migration.py", line 215, in migrate_module
    exec_script(self.cr, installed_version, pyfile, pkg.name, stage, version)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/odoo/modules/migration.py", line 253, in exec_script
    mod.migrate(cr, installed_version)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 2566, in wrapped_function
    func(
    ~~~~^
        api.Environment(cr, uid or SUPERUSER_ID, context or {})
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        version,
        ^^^^^^^^
    )
    ^
  File "/opt/odoo/custom-addons/OpenUpgrade/openupgrade_scripts/scripts/account_edi_ubl_cii/19.0.1.0/pre-migration.py", line 22, in migrate
    openupgrade.map_values(
    ~~~~~~~~~~~~~~~~~~~~~~^
        env.cr,
        ^^^^^^^
    ...<3 lines>...
        table="account_tax",
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 2324, in map_values
    logged_query(cr, query, values)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.14/site-packages/openupgradelib/openupgrade.py", line 1852, in logged_query
    cr.execute(query, args)
    ~~~~~~~~~~^^^^^^^^^^^^^
  File "/opt/odoo/odoo/sql_db.py", line 440, in execute
    self._obj.execute(query, params)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
psycopg2.errors.UndefinedColumn: column "ubl_cii_tax_exemption_reason_code" does not exist
LINE 3:                        WHERE ubl_cii_tax_exemption_reason_co...
                                     ^

2026-06-18 08:56:15,322 24 INFO OdooTest odoo.service.server: Initiating shutdown
2026-06-18 08:56:15,322 24 INFO OdooTest odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown.
2026-06-18 08:56:15,323 24 INFO OdooTest odoo.sql_db: ConnectionPool(read/write;used=0/count=0/max=64): Closed 1 connections

To Reproduce

Affected versions: Odoo 19 migration script

git log --oneline
625e6bcb (grafted, HEAD -> 19.0, origin/19.0) [FIX] l10n_fr_pdp: fix IncludedNote node
git log -1 --format=%ai 625e6bcb
2026-06-05 14:00:33 +0000

Steps to reproduce the behavior:

  1. Create an Odoo18 database with demo data.
  2. Activate "Invoicing"
  3. Run Migration Script

Workaround
Since I don't use this app (namely account_edi_ubl_cii), I uninstalled it in Odoo18 and ran the migration which pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions