Commit: odoo:ebb59df1  
Subject: Modify View cache handling.
Author: Richard deMeester
Committer: Richard deMeester
Commit: enterprise:fb2eb6cf  
Subject: [FIX] l10n_lu_reports: Mismatched TransactionID in FAIA export
Author: Jacob Was (jacw)
Committer: Jacob Was (jacw)
Version: 19.0
Config: Run Only
Total time: 24s
Stats: Build 184705
Date Level Type Message
2026-05-12 03:13:18 INFO runbot Rebuild initiated by Roman Gallo
2026-05-12 03:13:22 INFO runbot Init build environment with config Run Only
2026-05-12 03:13:22 Starting step install from config Run Only
2026-05-12 03:13:22 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-05-12 03:13:34 INFO server odoo.modules.loading:350 1 modules loaded in 6.12s, 8362 queries (+8362 extra)
2026-05-12 03:13:46 INFO server odoo.modules.loading:350 20 modules loaded in 5.39s, 8742 queries (+8742 extra)
2026-05-12 03:13:46 INFO runbot Getting stats from log file
2026-05-12 03:13:46 Step install finished in 19s
2026-05-12 03:13:46 Starting step run from config Run Only
2026-05-12 03:13:46 INFO runbot Start running build 184705-19-0
2026-05-12 03:13:46 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-05-12 03:13:52 INFO server odoo.modules.loading:350 1 modules loaded in 0.00s, 0 queries (+0 extra)
2026-05-12 03:13:52 INFO server odoo.modules.loading:350 20 modules loaded in 0.58s, 0 queries (+0 extra)
2026-05-12 04:15:04 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 04:15:55 INFO server odoo.modules.loading:350 112 modules loaded in 48.56s, 52073 queries (+52075 extra)
2026-05-12 04:16:06 INFO server odoo.modules.loading:350 116 modules loaded in 6.71s, 8265 queries (+8265 extra)
2026-05-12 04:17:27 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 04:17:32 INFO server odoo.modules.loading:350 122 modules loaded in 5.15s, 5734 queries (+5734 extra)
2026-05-12 04:17:44 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 04:17:44 INFO server odoo.modules.loading:350 122 modules loaded in 0.07s, 0 queries (+0 extra)
2026-05-12 04:17:49 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 04:17:49 INFO server odoo.modules.loading:350 119 modules loaded in 0.07s, 0 queries (+0 extra)
2026-05-12 04:23:38 ERROR server odoo.addons.base.models.ir_cron:528
Job 'Stock Account: Inventory Valuation Closing' (23) server action #451 failed
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 525, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 708, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/odoo/odoo/tools/safe_eval.py", line 406, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(451,)", line 1, in <module>
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 142, in _cron_post_stock_valuation
    company.action_close_stock_valuation(auto_post=True)
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 60, in action_close_stock_valuation
    raise UserError(_("Everything is correctly closed"))
odoo.exceptions.UserError: Everything is correctly closed
2026-05-12 04:23:44 ERROR server odoo.addons.base.models.ir_cron:528
Job 'Stock Account: Inventory Valuation Closing' (23) server action #451 failed
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 525, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 708, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/odoo/odoo/tools/safe_eval.py", line 406, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(451,)", line 1, in <module>
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 142, in _cron_post_stock_valuation
    company.action_close_stock_valuation(auto_post=True)
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 60, in action_close_stock_valuation
    raise UserError(_("Everything is correctly closed"))
odoo.exceptions.UserError: Everything is correctly closed
2026-05-12 04:24:07 ERROR server odoo.addons.base.models.ir_cron:528
Job 'Stock Account: Inventory Valuation Closing' (23) server action #451 failed
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 525, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/odoo/odoo/addons/base/models/ir_cron.py", line 708, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/odoo/odoo/tools/safe_eval.py", line 406, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(451,)", line 1, in <module>
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 142, in _cron_post_stock_valuation
    company.action_close_stock_valuation(auto_post=True)
  File "/data/build/odoo/addons/stock_account/models/res_company.py", line 60, in action_close_stock_valuation
    raise UserError(_("Everything is correctly closed"))
