Replaces Enterprise's hr_payroll_account with a Fusion-native bridge: - Adds account_debit / account_credit / fusion_analytic_account_id / not_computed_in_net to hr.salary.rule (company-dependent GL mapping) - Adds move_id + move_state + journal_id + _fusion_create_account_move to hr.payslip (validated payslip -> balanced account.move) - Adds move_id + move_state + action_open_move to hr.payslip.run - Adds journal_id (company-dependent) to hr.payroll.structure - Adds is_payroll_journal flag to account.journal - Adds payslip_ids / payslip_count + action_open_payslip on account.move - Adds payslip_id reverse link on account.move.line - Adds move_line_id reverse link on hr.payslip.line - Adds fusion_payroll_journal_id + fusion_payroll_auto_post to res.company (with res.config.settings exposure) Coexistence: detects Enterprise hr_payroll_account at runtime via ir.module.module and yields move creation to it while both modules are installed, so payslips do not get duplicate entries. Once the Enterprise module is uninstalled, this module owns the bridge. Auto-installs whenever both hr_payroll and fusion_accounting_core are present on the database. 10 smoke tests verifying field surface + bridge entrypoints all pass on westin-v19. Full payslip-to-move integration test deferred (needs seeded payroll structure). Removes Westin's last payroll-accounting dependency on Enterprise's accountant umbrella module (Phase 6b of the Fusion Accounting suite). Made-with: Cursor
60 lines
2.1 KiB
Python
60 lines
2.1 KiB
Python
{
|
|
'name': 'Fusion Accounting - HR Payroll Bridge',
|
|
'version': '19.0.1.0.0',
|
|
'category': 'Human Resources/Payroll',
|
|
'summary': 'Bridges payroll (hr_payroll) to accounting via account.move creation when payslips are validated.',
|
|
'description': """
|
|
Fusion Accounting - HR Payroll Bridge
|
|
=====================================
|
|
|
|
A Fusion-native replacement for Odoo Enterprise's ``hr_payroll_account``
|
|
module. Removes Westin's last payroll-accounting dependency on the
|
|
Enterprise ``accountant`` umbrella.
|
|
|
|
Scope
|
|
-----
|
|
- Adds ``account_debit`` / ``account_credit`` / ``analytic_distribution`` to
|
|
``hr.salary.rule`` (company-dependent GL mapping per rule).
|
|
- Adds ``move_id`` + ``journal_id`` + ``_fusion_create_account_move`` to
|
|
``hr.payslip``: when a payslip is validated, generates a balanced
|
|
``account.move`` from the salary rule mapping.
|
|
- Adds ``fusion_payroll_journal_id`` + ``fusion_payroll_auto_post`` to
|
|
``res.company`` (fallback journal + auto-post toggle).
|
|
- Reverse links ``payslip_ids`` / ``payslip_count`` on ``account.move``
|
|
for traceability and reporting.
|
|
|
|
Coexistence
|
|
-----------
|
|
When Odoo Enterprise's ``hr_payroll_account`` is also installed, this
|
|
module yields move-creation to it (detected at runtime via
|
|
``ir.module.module``) so payslips don't get duplicate entries. After
|
|
``hr_payroll_account`` is uninstalled, this module owns the bridge.
|
|
|
|
Auto-install
|
|
------------
|
|
Auto-installs whenever both ``hr_payroll`` and ``fusion_accounting_core``
|
|
are present.
|
|
""",
|
|
'author': 'Nexa Systems Inc.',
|
|
'website': 'https://nexasystems.ca',
|
|
'license': 'LGPL-3',
|
|
'depends': [
|
|
'fusion_accounting_core',
|
|
'account',
|
|
'hr_payroll',
|
|
'base_iban',
|
|
],
|
|
'data': [
|
|
'data/hr_salary_rule_data.xml',
|
|
'views/hr_salary_rule_views.xml',
|
|
'views/hr_payslip_views.xml',
|
|
'views/hr_payroll_structure_views.xml',
|
|
'views/res_config_settings_views.xml',
|
|
'views/account_move_views.xml',
|
|
],
|
|
'auto_install': ['hr_payroll', 'fusion_accounting_core'],
|
|
'installable': True,
|
|
'application': False,
|
|
'icon': '/fusion_accounting_hr_payroll/static/description/icon.png',
|
|
}
|