Files
enterprise-addons/l10n_ke_hr_payroll_account/models/account_chart_template.py
T

93 lines
3.6 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from collections import defaultdict
from odoo import models
class AccountChartTemplate(models.AbstractModel):
_inherit = "account.chart.template"
def _configure_payroll_account_ke(self, companies):
account_codes = [
'2210',
'2230',
'2231',
'2232',
'2233',
'2234',
'2235',
'5109',
'510910',
'510920',
'510930',
]
default_account = '5109'
rules_mapping = defaultdict(dict)
# ==================================== #
# Kenya: Regular Pay #
# ==================================== #
gross = self.env['hr.salary.rule'].search([
('struct_id', '=', self.env.ref('l10n_ke_hr_payroll.hr_payroll_structure_ken_employee_salary').id),
('code', '=', 'GROSS')
])
rules_mapping[gross]['debit'] = '5109'
ahl_amount = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_salary_ahl_amount')
rules_mapping[ahl_amount]['credit'] = '2210'
paye = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_salary_paye')
rules_mapping[paye]['credit'] = '2210'
nssf_amount = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_nssf_amount')
rules_mapping[nssf_amount]['credit'] = '2230'
nhif_amount = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_salary_nhif_amount')
rules_mapping[nhif_amount]['credit'] = '2231'
shif_amount = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_salary_shif_amount')
rules_mapping[shif_amount]['credit'] = '2231'
helb = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_helb')
rules_mapping[helb]['credit'] = '2232'
voluntary_medical_insurance = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_volontary_medical_insurance')
rules_mapping[voluntary_medical_insurance]['credit'] = '2233'
life_insurance = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_life_insurance')
rules_mapping[life_insurance]['credit'] = '2234'
education = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_education')
rules_mapping[education]['credit'] = '2235'
pension_contribution = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employees_salary_pension_contribution')
rules_mapping[pension_contribution]['credit'] = '2230'
nita_employer_cost = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employer_nita')
rules_mapping[nita_employer_cost]['debit'] = '510930'
rules_mapping[nita_employer_cost]['credit'] = '2210'
nssf_employer_cost = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employer_nssf_employer')
rules_mapping[nssf_employer_cost]['debit'] = '510910'
rules_mapping[nssf_employer_cost]['credit'] = '2230'
ahl_amount_employer = self.env.ref('l10n_ke_hr_payroll.l10n_ke_employer_salary_ahl_amount')
rules_mapping[ahl_amount_employer]['debit'] = '510920'
rules_mapping[ahl_amount_employer]['credit'] = '2210'
net = self.env['hr.salary.rule'].search([
('struct_id', '=', self.env.ref('l10n_ke_hr_payroll.hr_payroll_structure_ken_employee_salary').id),
('code', '=', 'NET')
])
rules_mapping[net]['credit'] = '2220'
self._configure_payroll_account(
companies,
"KE",
account_codes=account_codes,
rules_mapping=rules_mapping,
default_account=default_account)