odoo.exceptions.UserError: Everything is correctly closed
2026-05-12 04:27:48 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 04:31:17 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 05:24:28 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 05:24:57 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 05:35:10 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 05:36:31 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 05:42:57 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 06:00:07 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 06:05:55 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 06:16:26 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 06:21:14 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 06:22:18 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 06:23:52 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 07:11:47 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 07:19:28 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 07:39:21 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 07:39:26 INFO server odoo.modules.loading:350 120 modules loaded in 0.88s, 569 queries (+569 extra)
2026-05-12 07:39:32 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-12 07:39:32 INFO server odoo.modules.loading:350 120 modules loaded in 0.08s, 0 queries (+0 extra)
2026-05-12 07:42:51 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 07:49:46 WARNING server odoo.http:2874 Everything is correctly closed
2026-05-12 07:51:25 WARNING server odoo.http:2874 The Bill/Refund date is required to validate this document.
2026-05-12 07:59:00 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.get_fields> called ignoring args {'name'}
2026-05-12 07:59:00 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-13 05:40:49 ERROR server odoo.sql_db:436
bad query: b' UPDATE "mail_presence"\n                    SET "last_poll" = "__tmp"."last_poll"::timestamp, "last_presence" = "__tmp"."last_presence"::timestamp, "status" = "__tmp"."status"::VARCHAR\n                    FROM (VALUES (1, \'2026-05-13T05:40:45\'::timestamp, \'2026-05-13T05:32:18.942000\'::timestamp, \'online\')) AS "__tmp"("id", "last_poll", "last_presence", "status")\n                    WHERE "mail_presence"."id" = "__tmp"."id"\n                '
ERROR: could not serialize access due to concurrent update
2026-05-13 05:47:43 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:47:49 INFO server odoo.modules.loading:350 126 modules loaded in 3.41s, 3211 queries (+3211 extra)
2026-05-13 05:47:54 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:47:54 INFO server odoo.modules.loading:350 126 modules loaded in 0.13s, 0 queries (+0 extra)
2026-05-13 05:48:41 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:49:03 ERROR server odoo.sql_db:436
bad query: b' UPDATE "helpdesk_team"\n                    SET "write_date" = "__tmp"."write_date"::timestamp, "write_uid" = "__tmp"."write_uid"::int4\n                    FROM (VALUES (1, \'2026-05-13T05:48:58.074558\'::timestamp, 2)) AS "__tmp"("id", "write_date", "write_uid")\n                    WHERE "helpdesk_team"."id" = "__tmp"."id"\n                '
ERROR: could not serialize access due to concurrent update
2026-05-13 05:49:03 INFO server odoo.modules.loading:350 164 modules loaded in 20.88s, 23407 queries (+23407 extra)
2026-05-13 05:49:09 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:49:09 INFO server odoo.modules.loading:350 164 modules loaded in 0.38s, 0 queries (+0 extra)
2026-05-13 05:51:12 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:51:29 INFO server odoo.modules.loading:350 164 modules loaded in 15.44s, 13148 queries (+13148 extra)
2026-05-13 05:51:40 INFO server odoo.modules.loading:350 1 modules loaded in 0.02s, 0 queries (+0 extra)
2026-05-13 05:51:40 INFO server odoo.modules.loading:350 164 modules loaded in 0.09s, 0 queries (+0 extra)
2026-05-13 05:54:12 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:54:12 WARNING server odoo.addons.attachment_indexation.models.ir_attachment:17 Attachment indexation of PDF documents is unavailable because the 'pdfminer.six' Python library cannot be found on the system. You may install it from https://pypi.org/project/pdfminer.six/ (e.g. `pip3 install pdfminer.six`)
2026-05-13 05:54:18 INFO server odoo.modules.loading:350 169 modules loaded in 3.22s, 2293 queries (+2295 extra)
2026-05-13 05:54:42 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-13 05:54:42 WARNING server odoo.addons.attachment_indexation.models.ir_attachment:17 Attachment indexation of PDF documents is unavailable because the 'pdfminer.six' Python library cannot be found on the system. You may install it from https://pypi.org/project/pdfminer.six/ (e.g. `pip3 install pdfminer.six`)
2026-05-13 05:54:42 INFO server odoo.modules.loading:350 169 modules loaded in 0.21s, 0 queries (+2 extra)
2026-05-13 05:57:14 WARNING server odoo.http:2874 There are no values in selection field.
2026-05-13 05:57:26 WARNING server odoo.http:2874 There are no values in selection field.
2026-05-13 22:38:18 WARNING server odoo.http:2874 No API key set for provider 'google'
2026-05-15 05:22:27 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-15 05:22:38 INFO server odoo.modules.loading:350 184 modules loaded in 6.64s, 5463 queries (+5463 extra)
2026-05-15 05:22:50 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-15 05:23:01 INFO server odoo.modules.loading:350 201 modules loaded in 8.73s, 7798 queries (+7798 extra)
2026-05-15 05:23:53 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-15 05:23:53 INFO server odoo.modules.loading:350 207 modules loaded in 2.32s, 1573 queries (+1573 extra)
2026-05-15 05:25:08 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-15 05:25:13 INFO server odoo.modules.loading:350 211 modules loaded in 1.99s, 1323 queries (+1323 extra)
2026-05-15 05:30:03 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-15 05:30:08 INFO server odoo.modules.loading:350 214 modules loaded in 2.17s, 1532 queries (+1532 extra)
2026-05-16 15:38:39 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=630fc5723afed9f6f97eebaf4768d9b5715c2547ce7670070de659fbf835563co0x6a2aaf65&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:38:45 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=bd3090a12937ad601cc1525741c8ad6fe84c6e65bf4212ae2b6d619fd15ce3c7o0x6a2aaeac&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:38:45 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=6eca7c23998b3663c7cbfebfb4c1fb57314b23d7d90e1cae21a66fc9a01b5317o0x6a2aad85&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:38:51 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=fa66ebf39722413ed85d8a0ed06a333eb3fa3c186c9c891d32c9f17454e05f4do0x6a2ab0b1&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:38:51 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=7001efa43b5849dafe07ebd4711d05b59c52758630de7c549000deed9b43daf1o0x6a2ab145&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:38:57 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=b7ac7cff73e4f47bf5be4c3b777fdb8d76735dcc0bb666075833840cc965004do0x6a2aad60&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:08 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=320da8a466fd4950a25c2b9b7501ab9c7b91458e1a3d21ff72e9a74e0dc7a9bbo0x6a2aae19&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:08 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=7992af8cc08c89ff68e4ccd1b074e9e8256c0fcc32a6121abb1373f58d78646eo0x6a2aaff8&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:14 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=60e35508b7e7db01eb2db53c7a9d821acdc01d56920e9701f9a73448307488d5o0x6a2ab35c&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:14 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=a833b18b63cf307826fc20089758c182c76ab84ffa86292e8223484c42bd3bdco0x6a2aaccc&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:20 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=856d65d24b188710aafc95e7e5200b76642f7590dd0d02767a9780896e389193o0x6a2ab1fd&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-16 15:39:20 WARNING server odoo.http:826 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'access_token=0ba3b6cb7fa50c4b9ce718cfa5575ea9b5c789040ab520cb57fdd9c2ea662378o0x6a2aaed1&filename=Purchase%20Order%20-%20P00001.pdf&unique=4bb3fb5720b24598b0998820473ece1e62b741dc'}
2026-05-18 01:25:01 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-18 01:25:07 INFO server odoo.modules.loading:350 218 modules loaded in 5.02s, 6591 queries (+6591 extra)
2026-05-18 01:25:12 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-18 01:25:12 INFO server odoo.modules.loading:350 218 modules loaded in 0.22s, 0 queries (+0 extra)
2026-05-18 01:25:58 WARNING server odoo.http:2874 Invalid discount amount
2026-05-18 01:26:10 WARNING server odoo.http:2874 Invalid discount amount
2026-05-18 06:47:57 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 06:54:07 ERROR server odoo.http:2876
Exception during request handling.
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/odoo/http.py", line 2845, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2320, in _serve_db
    raise self._update_served_exception(exc)
  File "/data/build/odoo/odoo/http.py", line 2318, in _serve_db
    return service_model.retrying(serve_func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 188, in retrying
    result = func()
             ^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2373, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2588, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 355, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 32, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 97, in call_kw
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/models/models.py", line 113, in web_read
    values_list: list[dict] = self.read(fields_to_read, load=None)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 3490, in read
    return self._read_format(fnames=fields, load=load)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 3747, in _read_format
    vals[name] = convert(record[name], record, use_display_name)
                         ~~~~~~^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 6686, in __getitem__
    return self._fields[key].__get__(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/fields.py", line 1746, in __get__
    self.compute_value(recs)
  File "/data/build/odoo/odoo/orm/fields_binary.py", line 121, in compute_value
    super().compute_value(records_no_bin_size)
  File "/data/build/odoo/odoo/orm/fields.py", line 1917, in compute_value
    records._compute_field_value(self)
  File "/data/build/odoo/odoo/orm/models.py", line 4952, in _compute_field_value
    determine(field.compute, self)
  File "/data/build/odoo/odoo/orm/fields.py", line 81, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/enterprise/stock_barcode/models/stock_location.py", line 25, in _compute_barcode_img
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-05-18 06:55:09 WARNING server odoo.http:2874 Please create new accounts from the Chart of Accounts menu.
2026-05-18 06:57:42 ERROR server odoo.http:2876
Exception during request handling.
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/odoo/http.py", line 2845, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2320, in _serve_db
    raise self._update_served_exception(exc)
  File "/data/build/odoo/odoo/http.py", line 2318, in _serve_db
    return service_model.retrying(serve_func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 188, in retrying
    result = func()
             ^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2373, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2588, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 355, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 32, in call_kw
    return call_kw(request.env[model], method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 97, in call_kw
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/models/models.py", line 113, in web_read
    values_list: list[dict] = self.read(fields_to_read, load=None)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 3490, in read
    return self._read_format(fnames=fields, load=load)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 3747, in _read_format
    vals[name] = convert(record[name], record, use_display_name)
                         ~~~~~~^^^^^^
  File "/data/build/odoo/odoo/orm/models.py", line 6686, in __getitem__
    return self._fields[key].__get__(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/orm/fields.py", line 1746, in __get__
    self.compute_value(recs)
  File "/data/build/odoo/odoo/orm/fields_binary.py", line 121, in compute_value
    super().compute_value(records_no_bin_size)
  File "/data/build/odoo/odoo/orm/fields.py", line 1917, in compute_value
    records._compute_field_value(self)
  File "/data/build/odoo/odoo/orm/models.py", line 4952, in _compute_field_value
    determine(field.compute, self)
  File "/data/build/odoo/odoo/orm/fields.py", line 81, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/enterprise/stock_barcode/models/stock_location.py", line 25, in _compute_barcode_img
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-05-18 07:03:54 WARNING server odoo.http:2874 Please create new accounts from the Chart of Accounts menu.
2026-05-18 22:25:53 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 22:32:05 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 22:37:35 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 22:47:15 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 22:50:44 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-18 22:57:02 Log limit reached (full logs are still available in the log file)
2026-05-25 23:28:17 INFO runbot Step run finished in 14d
2026-05-25 23:48:54 Waking up build
2026-05-25 23:48:54 INFO runbot Start running build 184705-19-0
2026-05-25 23:48:54 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-05-25 23:49:01 INFO server odoo.modules.loading:350 1 modules loaded in 0.00s, 0 queries (+0 extra)
2026-05-25 23:49:01 WARNING server odoo.addons.attachment_indexation.models.ir_attachment:17 Attachment indexation of PDF documents is unavailable because the 'pdfminer.six' Python library cannot be found on the system. You may install it from https://pypi.org/project/pdfminer.six/ (e.g. `pip3 install pdfminer.six`)
2026-05-25 23:49:06 INFO server odoo.modules.loading:350 214 modules loaded in 3.33s, 0 queries (+2 extra)
2026-05-26 05:13:54 ERROR server odoo.sql_db:436
bad query: b' UPDATE "mail_presence"\n                    SET "last_presence" = "__tmp"."last_presence"::timestamp, "status" = "__tmp"."status"::VARCHAR\n                    FROM (VALUES (1, \'2026-05-26T05:07:11.124000\'::timestamp, \'online\')) AS "__tmp"("id", "last_presence", "status")\n                    WHERE "mail_presence"."id" = "__tmp"."id"\n                '
ERROR: could not serialize access due to concurrent update
2026-05-27 00:46:43 WARNING server odoo.http:2874 Please define Transfers on which those additional costs should apply.
2026-05-27 05:59:07 WARNING server odoo.http:2874
Transfer trouble alert! Validating a zero quantity transfer? You're not moving invisible goods around are you?
Set some quantities and let's get moving!
2026-05-27 06:01:29 WARNING server odoo.http:2874 Even magicians can't post nothing!
2026-05-27 06:03:20 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-27 06:03:20 INFO server odoo.modules.loading:350 215 modules loaded in 0.90s, 186 queries (+186 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 216 modules loaded in 0.93s, 249 queries (+249 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 1 modules loaded in 0.03s, 0 queries (+0 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 216 modules loaded in 0.16s, 0 queries (+0 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-27 22:32:09 INFO server odoo.modules.loading:350 216 modules loaded in 0.13s, 0 queries (+0 extra)
2026-05-27 22:33:25 WARNING server odoo.http:2874 This currency is set on a company and therefore cannot be deactivated.
2026-05-27 22:54:18 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-27 22:54:18 INFO server odoo.modules.loading:350 219 modules loaded in 1.75s, 709 queries (+709 extra)
2026-05-27 22:54:46 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-27 22:54:46 INFO server odoo.modules.loading:350 219 modules loaded in 0.17s, 0 queries (+0 extra)
2026-05-27 22:58:10 WARNING server odoo.http:2874 One or more lines require a 100% analytic distribution.
2026-05-27 22:58:42 WARNING server odoo.http:2874 One or more lines require a 100% analytic distribution.
2026-05-28 00:42:48 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-28 01:06:00 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-28 01:06:00 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 01:06:00 INFO server odoo.modules.loading:350 220 modules loaded in 1.27s, 522 queries (+522 extra)
2026-05-28 01:06:30 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 01:06:30 INFO server odoo.modules.loading:350 220 modules loaded in 0.16s, 0 queries (+0 extra)
2026-05-28 01:07:01 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-05-28 01:29:27 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-28 04:07:55 INFO server odoo.modules.loading:350 1 modules loaded in 0.03s, 0 queries (+0 extra)
2026-05-28 04:07:55 INFO server odoo.modules.loading:350 220 modules loaded in 0.14s, 0 queries (+0 extra)
2026-05-28 04:10:58 ERROR server odoo.addons.mail.models.mail_render_mixin:414
Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55) - Context language:en_US
Target Model: sale.order
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7bde4320>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
tion" t-value="line"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div>
2026-05-28 04:10:58 ERROR server odoo.addons.mail.models.mail_template:226
Error while checking if template can be rendered for field body_html
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<None>", line 91, in template_etree_3
  File "<None>", line 28, in template_etree_3_content
KeyError: 'line'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 367, in _render_template_qweb
    render_result = self.env['ir.qweb']._render(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 855, in _render_iterall
    raise QWebError(qweb_error_info) from error
odoo.addons.base.models.ir_qweb.QWebError: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7bde4320>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_template.py", line 224, in _check_can_be_rendered
    template._render_field(fname, record.ids, options=render_options)
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 77, in _render_field
    return super()._render_field(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 838, in _render_field
    for res_id, rendered in template._render_template(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 23, in _render_template
    result = super()._render_template(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 703, in _render_template
    rendered = self._render_template_qweb(template_src, model, res_ids,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 425, in _render_template_qweb
    raise UserError(
odoo.exceptions.UserError: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7bde4320>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
tion" t-value="line"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div>
2026-05-28 04:10:58 WARNING server odoo.http:2874
Oops! We couldn't save your template due to an issue.
Error: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7bde4320>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
tion" t-value="line"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div>
Correct it and try again.
2026-05-28 04:11:24 ERROR server odoo.addons.mail.models.mail_render_mixin:414
Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55) - Context language:en_US
Target Model: sale.order
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80fdf340>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:11:24 ERROR server odoo.addons.mail.models.mail_template:226
Error while checking if template can be rendered for field body_html
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<None>", line 91, in template_etree_5
  File "<None>", line 28, in template_etree_5_content
KeyError: 'line'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 367, in _render_template_qweb
    render_result = self.env['ir.qweb']._render(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 855, in _render_iterall
    raise QWebError(qweb_error_info) from error
odoo.addons.base.models.ir_qweb.QWebError: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80fdf340>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_template.py", line 224, in _check_can_be_rendered
    template._render_field(fname, record.ids, options=render_options)
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 77, in _render_field
    return super()._render_field(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 838, in _render_field
    for res_id, rendered in template._render_template(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 23, in _render_template
    result = super()._render_template(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 703, in _render_template
    rendered = self._render_template_qweb(template_src, model, res_ids,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 425, in _render_template_qweb
    raise UserError(
odoo.exceptions.UserError: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80fdf340>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:11:24 WARNING server odoo.http:2874
Oops! We couldn't save your template due to an issue.
Error: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80fdf340>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
Correct it and try again.
2026-05-28 04:12:10 ERROR server odoo.addons.mail.models.mail_render_mixin:414
Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55) - Context language:en_US
Target Model: sale.order
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7ba1c550>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:12:10 ERROR server odoo.addons.mail.models.mail_template:226
Error while checking if template can be rendered for field body_html
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<None>", line 91, in template_etree_5
  File "<None>", line 28, in template_etree_5_content
KeyError: 'line'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 367, in _render_template_qweb
    render_result = self.env['ir.qweb']._render(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 855, in _render_iterall
    raise QWebError(qweb_error_info) from error
odoo.addons.base.models.ir_qweb.QWebError: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7ba1c550>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_template.py", line 224, in _check_can_be_rendered
    template._render_field(fname, record.ids, options=render_options)
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 77, in _render_field
    return super()._render_field(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 838, in _render_field
    for res_id, rendered in template._render_template(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 23, in _render_template
    result = super()._render_template(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 703, in _render_template
    rendered = self._render_template_qweb(template_src, model, res_ids,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 425, in _render_template_qweb
    raise UserError(
odoo.exceptions.UserError: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7ba1c550>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:12:10 WARNING server odoo.http:2874
Oops! We couldn't save your template due to an issue.
Error: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c7ba1c550>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
Correct it and try again.
2026-05-28 04:12:10 ERROR server odoo.addons.mail.models.mail_render_mixin:414
Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55) - Context language:en_US
Target Model: sale.order
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80ed95e0>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:12:10 ERROR server odoo.addons.mail.models.mail_template:226
Error while checking if template can be rendered for field body_html
Traceback (most recent call last):
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<None>", line 91, in template_etree_7
  File "<None>", line 28, in template_etree_7_content
KeyError: 'line'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 367, in _render_template_qweb
    render_result = self.env['ir.qweb']._render(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 855, in _render_iterall
    raise QWebError(qweb_error_info) from error
odoo.addons.base.models.ir_qweb.QWebError: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80ed95e0>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/data/build/odoo/addons/mail/models/mail_template.py", line 224, in _check_can_be_rendered
    template._render_field(fname, record.ids, options=render_options)
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 77, in _render_field
    return super()._render_field(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 838, in _render_field
    for res_id, rendered in template._render_template(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/ai/models/mail_render_mixin.py", line 23, in _render_template
    result = super()._render_template(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 703, in _render_template
    rendered = self._render_template_qweb(template_src, model, res_ids,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_render_mixin.py", line 425, in _render_template_qweb
    raise UserError(
odoo.exceptions.UserError: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80ed95e0>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
2026-05-28 04:12:10 WARNING server odoo.http:2874
Oops! We couldn't save your template due to an issue.
Error: Failed to render QWeb template for Mail Template: 'Sales: Warehouse Updated' (ID: 55)
Target Model: sale.order
Language context: en_US
Error: Error while rendering the template:
    KeyError: 'line'
    Reference: <Element div at 0x7f2c80ed95e0>
    Path: /div/div[1]/t[3]
    Element: <t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>
    From: (None, '/div/div[1]/t[3]', '<t t-set="current_subtotal" t-value="current_subtotal + line_subtotal"/>')
Template Source Snippet:
<div style="margin: 0px; padding: 0px;" data-oe-version="2.0">
    <p style="border-radius:0px;border-style:none;box-sizing:border-box;border-left-color:#111827;border-bottom-color:#111827;border-right-color:#111827;border-top-color:#111827;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;border-top-width:0px;margin: 0px; padding: 0px; font-size: 12px;">
        <t t-set="tx_sudo" t-value="object.get_portal_last_transaction()"/><t t-set="documents" t-value="object._get_produc
[...] (content truncated) [...]
ine"/><t t-set="current_subtotal" t-value="0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/><t t-set="current_section" t-value="None"/><t t-set="loop_cycle_number" t-value="loop_cycle_number or 0"/><t t-set="loop_cycle_number" t-value="loop_cycle_number + 1"/></div><div>Warehouse was changed to&nbsp;<t t-out="object.warehouse_id.display_name"/>&nbsp; by&nbsp;<t t-out="object.write_uid.user_id"/></div><div><br/></div>
Correct it and try again.
2026-05-28 04:16:22 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-28 04:16:22 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-05-28 05:39:17 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-28 05:39:17 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-28 05:40:31 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-28 05:42:06 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-05-28 05:47:55 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 05:47:55 INFO server odoo.modules.loading:350 232 modules loaded in 12.37s, 13960 queries (+13960 extra)
2026-05-28 05:47:55 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 05:47:55 INFO server odoo.modules.loading:350 232 modules loaded in 0.29s, 0 queries (+0 extra)
2026-05-28 05:48:28 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 05:48:28 INFO server odoo.modules.loading:350 233 modules loaded in 0.81s, 40 queries (+40 extra)
2026-05-28 06:20:49 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 06:20:49 INFO server odoo.modules.loading:350 233 modules loaded in 0.18s, 0 queries (+0 extra)
2026-05-28 06:24:55 WARNING server odoo.http:2874 WH/OUT/00006: Nothing to split. Fill the quantities you want in a new transfer in the done quantities
2026-05-28 06:35:09 WARNING server odoo.http:2874 Even magicians can't post nothing!
2026-05-28 06:35:09 WARNING server odoo.http:2874 One or more lines require a 100% analytic distribution.
2026-05-28 06:36:00 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 06:36:00 INFO server odoo.modules.loading:350 233 modules loaded in 0.21s, 0 queries (+0 extra)
2026-05-28 06:39:01 WARNING server odoo.http:2874
The 'Customer' field is required to validate the invoice.
You probably don't want to explain to your auditor that you invoiced an invisible man :)
2026-05-28 06:39:01 WARNING server odoo.http:2874 One or more lines require a 100% analytic distribution.
2026-05-28 06:46:25 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-28 06:46:25 INFO server odoo.modules.loading:350 233 modules loaded in 0.17s, 0 queries (+0 extra)
2026-05-29 02:14:01 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-05-29 02:14:01 INFO server odoo.modules.loading:350 233 modules loaded in 0.15s, 0 queries (+0 extra)
2026-06-01 00:42:36 WARNING server odoo.addons.web.controllers.utils:43 Action 'Master Production Schedule' contains custom properties 'domain'. Passing them via the `params` or `context` properties is recommended instead
2026-06-08 23:00:15 Waking up build
2026-06-08 23:00:15 INFO runbot Start running build 184705-19-0
2026-06-08 23:00:15 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-08 23:00:22 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-06-08 23:00:22 WARNING server odoo.addons.attachment_indexation.models.ir_attachment:17 Attachment indexation of PDF documents is unavailable because the 'pdfminer.six' Python library cannot be found on the system. You may install it from https://pypi.org/project/pdfminer.six/ (e.g. `pip3 install pdfminer.six`)
2026-06-08 23:00:27 INFO server odoo.modules.loading:350 233 modules loaded in 3.95s, 0 queries (+2 extra)
2026-06-09 01:20:31 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-09 01:24:33 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:25:50 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'DAILYTIE\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "DAILY TOOL BOX TIE DOWNS"}\', NULL, NULL, NULL, \'receive\', false, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'DAILYSTOW\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "DAILY STOWAGE STRAP"}\', NULL, NULL, NULL, \'receive\', false, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'F-BHSS-M650\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'F-BHSS-M655\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'F-BHSS-M660\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:25:48.563958\'::timestamp, 2, \'F-BHSS-M6100\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP Buckles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP D shackles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP S Hook"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2), (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP 6.25mm Fireglass rod"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "type" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1040, 1, null, 1, null, null, 2, 2, null, no, null, {"en_US": "CTP Buckles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:25:48.563958, 2026-06-09 01:25:48.563958, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:01 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP Buckles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "type" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1147, 1, null, 1, null, null, 2, 2, null, no, null, {"en_US": "CTP Buckles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:25:48.563958, 2026-06-09 01:25:48.563958, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:01 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP D shackles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "type" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1148, 1, null, 1, null, null, 2, 2, null, no, null, {"en_US": "CTP D shackles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:25:48.563958, 2026-06-09 01:25:48.563958, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:01 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP S Hook"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "type" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1149, 1, null, 1, null, null, 2, 2, null, no, null, {"en_US": "CTP S Hook"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:25:48.563958, 2026-06-09 01:25:48.563958, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:01 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:25:48.563958\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP 6.25mm Fireglass rod"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, NULL, 1, \'0.00\', \'0.00\', \'2026-06-09T01:25:48.563958\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "type" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1150, 1, null, 1, null, null, 2, 2, null, no, null, {"en_US": "CTP 6.25mm Fireglass rod"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:25:48.563958, 2026-06-09 01:25:48.563958, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:24 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'DAILYTIE\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "DAILY TOOL BOX TIE DOWNS"}\', NULL, NULL, NULL, \'receive\', false, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'DAILYSTOW\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "DAILY STOWAGE STRAP"}\', NULL, NULL, NULL, \'receive\', false, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'F-BHSS-M650\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'F-BHSS-M655\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'F-BHSS-M660\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, DEFAULT, \'2026-06-09T01:26:22.622893\'::timestamp, 2, \'F-BHSS-M6100\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "Button Head Socket Screw"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP Buckles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP D shackles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP S Hook"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2), (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP 6.25mm Fireglass rod"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1257, 1, null, 1, null, null, 2, 2, consu, no, null, {"en_US": "CTP Buckles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:26:22.622893, 2026-06-09 01:26:22.622893, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:36 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP Buckles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1364, 1, null, 1, null, null, 2, 2, consu, no, null, {"en_US": "CTP Buckles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:26:22.622893, 2026-06-09 01:26:22.622893, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:36 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP D shackles"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1365, 1, null, 1, null, null, 2, 2, consu, no, null, {"en_US": "CTP D shackles"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:26:22.622893, 2026-06-09 01:26:22.622893, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:36 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP S Hook"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1366, 1, null, 1, null, null, 2, 2, consu, no, null, {"en_US": "CTP S Hook"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:26:22.622893, 2026-06-09 01:26:22.622893, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:26:36 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, NULL, \'2026-06-09T01:26:22.622893\'::timestamp, 2, NULL, \'no\', NULL, false, 0.0, 14, \'{"en_US": "CTP 6.25mm Fireglass rod"}\', NULL, NULL, NULL, NULL, false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:26:22.622893\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1367, 1, null, 1, null, null, 2, 2, consu, no, null, {"en_US": "CTP 6.25mm Fireglass rod"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:26:22.622893, 2026-06-09 01:26:22.622893, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, null, null, null, null, manual, no, null, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:29:23 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:32:26 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:35:53 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:37:04 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:37:22 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, 5, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'NAM-100H\', \'no\', \'delivery\', true, 0.0, 14, \'{"en_US": "100mm Hook Sew-On"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'lot\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17EYV1\', \'no\', \'delivery\', true, 4600.0, 14, \'{"en_US": "Ford Ranger Space Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17ENV1\', \'no\', \'delivery\', true, 4350.0, 14, \'{"en_US": "Ford Ranger Space Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17SYV1\', \'no\', \'delivery\', true, 4650.0, 14, \'{"en_US": "Ford Ranger Single Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17SNV1\', \'no\', \'delivery\', true, 4490.0, 14, \'{"en_US": "Ford Ranger Single Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17SNV2\', \'no\', \'delivery\', true, 4490.0, 14, \'{"en_US": "Ford Ranger Single Cab without Rear with OH Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H17SNV3\', \'no\', \'delivery\', true, 4490.0, 14, \'{"en_US": "CFA Ford Ranger Single Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H50ENV1\', \'no\', \'delivery\', true, 4600.0, 14, \'{"en_US": "Ford Ranger Superduty Space cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H50EYV1\', \'no\', \'delivery\', true, 4600.0, 14, \'{"en_US": "Ford Ranger Superduty Space cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'H50SNV1\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "Ford Ranger Superduty Single cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'B-RANGER-RWP\', \'no\', \'delivery\', true, 425.0, 14, \'{"en_US": "Ford Ranger/ Superduty Single with Rear Window Replacement Panel"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2SYV1\', \'no\', \'delivery\', true, 4300.0, 14, \'{"en_US": "Isuzu NPS300 Single Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2SNV1\', \'no\', \'delivery\', true, 3990.0, 14, \'{"en_US": "Isuzu NPS300 Single Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2SNV3\', \'no\', \'delivery\', true, 3990.0, 14, \'{"en_US": "BELLS Isuzu NPS300 Single Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV1\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "Isuzu NPS300 Crew Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV4\', \'no\', \'delivery\', true, 3210.0, 14, \'{"en_US": "KUIPERS Isuzu NPS300 Crew Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV3\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "BELLS Isuzu NPS300 Crew Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV2\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "MOORE Isuzu NPS300 Crew Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CYV1\', \'no\', \'delivery\', true, 4850.0, 14, \'{"en_US": "Isuzu NPS300 Crew Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV5\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "Isuzu NPS300 Crew Cab Aircon without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CNV6\', \'no\', \'delivery\', true, 4450.0, 14, \'{"en_US": "MOORE Isuzu NPS300 Crew Cab Aircon without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CYV3\', \'no\', \'delivery\', true, 4850.0, 14, \'{"en_US": "Isuzu NPS300 Crew Cab Aircon with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2SYV2\', \'no\', \'delivery\', true, 4300.0, 14, \'{"en_US": "NSW RFS Isuzu NPS300 Single Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2SNV2\', \'no\', \'delivery\', true, 4300.0, 14, \'{"en_US": "NSW RFS Isuzu NPS300 Single Cab without Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CYV4\', \'no\', \'delivery\', true, 4850.0, 14, \'{"en_US": "NSW RFS Isuzu NPS300 Crew Cab Aircon with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (true, 8, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'A2CYV2\', \'no\', \'delivery\', true, 4850.0, 14, \'{"en_US": "NSW RFS Isuzu NPS300 Crew Cab with Rear Window Radiant Heat Shield"}\', NULL, NULL, NULL, \'receive\', true, \'{"4": 2}\', 0, true, 1, \'no\', \'manual\', \'none\', \'consu\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2), (tr
 ...<message too long, truncated>
2026-06-09 01:37:28 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "product_template" ("active", "categ_id", "create_date", "create_uid", "default_code", "expense_policy", "invoice_policy", "is_storable", "list_price", "lot_sequence_id", "name", "product_properties", "property_stock_inventory", "property_stock_production", "purchase_method", "purchase_ok", "responsible_id", "sale_delay", "sale_ok", "sequence", "service_tracking", "service_type", "tracking", "type", "uom_id", "volume", "weight", "write_date", "write_uid") VALUES (true, 3, \'2026-06-09T01:37:19.043951\'::timestamp, 2, \'REPAIR\', \'no\', \'delivery\', false, 0.0, 14, \'{"en_US": "Repair"}\', NULL, NULL, NULL, \'receive\', false, \'{"4": 2}\', 0, false, 1, \'no\', \'manual\', NULL, \'service\', 1, \'0.00\', \'0.00\', \'2026-06-09T01:37:19.043951\'::timestamp, 2) RETURNING "id"'
ERROR: null value in column "tracking" of relation "product_template" violates not-null constraint
DETAIL:  Failing row contains (1885, 1, 3, 1, null, null, 2, 2, service, no, REPAIR, {"en_US": "Repair"}, null, null, null, null, 0.0, 0.00, 0.00, f, f, t, null, null, null, 2026-06-09 01:37:19.043951, 2026-06-09 01:37:19.043951, null, null, 0, 14, null, {"4": 2}, null, null, null, null, null, f, receive, null, null, null, manual, no, delivery, null, null, null, null, null, null, null, null, null, null, null).
2026-06-09 01:38:50 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:43:12 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:47:36 WARNING server odoo.http:826 <function odoo.addons.base_import.controllers.main.set_file> called ignoring args {'model', 'ufile'}
2026-06-09 01:56:47 WARNING server odoo.http:2874 As other units of measure (ex : mm) than Units have already been used for this product, the change of unit of measure can not be done.If you want to change it, please archive the product and create a new one.
2026-06-09 04:16:15 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "stock_warehouse_orderpoint" ("active", "bom_id", "company_id", "create_date", "create_uid", "location_id", "name", "product_id", "product_max_qty", "product_min_qty", "qty_to_order_manual", "replenishment_uom_id", "route_id", "supplier_id", "trigger", "warehouse_id", "write_date", "write_uid") VALUES (true, NULL, 4, \'2026-06-09T04:16:14.105129\'::timestamp, 2, 39, \'OP/00005\', 1766, \'0.00\', \'0.00\', \'0.00\', NULL, NULL, NULL, \'manual\', 3, \'2026-06-09T04:16:14.105129\'::timestamp, 2) RETURNING "id"'
ERROR: duplicate key value violates unique constraint "stock_warehouse_orderpoint_product_location_check"
DETAIL:  Key (product_id, location_id, company_id)=(1766, 39, 4) already exists.
2026-06-09 04:16:15 WARNING server odoo.http:2874 The operation cannot be completed: A replenishment rule already exists for this product on this location.
2026-06-09 04:16:27 ERROR server odoo.sql_db:436
bad query: b'INSERT INTO "stock_warehouse_orderpoint" ("active", "bom_id", "company_id", "create_date", "create_uid", "location_id", "name", "product_id", "product_max_qty", "product_min_qty", "qty_to_order_manual", "replenishment_uom_id", "route_id", "supplier_id", "trigger", "warehouse_id", "write_date", "write_uid") VALUES (true, NULL, 4, \'2026-06-09T04:16:23.214774\'::timestamp, 2, 39, \'OP/00006\', 1766, \'20.00\', \'20.00\', \'0.00\', NULL, NULL, NULL, \'manual\', 3, \'2026-06-09T04:16:23.214774\'::timestamp, 2) RETURNING "id"'
ERROR: duplicate key value violates unique constraint "stock_warehouse_orderpoint_product_location_check"
DETAIL:  Key (product_id, location_id, company_id)=(1766, 39, 4) already exists.
2026-06-09 04:16:27 WARNING server odoo.http:2874 The operation cannot be completed: A replenishment rule already exists for this product on this location.
2026-06-09 04:23:29 ERROR server odoo.sql_db:436
bad query: b'DELETE FROM "product_template" WHERE id IN (931)'
ERROR: update or delete on table "product_product" violates foreign key constraint "account_move_line_product_id_fkey" on table "account_move_line"
DETAIL:  Key (id)=(931) is still referenced from table "account_move_line".
2026-06-09 04:23:29 WARNING server odoo.http:2874
The operation cannot be completed: Another model is using the record you are trying to delete.
The troublemaker is: 'Journal Item' (account.move.line)
Thanks to the following constraint: 'Product' (product_id)
How about archiving the record instead?
2026-06-09 23:13:06 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-06-09 23:13:12 INFO server odoo.modules.loading:350 242 modules loaded in 3.72s, 2852 queries (+2852 extra)
2026-06-10 00:42:47 WARNING server odoo.addons.web.controllers.report:143
Error while generating report mrp.report_mrporder
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<2547>", line 62, in template_mrp_report_mrporder_2547_t_call_1
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-10 01:12:59 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-10 01:19:13 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:19:30 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:20:53 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:22:28 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:23:56 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:24:02 WARNING server odoo.http:2874 You must be logged in to process some of these work orders.
2026-06-10 01:24:31 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-10 01:24:43 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-10 01:28:22 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:28:57 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-10 01:29:21 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-10 01:29:44 WARNING server odoo.http:2874 You need to link this user to an employee of this company to process the work order
2026-06-10 01:29:50 WARNING server odoo.http:2874 You must be logged in to process some of these work orders.
2026-06-10 01:30:08 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [NAM-100H] 100mm Hook Sew-On
2026-06-10 01:30:43 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [NAM-100H] 100mm Hook Sew-On
2026-06-10 01:31:07 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [NAM-100H] 100mm Hook Sew-On
2026-06-10 01:55:23 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-10 01:58:14 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-10 22:22:23 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [NAM-25H] 25mm Hook Sew-On
- [NAM-25L] 25mm Loop Sew-On
2026-06-10 22:42:24 WARNING server odoo.http:2874
You can not delete a transaction from a valid statement.
If you want to delete it, please remove the statement first.
2026-06-10 22:56:39 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-11 01:08:04 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-11 01:08:51 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-11 01:44:02 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-11 03:18:41 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-11 05:46:19 INFO runbot Step False finished in 2d
2026-06-11 05:51:57 Waking up build
2026-06-11 05:51:57 INFO runbot Start running build 184705-19-0
2026-06-11 05:51:57 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-11 05:51:57 ERROR runbot Failed waking up build
2026-06-11 05:52:22 Waking up build
2026-06-11 05:52:22 INFO runbot Start running build 184705-19-0
2026-06-11 05:52:29 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-11 05:52:29 ERROR runbot Failed waking up build
2026-06-11 05:57:36 Waking up build
2026-06-11 05:57:36 INFO runbot Start running build 184705-19-0
2026-06-11 05:57:36 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-11 05:57:36 ERROR runbot Failed waking up build
2026-06-11 05:59:48 Waking up build
2026-06-11 05:59:48 INFO runbot Start running build 184705-19-0
2026-06-11 05:59:48 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-11 05:59:48 ERROR runbot Failed waking up build
2026-06-11 06:09:45 Waking up build
2026-06-11 06:09:45 INFO runbot Start running build 184705-19-0
2026-06-11 06:09:45 INFO runbot Using Dockerfile Tag odoo:WilldooIT19.0UV
2026-06-11 06:09:51 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-06-11 06:09:51 WARNING server odoo.addons.attachment_indexation.models.ir_attachment:17 Attachment indexation of PDF documents is unavailable because the 'pdfminer.six' Python library cannot be found on the system. You may install it from https://pypi.org/project/pdfminer.six/ (e.g. `pip3 install pdfminer.six`)
2026-06-11 06:09:57 INFO server odoo.modules.loading:350 242 modules loaded in 4.17s, 0 queries (+2 extra)
2026-06-12 05:36:34 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-12 05:36:57 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-15 04:06:24 WARNING server odoo.http:2874 Recursion Detected.
2026-06-15 22:18:54 WARNING server odoo.http:2874 As other units of measure (ex : mm) than Spool have already been used for this product, the change of unit of measure can not be done.If you want to change it, please archive the product and create a new one.
2026-06-15 22:35:23 WARNING server odoo.http:2874 As other units of measure (ex : Meter) than Units have already been used for this product, the change of unit of measure can not be done.If you want to change it, please archive the product and create a new one.
2026-06-15 22:48:24 WARNING server odoo.http:2874
Transfer trouble alert! Validating a zero quantity transfer? You're not moving invisible goods around are you?
Set some quantities and let's get moving!
2026-06-15 22:50:28 WARNING server odoo.http:2874 You are not allowed to create a lot or serial number with this operation type. To change this, go on the operation type and tick the box "Create New Lots/Serial Numbers".
2026-06-15 23:03:04 WARNING server odoo.http:2874 Rule WH: Subcontracting → Production belongs to My Company while the route belongs to THERMAGUARD PTY LTD.
2026-06-15 23:03:10 WARNING server odoo.http:2874 Rule WH: Subcontracting → Production belongs to My Company while the route belongs to THERMAGUARD PTY LTD.
2026-06-15 23:48:12 WARNING server odoo.http:2874
This product is already being used in posted Journal Entries.
If you want to change its Unit of Measure, please archive this product and create a new one.
2026-06-15 23:53:55 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [ORANGE] Orange Material
2026-06-15 23:55:37 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-15 23:59:03 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [ORANGE] Orange Material
2026-06-15 23:59:37 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-15 23:59:48 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-16 01:16:22 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [ORANGE] Orange Material
2026-06-16 01:17:19 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-16 01:19:30 WARNING server odoo.http:2874
You need to supply a Lot/Serial Number for product:
- [ORANGE] Orange Material
2026-06-16 01:24:08 WARNING server odoo.http:2874 You still need to do the quality checks!
2026-06-16 01:38:59 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.get_fields> called ignoring args {'name'}
2026-06-16 01:39:44 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-16 01:40:47 WARNING server odoo.http:826 <function odoo.addons.web.controllers.export.web_export_xlsx> called ignoring args {'token'}
2026-06-16 22:18:31 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-16 22:18:54 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-16 22:21:16 INFO server odoo.modules.loading:350 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-06-16 22:21:21 INFO server odoo.modules.loading:350 243 modules loaded in 1.18s, 211 queries (+211 extra)
2026-06-16 22:21:21 INFO server odoo.modules.loading:350 243 modules loaded in 0.00s, 0 queries (+0 extra)
2026-06-16 22:21:21 INFO server odoo.modules.loading:350 1 modules loaded in 0.06s, 0 queries (+0 extra)
2026-06-16 22:21:27 INFO server odoo.modules.loading:350 243 modules loaded in 0.48s, 0 queries (+0 extra)
2026-06-16 22:23:50 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-16 22:23:50 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-16 22:23:50 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-16 22:25:16 WARNING server odoo.addons.web.controllers.report:143
Error while generating report stock.report_picking
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<918>", line 134, in template_stock_report_picking_918_t_call_0
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-16 22:25:33 WARNING server odoo.addons.web.controllers.report:143
Error while generating report stock.report_picking
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<918>", line 134, in template_stock_report_picking_918_t_call_0
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-16 22:35:32 WARNING server odoo.addons.web.controllers.report:143
Error while generating report stock.report_picking
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<918>", line 134, in template_stock_report_picking_918_t_call_0
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-16 22:36:00 WARNING server odoo.addons.web.controllers.report:143
Error while generating report stock.report_picking
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<918>", line 134, in template_stock_report_picking_918_t_call_0
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-17 00:42:54 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:02:23 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:04:29 WARNING server odoo.addons.web.controllers.report:143
Error while generating report stock.report_picking
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 43, in _getPMBackend
    import rlPyCairo as M
ModuleNotFoundError: No module named 'rlPyCairo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 46, in _getPMBackend
    import _rl_renderPM as M
ModuleNotFoundError: No module named '_rl_renderPM'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/data/build/odoo/addons/web/controllers/report.py", line 120, in report_download
    response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 828, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/report.py", line 42, in report_routes
    pdf = report.with_context(context)._render_qweb_pdf(reportname, docids, data=data)[0]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1040, in _render_qweb_pdf
    collected_streams, report_type = self._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 74, in _pre_render_qweb_pdf
    return super()._pre_render_qweb_pdf(report_ref, res_ids=res_ids, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1031, in _pre_render_qweb_pdf
    return self._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids), 'pdf'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale_pdf_quote_builder/models/ir_actions_report.py", line 23, in _render_qweb_pdf_prepare_streams
    result = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/account_followup/models/ir_actions_report.py", line 13, in _render_qweb_pdf_prepare_streams
    res = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/sale/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/purchase/models/ir_actions_report.py", line 12, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account_edi_ubl_cii/models/ir_actions_report.py", line 11, in _render_qweb_pdf_prepare_streams
    collected_streams = super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/account/models/ir_actions_report.py", line 21, in _render_qweb_pdf_prepare_streams
    return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 879, in _render_qweb_pdf_prepare_streams
    html = self.with_context(**additional_context)._render_qweb_html(report_ref, all_res_ids_wo_stream, data=data)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_actions_report.py", line 24, in _render_qweb_html
    return super(IrActionsReport, self)._render_qweb_html(report_ref, docids, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 1119, in _render_qweb_html
    return self._render_template(report.report_name, data), 'html'
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 789, in _render_template
    return view_obj._render_template(template, values).encode()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/website/models/ir_ui_view.py", line 456, in _render_template
    return super()._render_template(template, values=values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_ui_view.py", line 2543, in _render_template
    return self.env['ir.qweb']._render(template, values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/enterprise/web_studio/models/ir_qweb.py", line 14, in _render
    return super()._render(template, values, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 733, in _render
    return Markup(''.join(iterator))
                  ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 761, in _render_iterall
    for item in frame.iterator:
                ^^^^^^^^^^^^^^
  File "<918>", line 134, in template_stock_report_picking_918_t_call_0
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb.py", line 2747, in _get_field
    content = converter.record_to_html(record, field_name, field_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 171, in record_to_html
    return False if value is False else self.value_to_html(value, options=options)
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_qweb_fields.py", line 804, in value_to_html
    barcode = self.env['ir.actions.report'].barcode(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_actions_report.py", line 745, in barcode
    return barcode.asString('png')
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/shapes.py", line 803, in asString
    return renderPM.drawToString(self, fmt=format,showBoundary=getattr(self,'showBorder',
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 721, in drawToString
    drawToFile(d,s,fmt=fmt, dpi=dpi, bg=bg, configPIL=configPIL,backend=backend)
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 716, in drawToFile
    c = drawToPMCanvas(d, dpi=dpi, bg=bg, configPIL=configPIL, showBoundary=showBoundary,backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 701, in drawToPMCanvas
    c = PMCanvas(d.width, d.height, dpi=dpi, bg=bg, configPIL=configPIL, backend=backend)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 304, in __init__
    self.__dict__['_gs'] = self._getGState(w,h,bg,backend)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 317, in _getGState
    mod = _getPMBackend(backend)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/odoo/.venv/lib/python3.12/site-packages/reportlab/graphics/renderPM.py", line 48, in _getPMBackend
    raise RenderPMError(f"""cannot import desired renderPM backend {backend}
reportlab.graphics.utils.RenderPMError: cannot import desired renderPM backend rlPyCairo
Seek advice at the users list see
https://pairlist2.pair.net/mailman/listinfo/reportlab-users
2026-06-17 01:21:11 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:22:03 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:22:49 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:22:49 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:22:49 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 01:46:01 WARNING server odoo.addons.mail.models.mail_mail:712 Database cannot send emails as it is not on the whitelist.
2026-06-17 07:00:02 ERROR server odoo.sql_db:436
bad query: b' UPDATE "mail_presence"\n                    SET "status" = "__tmp"."status"::VARCHAR\n                    FROM (VALUES (1, \'offline\')) AS "__tmp"("id", "status")\n                    WHERE "mail_presence"."id" = "__tmp"."id"\n                '
ERROR: could not serialize access due to concurrent update
2026-07-01 22:47:38 WARNING server odoo.http:2491
No CSRF validation token provided for path '/'
Odoo URLs are CSRF-protected by default (when accessed with unsafe
HTTP methods). See
https://www.odoo.com/documentation/master/developer/reference/addons/http.html#csrf
for more details.
* if this endpoint is accessed through Odoo via py-QWeb form, embed a CSRF
  token in the form, Tokens are available via `request.csrf_token()`
  can be provided through a hidden input and must be POST-ed named
  `csrf_token` e.g. in your form add:
      <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
* if the form is generated or posted in javascript, the token value is
  available as `csrf_token` on `web.core` and as the `csrf_token`
  value in the default js-qweb execution context
* if the form is accessed by an external third party (e.g. REST API
  endpoint, payment gateway callback) you will need to disable CSRF
  protection (and implement your own protection if necessary) by
  passing the `csrf=False` parameter to the `route` decorator.
2026-07-02 06:47:08 WARNING server odoo.http:2491
No CSRF validation token provided for path '/'
Odoo URLs are CSRF-protected by default (when accessed with unsafe
HTTP methods). See
https://www.odoo.com/documentation/master/developer/reference/addons/http.html#csrf
for more details.
* if this endpoint is accessed through Odoo via py-QWeb form, embed a CSRF
  token in the form, Tokens are available via `request.csrf_token()`
  can be provided through a hidden input and must be POST-ed named
  `csrf_token` e.g. in your form add:
      <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
* if the form is generated or posted in javascript, the token value is
  available as `csrf_token` on `web.core` and as the `csrf_token`
  value in the default js-qweb execution context
* if the form is accessed by an external third party (e.g. REST API
  endpoint, payment gateway callback) you will need to disable CSRF
  protection (and implement your own protection if necessary) by
  passing the `csrf=False` parameter to the `route` decorator.