Skip to content

[18.0][MIG] fieldservice_account_analytic - #1578

Open
Jimmy-sc94 wants to merge 48 commits into
OCA:18.0from
Jimmy-sc94:18.0-mig-fieldservice_account_analytic
Open

[18.0][MIG] fieldservice_account_analytic#1578
Jimmy-sc94 wants to merge 48 commits into
OCA:18.0from
Jimmy-sc94:18.0-mig-fieldservice_account_analytic

Conversation

@Jimmy-sc94

Copy link
Copy Markdown

Migration of fieldservice_account_analytic to 18.0.

Supersedes #1226 (closed as stale). This is a plain migration of the 17.0 module, as suggested in that PR discussion: the extra features that raised review concerns there (analytic plans, automatic analytic account creation loops, fsm.order.cost, the account_usability dependency) are NOT included.

Review feedback from #1226 addressed on the 17.0 codebase:

  • account.move.line analytic assignment now extends _compute_analytic_distribution (no create override), with a constrains keeping the 17.0 validation.
  • Record rules moved to security/ with tightened domains and a read-only dispatcher rule.
  • ACLs reduced to minimal privilege; obsolete onchange removed.
  • create() is @api.model_create_multi with a guard on fsm_order_id.

18.0 adaptations verified against the 18.0 branches: fsm_order_list_view / fsm_location_list_view inheritance ids, _search signature without access_rights_uid, t-out in report templates, demo data re-pointed to analytic.analytic_plan_projects, tests updated (no detailed_type, fields.Command, tracking_disable).

Module installs on a real Odoo 18 database and all its tests pass with demo data.

brian10048 and others added 30 commits July 22, 2026 16:47
- This change removes most of the invoicing logic from fieldservice_account and puts it into its own module
[IMP] Move Method Up

[IMP] api.model + space

[IMP] fsm_parent_id

[FIX] Typo
[IMP] Remove Unused Import

[IMP] Github Comments

[IMP] Add FSM to Variable
Currently translated at 100.0% (25 of 25 strings)

Translation: field-service-14.0/field-service-14.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-14-0/field-service-14-0-fieldservice_account_analytic/es_AR/
Currently translated at 76.0% (19 of 25 strings)

Translation: field-service-14.0/field-service-14.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-14-0/field-service-14-0-fieldservice_account_analytic/tr/
Currently translated at 100.0% (25 of 25 strings)

Translation: field-service-14.0/field-service-14.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-14-0/field-service-14-0-fieldservice_account_analytic/pt_BR/
Currently translated at 100.0% (21 of 21 strings)

Translation: field-service-15.0/field-service-15.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-15-0/field-service-15-0-fieldservice_account_analytic/it/
Currently translated at 100.0% (21 of 21 strings)

Translation: field-service-15.0/field-service-15.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-15-0/field-service-15-0-fieldservice_account_analytic/es_AR/
Currently translated at 95.2% (20 of 21 strings)

Translation: field-service-15.0/field-service-15.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-15-0/field-service-15-0-fieldservice_account_analytic/pt_BR/
oca-ci and others added 16 commits July 22, 2026 16:47
Currently translated at 100.0% (21 of 21 strings)

Translation: field-service-16.0/field-service-16.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-16-0/field-service-16-0-fieldservice_account_analytic/es/
Currently translated at 100.0% (21 of 21 strings)

Translation: field-service-16.0/field-service-16.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-16-0/field-service-16-0-fieldservice_account_analytic/pt_BR/
Currently translated at 100.0% (21 of 21 strings)

Translation: field-service-16.0/field-service-16.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-16-0/field-service-16-0-fieldservice_account_analytic/it/
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: field-service-17.0/field-service-17.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_account_analytic/
This fixes unit tests in other modules like `fieldservice_sale`, which don't
directly depend on this one.

e.g.:
```
  File "/opt/odoo/odoo/api.py", line 415, in _model_create_multi
    return create(self, arg)
  File "/__w/field-service/field-service/fieldservice_account_analytic/models/account_move.py", line 22, in create
    raise ValidationError(
odoo.exceptions.ValidationError: No analytic account set on the order's Location.
```
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: field-service-17.0/field-service-17.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_account_analytic/
Currently translated at 100.0% (24 of 24 strings)

Translation: field-service-17.0/field-service-17.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_account_analytic/it/
Currently translated at 91.6% (22 of 24 strings)

Translation: field-service-17.0/field-service-17.0-fieldservice_account_analytic
Translate-URL: https://translation.odoo-community.org/projects/field-service-17-0/field-service-17-0-fieldservice_account_analytic/es/
@OCA-git-bot OCA-git-bot added series:18.0 mod:fieldservice_account_analytic Module fieldservice_account_analytic labels Jul 22, 2026
…_account_analytic

When fieldservice_account_analytic is in the addons graph, analytic lines
linked to an FSM order require the order's location to carry an analytic
account. Set one on the test location (guarded, so tests keep passing
when the module is not installed).
@Jimmy-sc94
Jimmy-sc94 force-pushed the 18.0-mig-fieldservice_account_analytic branch from d753346 to 8dcfb46 Compare July 22, 2026 21:27
@OCA-git-bot OCA-git-bot added the mod:fieldservice_subcontracting Module fieldservice_subcontracting label Jul 22, 2026
@Jimmy-sc94

Copy link
Copy Markdown
Author

Note for reviewers: this PR contains a second commit touching fieldservice_subcontracting tests only. That module is new in 18.0 and its tests create analytic lines linked to FSM orders whose test location has no analytic account — which this module (faithful to its 17.0 behavior) rejects. The fix seeds an analytic account on the test location, guarded so those tests keep passing when this module is not installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:fieldservice_account_analytic Module fieldservice_account_analytic mod:fieldservice_subcontracting Module fieldservice_subcontracting series:18.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.