Description: Install and run Odoo without demo data
Commit: kmitl:cf8b11b3  
Subject: [IMP] account_asset_kmitl: แหล่งเงิน
Author: Tanathip:)
Committer: Tanathip:)
Commit: social:f7961745  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
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-25 04:51:56 INFO runbot Init build environment with config Without demo
2026-02-25 04:51:56 Starting step install_without_demo from config Without demo
2026-02-25 04:51:56 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-02-25 04:54:07 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-25 04:54:26 INFO server odoo.modules.loading:336 1 modules loaded in 11.06s, 7917 queries (+7917 extra)
2026-02-25 04:55:16 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-25 04:55:17 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-25 04:55:17 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-25 04:55:24 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-25 04:56:40 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-25 04:57:57 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-25 04:57:58 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-25 04:58:00 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-25 04:58:00 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-25 04:58:04 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-25 04:58:13 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-25 04:58:13 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-25 04:58:16 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-25 04:58:21 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-25 04:58:21 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-25 04:58:21 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-25 04:58:21 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-25 04:58:55 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-25 04:59:00 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-25 04:59:03 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-25 04:59:03 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-25 04:59:05 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-25 04:59:05 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-25 04:59:12 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-25 04:59:12 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-25 04:59: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-25 04:59:15 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-25 04:59:15 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-25 04:59:16 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-25 04:59:19 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-25 04:59:20 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-25 04:59:20 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-25 04:59:21 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-25 04:59:22 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-25 04:59:22 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-25 04:59:23 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-25 04:59:25 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-25 04:59:54 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-25 04:59:54 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-25 04:59:54 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-25 05:00:00 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-25 05:00:00 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-25 05:00:00 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-25 05:00:00 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-25 05:00:02 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-25 05:00:02 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-25 05:00:02 INFO server odoo.modules.loading:336 308 modules loaded in 331.70s, 175441 queries (+175533 extra)
2026-02-25 05:00:11 Step install_without_demo finished in 8m
2026-02-25 05:00:11 Starting step run_without_demo from config Without demo
2026-02-25 05:00:11 INFO runbot Start running build 08528-16-0
2026-02-25 05:00:11 INFO runbot Using Dockerfile Tag odoo:DockerDefaultAke
2026-02-25 05:01:58 INFO server odoo.modules.loading:336 1 modules loaded in 0.01s, 0 queries (+0 extra)
2026-02-25 05:01:58 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-25 05:02:01 INFO server odoo.modules.loading:336 308 modules loaded in 2.78s, 0 queries (+0 extra)
2026-02-25 05:04:30 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-25 05:04:32 WARNING server odoo.modules.module:411 Missing `license` key in manifest for 'agx_approval', defaulting to LGPL-3
2026-02-25 05:08:28 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 43, in call_kw
    return 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 482, in call_kw
    result = _call_kw_model_create(method, model, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 460, in _call_kw_model_create
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-241>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/account-financial-tools/account_asset_management/models/account_asset.py", line 437, in create
    asset_ids = super().create(vals_list)
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-142>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_thread.py", line 258, in create
    threads = super(MailThread, self).create(vals_list)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-162>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 89, in create
    return super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-68>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create
    recs = super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-15>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 4050, in create
    next(iter(fields)).determine_inverse(batch_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/kmitl/account_asset_kmitl/models/account_asset.py", line 46, in _inverse_source_analytic
    line._update_analytic_distribution("sources")
  File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 125, in _update_analytic_distribution
    field_name = self._analytic_keys[plan_code]
                 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'sources'
2026-02-25 05:23:59 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 43, in call_kw
    return 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 482, in call_kw
    result = _call_kw_model_create(method, model, args, kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/api.py", line 460, in _call_kw_model_create
    result = method(recs, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-241>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 430, in _model_create_multi
    return create(self, [arg])
           ^^^^^^^^^^^^^^^^^^^
  File "/data/build/account-financial-tools/account_asset_management/models/account_asset.py", line 437, in create
    asset_ids = super().create(vals_list)
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-142>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/mail/models/mail_thread.py", line 258, in create
    threads = super(MailThread, self).create(vals_list)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-162>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/addons/analytic/models/analytic_mixin.py", line 89, in create
    return super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-68>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/addons/base/models/ir_fields.py", line 670, in create
    recs = super().create(vals_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<decorator-gen-15>", line 2, in create
  File "/data/build/odoo/odoo/api.py", line 431, in _model_create_multi
    return create(self, arg)
           ^^^^^^^^^^^^^^^^^
  File "/data/build/odoo/odoo/models.py", line 4050, in create
    next(iter(fields)).determine_inverse(batch_recs)
  File "/data/build/odoo/odoo/fields.py", line 1413, in determine_inverse
    determine(self.inverse, records)
  File "/data/build/odoo/odoo/fields.py", line 98, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File "/data/build/kmitl/account_asset_kmitl/models/account_asset.py", line 46, in _inverse_source_analytic
    line._update_analytic_distribution("sources")
  File "/data/build/kmitl/account_analytic_kmitl/models/analytic_mixin.py", line 125, in _update_analytic_distribution
    field_name = self._analytic_keys[plan_code]
                 ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'sources'
2026-02-25 10:58:47 INFO runbot Kill build 08528-16-0