TIP: You can type at any time to perform a new search.
Indian Payroll
l10n_in_hr_payroll · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Human Resources
- Folder size
- 0.12 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-07 05:07:20
- Authors
- Maintainers
- None
- Committers
- Fabien Pinckaers, Raphael Collet, Christophe Simonis, Martin Trigaux, Nicolas Martinelli, qdp-odoo, Géry Debongnie, GitHub, Olivier Colson, Yannick Tivisse, qsm-odoo, Christophe Monniez, Jorge Pinna Puissant, Adrian Torres, Xavier-Do
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Indian Payroll Salary Rules. ============================ -Configuration of hr_payroll for India localization -All main contributions rules for India payslip. * New payslip report * Employee Contracts * Allow to configure Basic / Gross / Net Salary * Employee PaySlip * Allowance / Deduction * Integrated with Leaves Management * Medical Allowance, Travel Allowance, Child Allowance, ... - Payroll Advice and Report - Yearly Salary by Head and Yearly Salary by Employee Report
Code Analysis ⓘ
Views touched (19)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_form_in_inherit |
hr.contract.form.in.inherit | hr.contract | form | Inherits hr_contract.hr_contract_view_form |
hr_department_view_kanban |
hr.department.kanban.inherit | hr.department | kanban | Inherits hr.hr_department_view_kanban |
hr_payslip_run_form_inherit |
hr.payslip.run.form.inherit | hr.payslip.run | form | Inherits hr_payroll.hr_payslip_run_form |
hr_payslip_run_search_inherit |
hr.payslip.run.search.inherit | hr.payslip.run | search | Inherits hr_payroll.hr_payslip_run_filter |
report_hrsalarybymonth |
report_hrsalarybymonth | ir.ui.view | qweb | New |
report_hryearlysalary |
report_hryearlysalary | ir.ui.view | qweb | New |
report_payrolladvice |
report_payrolladvice | ir.ui.view | qweb | New |
report_payslipdetails |
report_payslipdetails | ir.ui.view | qweb | New |
view_advice_line_form |
advice.line.form | hr.payroll.advice.line | form | New |
view_hr_bank_advice_form |
hr.payroll.advice.form | hr.payroll.advice | form | New |
view_hr_bank_advice_tree |
hr.payroll.advice.tree | hr.payroll.advice | tree | New |
view_hr_payroll_advice_filter |
hr.payroll.advice.select | hr.payroll.advice | search | New |
view_payment_advice_search |
payment.advice.report.search | payment.advice.report | search | New |
view_payment_advice_tree |
payment.advice.report.tree | payment.advice.report | tree | New |
view_payslip_search |
payslip.report.search | payslip.report | search | New |
view_payslip_tree |
payslip.report.tree | payslip.report | tree | New |
view_res_company_da |
res.company.form.l10n_in_hr_payroll.inherit | res.company | form | Inherits base.view_company_form |
view_salary_employee_month |
Hr monthly Employee Salary | hr.salary.employee.month | form | New |
view_yearly_salary_detail |
Employee Yearly Salary | yearly.salary.detail | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (14)
New fields (6)
-
driver_salayBooleanhelp='Check this box if you provide allowance for driver'string='Driver Salary' -
house_rent_allowance_metro_nonmetroFloatdigits=dp.get_precision('Payroll')help='HRA is an allowance given by the employer to the employee for taking care of his rental or accommodation expenses for metro city it is 50% and for non metro 40%. \nHRA computed as percentage(%)'string='House Rent Allowance (%)' -
medical_insuranceFloatdigits=dp.get_precision('Payroll')help='Deduction towards company provided medical insurance'string='Medical Insurance' -
supplementary_allowanceFloatdigits=dp.get_precision('Payroll')string='Supplementary Allowance' -
tdsFloatdigits=dp.get_precision('Payroll')help='Amount for Tax Deduction at Source'string='TDS' -
voluntary_provident_fundFloatdigits=dp.get_precision('Payroll')help='VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government and VPF computed as percentage(%)'string='Voluntary Provident Fund (%)'
No public methods.
New fields (11)
-
bank_idMany2one → res.bankhelp='Select the Bank from which the salary is going to be paid'readonly=Truestates={'draft': [('readonly', False)]}string='Bank' args: 'res.bank' -
batch_idMany2one → hr.payslip.runreadonly=Truestring='Batch' args: 'hr.payslip.run' -
chaque_nosCharstring='Cheque Numbers' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestates={'draft': [('readonly', False)]}string='Company' args: 'res.company' -
dateDatedefault=_get_default_datehelp='Advice Date is used to search Payslips'readonly=Truerequired=Truestates={'draft': [('readonly', False)]} -
line_idsOne2many → hr.payroll.advice.linecopy=Truereadonly=Truestates={'draft': [('readonly', False)]}string='Employee Salary' args: 'hr.payroll.advice.line', 'advice_id' -
nameCharreadonly=Truerequired=Truestates={'draft': [('readonly', False)]} -
neftBooleanhelp='Check this box if your company use online transfer for salary'string='NEFT Transaction' -
noteTextdefault='Please make the payroll transfer from above account number to the below mentioned account numbers towards employee salaries:'string='Description' -
numberCharreadonly=Truestring='Reference' -
stateSelectiondefault='draft'index=Truereadonly=Truestring='Status' args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('cancel', 'Cancelled')]
-
cancel_sheet(self)@api.multiMarks Advice as cancelled. -
compute_advice(self)@api.multiAdvice - Create Advice lines in Payment Advice and compute Advice lines. -
confirm_sheet(self)@api.multiconfirm Advice - confirmed Advice after computing Advice Lines.. -
set_to_draft(self)@api.multiResets Advice as draft.
New fields (8)
-
advice_idMany2one → hr.payroll.advicestring='Bank Advice' args: 'hr.payroll.advice' -
bysalFloatdigits=dp.get_precision('Payroll')string='By Salary' -
company_idMany2one → res.companyreadonly=Falserelated='advice_id.company_id'store=Truestring='Company' args: 'res.company' -
debit_creditChardefault='C'string='C/D' -
employee_idMany2one → hr.employeerequired=Truestring='Employee' args: 'hr.employee' -
ifscBooleanreadonly=Falserelated='advice_id.neft'string='IFSC' -
ifsc_codeCharstring='IFSC Code' -
nameCharrequired=True args: 'Bank Account No.'
-
onchange_employee_id(self)@api.onchange('employee_id')
New fields (1)
-
advice_idMany2one → hr.payroll.advicecopy=Falsestring='Bank Advice' args: 'hr.payroll.advice'
No public methods.
New fields (1)
-
available_adviceBooleancopy=Falsehelp='If this box is checked which means that Payment Advice exists for current batch'readonly=Falsestring='Made Payment Advice?'
-
create_advice(self)@api.multi -
draft_payslip_run(self)@api.multi
New fields (4)
-
category_idMany2one → hr.salary.rule.categorydefault=_get_default_categoryrequired=Truestring='Category' args: 'hr.salary.rule.category' -
employee_idsMany2many → hr.employeerequired=Truestring='Employees' args: 'hr.employee', 'payroll_year_rel', 'payroll_year_id', 'employee_id' -
end_dateDatedefault=_get_default_end_daterequired=Truestring='End Date' -
start_dateDatedefault=_get_default_start_daterequired=Truestring='Start Date'
-
print_report(self)@api.multiTo get the date and print the report @return: return report
New fields (16)
-
bank_idMany2one → res.bankreadonly=Truestring='Bank' args: 'res.bank' -
bysalFloatreadonly=Truestring='By Salary' -
cheque_nosCharreadonly=Truestring='Cheque Numbers' -
company_idMany2one → res.companyreadonly=Truestring='Company' args: 'res.company' -
dateDatereadonly=True -
dayCharreadonly=True -
employee_bank_noCharrequired=Truestring='Employee Bank Account' -
employee_idMany2one → hr.employeereadonly=Truestring='Employee' args: 'hr.employee' -
ifsc_codeCharreadonly=Truestring='IFSC Code' -
monthSelectionreadonly=True args: [('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'), ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'), ('10', 'October'), ('11', 'November'), ('12', 'December')] -
nameCharreadonly=True -
nbrIntegerreadonly=Truestring='# Payment Lines' -
neftBooleanreadonly=Truestring='NEFT Transaction' -
numberCharreadonly=True -
stateSelectionindex=Truereadonly=Truestring='Status' args: [('draft', 'Draft'), ('confirm', 'Confirmed'), ('cancel', 'Cancelled')] -
yearCharreadonly=True
-
init(self)@api.model_cr
New fields (15)
-
category_idMany2one → hr.salary.rule.categoryreadonly=Truestring='Category' args: 'hr.salary.rule.category' -
company_idMany2one → res.companyreadonly=Truestring='Company' args: 'res.company' -
date_fromDatereadonly=Truestring='Date From' -
date_toDatereadonly=Truestring='Date To' -
dayCharreadonly=Truesize=128 -
employee_idMany2one → hr.employeereadonly=Truestring='Employee' args: 'hr.employee' -
monthSelectionreadonly=True args: [('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'), ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'), ('10', 'October'), ('11', 'November'), ('12', 'December')] -
nameCharreadonly=True -
nbrIntegerreadonly=Truestring='# Payslip lines' -
numberCharreadonly=True -
paidBooleanreadonly=Truestring='Made Payment Order ? ' -
stateSelectionreadonly=Truestring='Status' args: [('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Rejected')] -
struct_idMany2one → hr.payroll.structurereadonly=Truestring='Structure' args: 'hr.payroll.structure' -
totalFloatreadonly=True -
yearCharreadonly=Truesize=4
-
init(self)@api.model_cr
New fields (0)
No new fields.
Public methods (5)-
get_employee(self, form, mnths, total_mnths) -
get_months_tol(self) -
get_periods(self, form) -
get_salary(self, form, emp_id, emp_salary, total_mnths, mnths) -
get_total(self, mnths_total)
New fields (0)
No new fields.
Public methods (8)-
cal_monthly_amt(self, form, emp_id) -
get_allow(self) -
get_deduct(self) -
get_employee(self, form) -
get_employee_detail(self, form, obj) -
get_periods(self, form) -
get_total(self) -
salary_list(self, salaries)
New fields (0)
No new fields.
Public methods (3)-
get_bysal_total(self) -
get_detail(self, line_ids) -
get_month(self, input_date)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
dearness_allowanceBooleandefault=Truehelp='Check this box if your company provide Dearness Allowance to employee'string='Dearness Allowance'
No public methods.
New fields (3)
-
date_fromDatedefault=_get_default_date_fromrequired=Truestring='Start Date' -
date_toDatedefault=_get_default_date_torequired=Truestring='End Date' -
employee_idsMany2many → hr.employeerequired=Truestring='Employees' args: 'hr.employee', 'payroll_emp_rel', 'payroll_id', 'employee_id'
-
print_report(self)@api.multiTo get the date and print the report @return: return report
Loading…
Loading…
Loading…
Loading…
Loading…