Description: Install and run Odoo without demo data
Commit: kmitl:c6562903  
Subject: [16.0][IMP] account_asset_depreciation_report: filter source_analytic_id via stored field
Author: n3n
Committer: Tanathip Singhanon
Commit: social:82e71938  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: stock-logistics-warehouse:dee1162f  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: product-attribute:198468b8  
Subject: Merge pull request #2205 from AmetrasIntelligence/16.0_fix_product_packaging_level_migration
Author: Pedro M. Baeza
Committer: GitHub
Commit: partner-contact:564cbc9c  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: account-analytic:12eec4eb  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: operating-unit:dd59492d  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: stock-logistics-request:78a27e65  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: agreement:800e753c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-backend:ccf60878  
Subject: Update requirements.txt
Author: Nopparut Saelim
Committer: GitHub
Commit: account-reconcile:c031db9d  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: mis-builder:82d39175  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: reporting-engine:4cafaadb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: odoo:6491e005  
Subject: [FIX] survey: avoid timer early submissions due to time difference
Author: João Alves
Committer: João Horta Alves
Commit: account-financial-reporting:948901d9  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: project:7a5c615c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: server-tools:3abe25d7  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: server-ux:23e96d19  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: hr:3af635cb  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: account-financial-tools:c3b3e7dd  
Subject: Added translation using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: web:fb9be06e  
Subject: Translated using Weblate (Portuguese (Brazil))
Author: Luis Felipe Miléo
Committer: Weblate
Commit: account-invoicing:7207e6e2  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: purchase-workflow:ecf70d6c  
Subject: Translated using Weblate (Turkish)
Author: Betül Öğmen
Committer: Weblate
Commit: server-brand:2bc45d77  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: l10n-thailand:0b7b078e  
Subject: [UPD] addons table in README.md
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: odoo-modules:76529673  
Subject: Merge branch '16.0' of github.com:Aginix/odoo-modules into 16.0
Author: Nonpawit Teerachetmongkol
Committer: Nonpawit Teerachetmongkol
Version: 16.0
Config: Without demo
Total time: 8m
Date Level Type Message
2026-02-27 06:18:55 INFO runbot Init build environment with config Without demo
2026-02-27 06:18:55 Starting step install_without_demo from config Without demo
2026-02-27 06:18:55 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-02-27 06:20:52 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-27 06:21:09 INFO server odoo.modules.loading:336 1 modules loaded in 10.04s, 7917 queries (+7917 extra)
2026-02-27 06:21:51 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-02-27 06:21:52 WARNING server odoo.addons.base.models.ir_ui_view:773
A button with icon attribute (fa-envelope-open) must have title in its tag, parents, descendants or have text
View error context:
{'file': '/data/build/kmitl/agx_sarabun/views/sarabun_document_views.xml',
 'line': 13,
 'name': 'sarabun.document.view.tree.incoming',
 'view': ir.ui.view(791,),
 'view.model': 'sarabun.document',
 'view.parent': ir.ui.view(),
 'xmlid': 'sarabun_document_view_tree_incoming'}
2026-02-27 06:21:52 WARNING server odoo.addons.base.models.ir_ui_view:773
A button with icon attribute (fa-envelope) must have title in its tag, parents, descendants or have text
View error context:
{'file': '/data/build/kmitl/agx_sarabun/views/sarabun_document_views.xml',
 'line': 14,
 'name': 'sarabun.document.view.tree.incoming',
 'view': ir.ui.view(791,),
 'view.model': 'sarabun.document',
 'view.parent': ir.ui.view(),
 'xmlid': 'sarabun_document_view_tree_incoming'}
