From 11136f04dc162759cbd09907e7bc3e4f41758145 Mon Sep 17 00:00:00 2001 From: Mayank Patel Date: Wed, 11 Sep 2024 05:48:34 +0000 Subject: [PATCH] [REM] l10n_pe_hr_payroll_account: available in professional H14528 --- l10n_pe_hr_payroll_account/__init__.py | 13 -- l10n_pe_hr_payroll_account/__manifest__.py | 25 --- .../data/l10n_pe_hr_payroll_account_data.xml | 54 ------- .../data/l10n_pe_hr_payroll_account_demo.xml | 14 -- l10n_pe_hr_payroll_account/i18n/es.po | 31 ---- l10n_pe_hr_payroll_account/models/__init__.py | 3 - .../models/account_chart_template.py | 148 ------------------ 7 files changed, 288 deletions(-) delete mode 100644 l10n_pe_hr_payroll_account/__init__.py delete mode 100644 l10n_pe_hr_payroll_account/__manifest__.py delete mode 100644 l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_data.xml delete mode 100644 l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_demo.xml delete mode 100644 l10n_pe_hr_payroll_account/i18n/es.po delete mode 100644 l10n_pe_hr_payroll_account/models/__init__.py delete mode 100644 l10n_pe_hr_payroll_account/models/account_chart_template.py diff --git a/l10n_pe_hr_payroll_account/__init__.py b/l10n_pe_hr_payroll_account/__init__.py deleted file mode 100644 index 116ac075..00000000 --- a/l10n_pe_hr_payroll_account/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. - -from odoo import api, SUPERUSER_ID -from . import models - -def _post_install_hook_configure_journals(cr, registry): - """ - This method will create a salary journal for each company and allocate it to each Peru structure. - """ - env = api.Environment(cr, SUPERUSER_ID, {}) - companies = env['res.company'].search([('partner_id.country_id', '=', env.ref('base.pe').id)]) - for company in companies: - env['account.chart.template']._pe_configure_payroll_account_data(company) diff --git a/l10n_pe_hr_payroll_account/__manifest__.py b/l10n_pe_hr_payroll_account/__manifest__.py deleted file mode 100644 index 976d9a04..00000000 --- a/l10n_pe_hr_payroll_account/__manifest__.py +++ /dev/null @@ -1,25 +0,0 @@ -# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. - -{ - 'name': 'Peru - Payroll with Accounting', - 'author': 'Hibou Corp. ', - 'version': '15.0.2022.2.0', - 'category': 'Human Resources', - 'depends': [ - 'l10n_pe_hr_payroll', - 'hr_payroll_account', - ], - 'description': """ -Accounting Data for Peru Payroll Rules. -======================================= - """, - 'auto_install': True, - 'data': [ - 'data/l10n_pe_hr_payroll_account_data.xml', - ], - 'demo': [ - 'data/l10n_pe_hr_payroll_account_demo.xml', - ], - 'post_init_hook': '_post_install_hook_configure_journals', - 'license': 'OPL-1', -} diff --git a/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_data.xml b/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_data.xml deleted file mode 100644 index 4122258c..00000000 --- a/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_data.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - Peru Default Accounting - - - code - - if records: - companies = env.user.company_ids - # You can override the account codes with kwargs like: - # pay_ee='1234', - # pay_afp='1235', - # pay_onp='1236', - # pay_ir_4ta_cat='2222', - # pay_ir_5ta_cat='1238', - # pay_essalud='1239', - # exp_salary='1240', - # exp_com='1222', - # exp_bono='1223', - # exp_essalud='1241', - # exp_gratif='1245', - env['account.chart.template']._pe_configure_payroll_account_data(companies, salary_rules=records, full_reset=False) - - - - - Peru Default Accounting (Reset) - - - code - - if records: - companies = env.user.company_ids - # You can override the account codes with kwargs like: - # pay_ee='1234', - # pay_afp='1235', - # pay_onp='1236', - # pay_ir_4ta_cat='2222', - # pay_ir_5ta_cat='1238', - # pay_essalud='1239', - # exp_salary='1240', - # exp_com='1222', - # exp_bono='1223', - # exp_essalud='1241', - # exp_gratif='1245', - env['account.chart.template']._pe_configure_payroll_account_data(companies, salary_rules=records, full_reset=True) - - - - - diff --git a/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_demo.xml b/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_demo.xml deleted file mode 100644 index 58168767..00000000 --- a/l10n_pe_hr_payroll_account/data/l10n_pe_hr_payroll_account_demo.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/l10n_pe_hr_payroll_account/i18n/es.po b/l10n_pe_hr_payroll_account/i18n/es.po deleted file mode 100644 index 1ec384e8..00000000 --- a/l10n_pe_hr_payroll_account/i18n/es.po +++ /dev/null @@ -1,31 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * l10n_pe_hr_payroll_account -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 13.0+e\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-29 22:13+0000\n" -"PO-Revision-Date: 2022-04-29 22:13+0000\n" -"Last-Translator: \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: l10n_pe_hr_payroll_account -#: model:ir.model,name:l10n_pe_hr_payroll_account.model_account_chart_template -msgid "Account Chart Template" -msgstr "Plantila de Plan Contable" - -#. module: l10n_pe_hr_payroll_account -#: model:ir.actions.server,name:l10n_pe_hr_payroll_account.action_pe_salary_rule_account_set -msgid "Peru Default Accounting" -msgstr "Contabilidad para PerĂº por Defecto" - -#. module: l10n_pe_hr_payroll_account -#: model:ir.actions.server,name:l10n_pe_hr_payroll_account.action_pe_salary_rule_account_reset -msgid "Peru Default Accounting (Reset)" -msgstr "Contabilidad de PerĂº por Defecto (Resetear)" \ No newline at end of file diff --git a/l10n_pe_hr_payroll_account/models/__init__.py b/l10n_pe_hr_payroll_account/models/__init__.py deleted file mode 100644 index 21f7d3d7..00000000 --- a/l10n_pe_hr_payroll_account/models/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. - -from . import account_chart_template diff --git a/l10n_pe_hr_payroll_account/models/account_chart_template.py b/l10n_pe_hr_payroll_account/models/account_chart_template.py deleted file mode 100644 index 923831c7..00000000 --- a/l10n_pe_hr_payroll_account/models/account_chart_template.py +++ /dev/null @@ -1,148 +0,0 @@ -# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. - -from odoo import models - -EXP_SALARY = '6211000' -EXP_EXTRA = '621100' -EXP_COM = '6212000' -EXP_BONO = '6220000' -EXP_ESSALUD = '6271000' -EXP_GRATIF = '6214000' - -PAY_EE = '4111000' -PAY_AFP = '4170000' -PAY_ONP = '4032000' -PAY_IR_4TA_CAT = '4017200' -PAY_IR_5TA_CAT = '4017300' -PAY_ESSALUD = '4031000' - - -class AccountChartTemplate(models.Model): - _inherit = 'account.chart.template' - - def _load(self, sale_tax_rate, purchase_tax_rate, company): - """ - Override to configure payroll accounting data as well as accounting data. - """ - res = super()._load(sale_tax_rate, purchase_tax_rate, company) - self._pe_configure_payroll_account_data(company) - return res - - def _pe_configure_payroll_account_data(self, companies, - pay_ee=PAY_EE, - pay_afp=PAY_AFP, - pay_onp=PAY_ONP, - pay_ir_4ta_cat=PAY_IR_4TA_CAT, - pay_ir_5ta_cat=PAY_IR_5TA_CAT, - pay_essalud=PAY_ESSALUD, - exp_salary=EXP_SALARY, - exp_extra=EXP_EXTRA, - exp_com=EXP_COM, - exp_bono=EXP_BONO, - exp_essalud=EXP_ESSALUD, - exp_gratif=EXP_GRATIF, - salary_rules=None, full_reset=False): - account_codes = ( - pay_ee, - pay_afp, - pay_onp, - pay_ir_4ta_cat, - pay_ir_5ta_cat, - pay_essalud, - exp_salary, - exp_extra, - exp_com, - exp_bono, - exp_essalud, - exp_gratif, - ) - pe_structures = self.env['hr.payroll.structure'].search([('country_id', '=', self.env.ref('base.pe').id)]) - journal_field_id = self.env['ir.model.fields'].search([ - ('model', '=', 'hr.payroll.structure'), - ('name', '=', 'journal_id')], limit=1) - - for company in companies: - self = self.with_context({'allowed_company_ids': company.ids}) - accounts = { - code: self.env['account.account'].search( - [('company_id', '=', company.id), ('code', '=like', '%s%%' % code)], limit=1) - for code in account_codes - } - accounts['none'] = self.env['account.account'].browse() - - def set_rule_accounts(code, account_debit, account_credit): - rule_domain = [ - ('struct_id', 'in', pe_structures.ids), - ('code', '=like', code), - ] - if salary_rules: - rule_domain.append(('id', 'in', salary_rules.ids)) - rules = self.env['hr.salary.rule'].search(rule_domain) - if full_reset: - values = { - 'account_debit': account_debit.id, - 'account_credit': account_credit.id, - } - rules.write(values) - else: - # we need to ensure we do not update an account that is already set - for rule in rules: - values = {} - if account_debit and not rule.account_debit: - values['account_debit'] = account_debit.id - if account_credit and not rule.account_credit: - values['account_credit'] = account_credit.id - if values: - # save a write if no values to write - rule.write(values) - - journal = self.env['account.journal'].search([ - ('code', '=', 'PAYR'), - ('name', '=', 'Payroll'), - ('company_id', '=', company.id), - ]) - if journal: - if not journal.default_account_id: - journal.default_account_id = accounts[exp_salary].id - if hasattr(journal, 'payroll_entry_type'): - journal.payroll_entry_type = 'grouped' - else: - journal = self.env['account.journal'].create({ - 'name': 'Payroll', - 'code': 'PAYR', - 'type': 'general', - 'company_id': company.id, - 'default_account_id': accounts[exp_salary].id, - }) - if hasattr(journal, 'payroll_entry_type'): - journal.payroll_entry_type = 'grouped' - - self.env['ir.property']._set_multi( - "journal_id", - "hr.payroll.structure", - {structure.id: journal for structure in pe_structures}, - ) - - # Find rules and set accounts on them. - # Find all rules that are ... - - # BASIC* -> SALARY_EXPENSE debit account - set_rule_accounts('BASIC%', accounts[exp_salary], accounts['none']) - # ALW* -> SALARY_EXPENSE debit account - set_rule_accounts('ALW%', accounts[exp_salary], accounts['none']) - set_rule_accounts('ALW_BONO%', accounts[exp_bono], accounts['none']) - set_rule_accounts('ALW_BADGES%', accounts[exp_bono], accounts['none']) - set_rule_accounts('ALW_COM%', accounts[exp_com], accounts['none']) - set_rule_accounts('ALW_EXTRA%', accounts[exp_extra], accounts['none']) - set_rule_accounts('ALW_GRATIF%', accounts[exp_gratif], accounts['none']) - # EE_* -> AP debit - set_rule_accounts('EE_%', accounts[pay_ee], accounts['none']) # initialize - set_rule_accounts('EE_PE_AFP%', accounts[pay_afp], accounts['none']) - set_rule_accounts('EE_PE_ONP%', accounts[pay_onp], accounts['none']) - set_rule_accounts('EE_PE_IR_4TA_CAT%', accounts[pay_ir_4ta_cat], accounts['none']) - set_rule_accounts('EE_PE_IR_5TA_CAT%', accounts[pay_ir_5ta_cat], accounts['none']) - # ER_* -> AP debit, SE credit - set_rule_accounts('ER_%', accounts[pay_ee], accounts[exp_salary]) # initialize - set_rule_accounts('ER_PE_ESSALUD%', accounts[pay_essalud], accounts[exp_essalud]) - # NET* -> AP credit - set_rule_accounts('NET%', accounts['none'], accounts[pay_ee])