2026-02-27 06:21:58 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-02-27 06:23:07 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-02-27 06:24:20 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:24:21 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-02-27 06:24:24 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (participant_ids, target_ids) of kmitl.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: kmitl_project and kmitl_project]
2026-02-27 06:24:24 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (organizer_ids, target_ids) of kmitl.project() have the same label: กลุ่มเป้าหมาย/ผู้ดำเนินโครงการ. [Modules: kmitl_project and kmitl_project]
2026-02-27 06:24:27 WARNING server odoo.modules.loading:276
The models ['kmitl.project.exception.confirm'] have no access rules in module kmitl_project, consider adding some, like:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
kmitl_project.access_kmitl_project_exception_confirm,access_kmitl_project_exception_confirm,kmitl_project.model_kmitl_project_exception_confirm,base.group_user,1,0,0,0
2026-02-27 06:24:37 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:24:37 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:24:39 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:24:45 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:24:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-02-27 06:24:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.master.summary() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-02-27 06:24:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:25:14 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:25:20 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (quantity_unsigned, quantity) of stock.valuation.layer() have the same label: Quantity. [Modules: stock_picking_kmitl and stock_account]
2026-02-27 06:25:24 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-02-27 06:25:24 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.master.summary() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-02-27 06:25:26 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.move.line() have the same label: รหัสงบประมาณ. [Modules: budget and budget]
This error is already known.
2026-02-27 06:25:26 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:25:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:25:33 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (create_uid, user_id) of budget.appropriation.compilation() have the same label: Created by. [Modules: budget_appropriation_summary and budget_appropriation_summary]
2026-02-27 06:25:35 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:25:36 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form.tier_validation.custom (): use the hasclass(*classes) function to filter elements by their classes
2026-02-27 06:25:36 WARNING server odoo.addons.base.models.ir_ui_view:412 Error-prone use of @class in view view.work.acceptance.form.tier_validation.custom (): use the hasclass(*classes) function to filter elements by their classes
2026-02-27 06:25:37 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (account_id, code) of budget.appropriation.line() have the same label: รหัสงบประมาณ. [Modules: budget_appropriation and budget_appropriation]
2026-02-27 06:25:40 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:40 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:41 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:42 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:42 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:43 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:25:44 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line.make.purchase.order.item() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:25:46 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:26:14 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-02-27 06:26:14 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (work_end_display, work_end) of purchase.order() have the same label: Work End. [Modules: purchase_contract_kmitl and purchase_contract_kmitl]
2026-02-27 06:26:14 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (attachment_count, message_attachment_count) of sarabun.document() have the same label: Attachment Count. [Modules: agx_sarabun and mail]
2026-02-27 06:26:19 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-02-27 06:26:19 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (display_purchase_order, purchase_order_id) of purchase.request.approval() have the same label: Purchase Order. [Modules: purchase_request_approval_disbursement and purchase_request_approval_disbursement]
2026-02-27 06:26:19 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-02-27 06:26:19 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (tax_id, price_tax) of purchase.request.line() have the same label: Tax. [Modules: purchase_request_price_tax_included and purchase_request_price_tax_included]
2026-02-27 06:26:21 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (display_purchase_order, purchase_order_id) of purchase.request.approval() have the same label: Purchase Order. [Modules: purchase_request_approval_disbursement and purchase_request_approval_disbursement]
2026-02-27 06:26:21 WARNING server odoo.addons.base.models.ir_model:1077 Two fields (department_id, requesting_department_id) of purchase.request.approval() have the same label: Department. [Modules: None and purchase_request_approval]
2026-02-27 06:26:21 INFO server odoo.modules.loading:336 309 modules loaded in 307.94s, 175578 queries (+175670 extra)
2026-02-27 06:26:30 Step install_without_demo finished in 7m
2026-02-27 06:26:30 Starting step run_without_demo from config Without demo
2026-02-27 06:26:30 INFO runbot Start running build 08637-16-0
2026-02-27 06:26:30 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-02-27 06:28:23 INFO server odoo.modules.loading:336 1 modules loaded in 0.02s, 0 queries (+0 extra)
2026-02-27 06:28:23 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-27 06:28:26 INFO server odoo.modules.loading:336 309 modules loaded in 2.75s, 0 queries (+0 extra)
2026-02-27 07:34:29 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-27 07:34:31 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-27 07:36:44 WARNING server odoo.http:2257 Department short name is missing.
2026-02-27 07:38:01 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/odoo/odoo/http.py", line 2237, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 152, in retrying
    result = func()
             ^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2056, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 47, in call_button
    action = self._call_kw(model, method, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 34, in _call_kw
    return call_kw(Model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 485, in call_kw
    model.env.flush_all()
  File "/data/build/odoo/odoo/api.py", line 761, in flush_all
    self._recompute_all()
  File "/data/build/odoo/odoo/api.py", line 757, in _recompute_all
    self[field.model_name]._recompute_field(field)
  File "/data/build/odoo/odoo/models.py", line 6335, in _recompute_field
    field.recompute(records)
  File "/data/build/odoo/odoo/fields.py", line 1382, in recompute
    apply_except_missing(self.compute_value, recs)
  File "/data/build/odoo/odoo/fields.py", line 1355, in apply_except_missing
    func(records)
  File "/data/build/odoo/odoo/fields.py", line 1404, in compute_value
    records._compute_field_value(self)
  File "/data/build/odoo/addons/mail/models/mail_thread.py", line 403, in _compute_field_value
    return super()._compute_field_value(field)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 4276, in _compute_field_value
    fields.determine(field.compute, self)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 138, in _compute_analytic_id
    rec[self._analytic_keys.get(account_id.plan_id.code)] = account_id.id
    ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 6016, in __setitem__
    return self._fields[key].__set__(self, value)
           ~~~~~~~~~~~~^^^^^
KeyError: None
2026-02-27 07:41:25 WARNING server odoo.http:761 <function odoo.addons.web.controllers.binary.content_common> called ignoring args {'token', 'data'}
2026-02-27 07:46:48 ERROR server odoo.http:2259
Exception during request handling.
Traceback (most recent call last):
  File "/data/build/odoo/odoo/http.py", line 2237, in __call__
    response = request._serve_db()
               ^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1824, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/service/model.py", line 152, in retrying
    result = func()
             ^^^^^^
  File "/data/build/odoo/odoo/http.py", line 1852, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 2056, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/http.py", line 763, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 47, in call_button
    action = self._call_kw(model, method, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/web/controllers/dataset.py", line 34, in _call_kw
    return call_kw(Model, method, args, kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 485, in call_kw
    model.env.flush_all()
  File "/data/build/odoo/odoo/api.py", line 761, in flush_all
    self._recompute_all()
  File "/data/build/odoo/odoo/api.py", line 757, in _recompute_all
    self[field.model_name]._recompute_field(field)
  File "/data/build/odoo/odoo/models.py", line 6335, in _recompute_field
    field.recompute(records)
  File "/data/build/odoo/odoo/fields.py", line 1382, in recompute
    apply_except_missing(self.compute_value, recs)
  File "/data/build/odoo/odoo/fields.py", line 1355, in apply_except_missing
    func(records)
  File "/data/build/odoo/odoo/fields.py", line 1404, in compute_value
    records._compute_field_value(self)
  File "/data/build/odoo/addons/mail/models/mail_thread.py", line 403, in _compute_field_value
    return super()._compute_field_value(field)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 4276, in _compute_field_value
    fields.determine(field.compute, self)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 138, in _compute_analytic_id
    rec[self._analytic_keys.get(account_id.plan_id.code)] = account_id.id
    ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 6016, in __setitem__
    return self._fields[key].__set__(self, value)
           ~~~~~~~~~~~~^^^^^
KeyError: None
2026-02-27 11:19:32 INFO runbot Kill build 08637-16-0