openerp-india team mailing list archive
-
openerp-india team
-
Mailing list archive
-
Message #00153
[Merge] lp:~openerp-india/openerp-india/payroll-india-tds-psi into lp:~openerp-india/openerp-india/payroll-india
Purnendu Singh (OpenERP) has proposed merging lp:~openerp-india/openerp-india/payroll-india-tds-psi into lp:~openerp-india/openerp-india/payroll-india.
Requested reviews:
OpenERP Indian Team (openerp-india)
For more details, see:
https://code.launchpad.net/~openerp-india/openerp-india/payroll-india-tds-psi/+merge/78554
--
https://code.launchpad.net/~openerp-india/openerp-india/payroll-india-tds-psi/+merge/78554
Your team OpenERP Indian Team is requested to review the proposed merge of lp:~openerp-india/openerp-india/payroll-india-tds-psi into lp:~openerp-india/openerp-india/payroll-india.
=== removed directory 'hr_payroll_l10n_in'
=== removed file 'hr_payroll_l10n_in/__init__.py'
--- hr_payroll_l10n_in/__init__.py 2011-06-28 06:31:28 +0000
+++ hr_payroll_l10n_in/__init__.py 1970-01-01 00:00:00 +0000
@@ -1,24 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import hr_payroll
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
=== removed file 'hr_payroll_l10n_in/__openerp__.py'
--- hr_payroll_l10n_in/__openerp__.py 2011-06-28 06:31:28 +0000
+++ hr_payroll_l10n_in/__openerp__.py 1970-01-01 00:00:00 +0000
@@ -1,53 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-{
- 'name': 'Human Resource Payroll for India',
- 'category': 'Human Resources',
- 'init_xml': [],
- 'author': 'OpenERP SA',
- 'website':'http://www.openerp.com',
- 'depends': ['hr_payroll'],
- 'version': '1.0',
- 'description': """
-Indian Payroll system.
-=======================
-
- * Employee Details
- * Employee Contracts
- * Passport based Contract
- * Allowances / Deductions
- * Allow to configure Basic / Grows / Net Salary
- * Employee PaySlip
- * Monthly Payroll Register
- * Integrated with Holiday Management
- * Medical Allowance, Travel Allowance, Child Allowance, ...
- """,
-
- 'active': False,
- 'update_xml': [
- 'hr_payroll_l10n_in_data.xml',
- 'data/hr.salary.rule.csv',
- ],
- 'demo_xml': ['hr_payroll_l10n_in_demo.xml'],
- 'installable': True
-}
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
=== removed directory 'hr_payroll_l10n_in/data'
=== removed file 'hr_payroll_l10n_in/data/hr.salary.rule.csv'
--- hr_payroll_l10n_in/data/hr.salary.rule.csv 2011-06-13 12:47:08 +0000
+++ hr_payroll_l10n_in/data/hr.salary.rule.csv 1970-01-01 00:00:00 +0000
@@ -1,12 +0,0 @@
-"id","amount_select","condition_range_min","condition_range_max","amount_percentage","amount_fix","name","category_id","sequence","code","parent_rule_id/id","condition_select","condition_range","amount_percentage_base"
-1,"fix",1,1,,50,"Education Allowance","Child Education Allowance",23,"CHEA","hr_payroll_rule_child1","range","employee.children",
-2,"fix",2,2,,100,"Education Allowance","Child Education Allowance",24,"CHEA","hr_payroll_rule_child1","range","employee.children",
-,,,,,,,,,,,,,
-3,"fix",1,1,,150,"Education Allowance with Hostel","Child Education Allowance",26,"CHEAH","hr_payroll_rule_child2","range","employee.children",
-4,"fix",2,2,,300,"Education Allowance with Hostel","Child Education Allowance",27,"CHEAH","hr_payroll_rule_child2","range","employee.children",
-,,,,,,,,,,,,,
-5,"fix",0,2999,,0,"Professional Tax for Gujarat","Deduction",121,"PT0","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
-6,"fix",3000,5999,,-20,"Professional Tax for Gujarat","Deduction",121,"PT20","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
-7,"fix",6000,8999,,-80,"Professional Tax for Gujarat","Deduction",121,"PT80","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
-8,"fix",9000,11999,,-150,"Professional Tax for Gujarat","Deduction",121,"PT150","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
-9,"fix",12000,1000000,,-200,"Professional Tax for Gujarat","Deduction",121,"PT200","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
=== removed file 'hr_payroll_l10n_in/hr_payroll_l10n_in_data.xml'
--- hr_payroll_l10n_in/hr_payroll_l10n_in_data.xml 2011-06-28 06:31:28 +0000
+++ hr_payroll_l10n_in/hr_payroll_l10n_in_data.xml 1970-01-01 00:00:00 +0000
@@ -1,340 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <!-- Hr Salary Rules Categories-->
-
- <record id="CEA" model="hr.salary.rule.category">
- <field name="name">Child Education Allowance</field>
- <field name="code">CEA</field>
- <field name="parent_id" ref="hr_payroll.ALW"/>
- </record>
-
- <!-- Hr Salary Rules-->
-
- <record id="hr_salary_rule_da" model="hr.salary.rule">
- <field name="code">DA</field>
- <field name="name">Dearness Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">percentage</field>
- <field name="amount_percentage_base">contract.wage</field>
- <field name="amount_percentage" eval="51"/>
- <field name="sequence" eval="20"/>
- </record>
-
- <record id="hr_payroll_rule_child_edu" model="hr.salary.rule">
- <field name="code">CEA</field>
- <field name="name">Child Education Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field name="condition_select">none</field>
- <field name="sequence" eval="21"/>
- </record>
-
- <record id="hr_payroll_rule_child1" model="hr.salary.rule">
- <field name="code">CHEA</field>
- <field name="name">Education Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="parent_rule_id" ref="hr_payroll_rule_child_edu"/>
- <field name="condition_select">python</field>
- <field name="condition_python">result = bool(employee.children)</field>
- <field name="amount_select">fix</field>
- <field name="note">Education allowance of Rs. 50 per month per child for up to 2 children of the employee is exempted.</field>
- <field name="sequence" eval="22"/>
- </record>
-
- <record id="hr_payroll_rule_child2" model="hr.salary.rule">
- <field name="code">CHEAH</field>
- <field name="name">Education Allowance with Hostel</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="parent_rule_id" ref="hr_payroll_rule_child_edu"/>
- <field name="condition_select">python</field>
- <field name="condition_python">result = bool(employee.children)</field>
- <field name="amount_select">fix</field>
- <field name="note">In case the children are in hostel, the exemption available is Rs.150 per month per child for up to 2 children.</field>
- <field name="sequence" eval="25"/>
- </record>
-
- <record id="hr_salary_rule_special" model="hr.salary.rule">
- <field name="code">MGMTA</field>
- <field name="name">Grade/Special/Management/Supplementary Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="100.0" name="amount_fix"/>
- <field name="sequence" eval="28"/>
- </record>
-
- <record id="hr_salary_rule_city" model="hr.salary.rule">
- <field name="code">CCA</field>
- <field name="name">City Compensatory Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="100.0" name="amount_fix"/>
- <field name="sequence" eval="29"/>
- </record>
-
- <record id="hr_salary_rule_arrears" model="hr.salary.rule">
- <field name="code">ARRE</field>
- <field name="name">Arrears</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="100.0" name="amount_fix"/>
- <field name="sequence" eval="30"/>
- </record>
-
- <record id="hr_salary_rule_gratuity" model="hr.salary.rule">
- <field name="code">GRA</field>
- <field name="name">Gratuity</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="condition_select">none</field>
- <field name="amount_select">code</field>
- <field name="amount_python_compute">result = (categories.NET/26) * 15 * 5</field>
- <field name="sequence" eval="500"/>
- <field name="note">Covered under the Payment of Gratuity Act, 1971: (Last drawn monthly basic salary + dearness allowance)/26 x 15 days x number of years of service (date of joining â date of retirement/leaving job)
- </field>
- </record>
-
- <record id="hr_salary_rule_lta" model="hr.salary.rule">
- <field name="code">LTA</field>
- <field name="name">Leave Travel Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">percentage</field>
- <field name="amount_percentage_base">contract.wage</field>
- <field name="amount_percentage" eval="0.0833"/>
- <field name="sequence" eval="32"/>
- </record>
-
- <record id="hr_salary_rule_le" model="hr.salary.rule">
- <field name="code">LE</field>
- <field name="name">Leave Encashment</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="condition_select">none</field>
- <field name="amount_select">fix</field>
- <field name="amount_fix">0.0</field>
- <field name="sequence" eval="33"/>
- </record>
-
- <record id="hr_salary_rule_bonus" model="hr.salary.rule">
- <field name="code">PI</field>
- <field name="name">Performance Incentive/Bonus</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="34"/>
- </record>
-
- <record id="hr_salary_rule_medical" model="hr.salary.rule">
- <field name="code">MEDA</field>
- <field name="name">Medical Reimbursement</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="2500.0" name="amount_fix"/>
- <field name="sequence" eval="35"/>
- </record>
-
- <record id="hr_salary_rule_journals" model="hr.salary.rule">
- <field name="code">PERJ</field>
- <field name="name">Periodical Journals</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="36"/>
- </record>
-
- <record id="hr_salary_rule_uniform" model="hr.salary.rule">
- <field name="code">UNIF</field>
- <field name="name">Uniform/Dress Allowance</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="500.0" name="amount_fix"/>
- <field name="sequence" eval="37"/>
- </record>
-
- <record id="hr_salary_rule_telephone" model="hr.salary.rule">
- <field name="code">TELR</field>
- <field name="name">Telephone Reimbursement</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="500.0" name="amount_fix"/>
- <field name="sequence" eval="38"/>
- </record>
-
- <record id="hr_payroll_rule_car" model="hr.salary.rule">
- <field name="code">CAR</field>
- <field name="name">Car Expenses Reimbursement</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="500.0" name="amount_fix"/>
- <field name="sequence" eval="39"/>
- </record>
-
- <record id="hr_salary_rule_internet" model="hr.salary.rule">
- <field name="code">INT</field>
- <field name="name">Internet Expense</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="500.0" name="amount_fix"/>
- <field name="sequence" eval="40"/>
- </record>
-
- <record id="hr_salary_rule_driver" model="hr.salary.rule">
- <field name="code">DRI</field>
- <field name="name">Driver Salary</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="500.0" name="amount_fix"/>
- <field name="sequence" eval="41"/>
- </record>
-
- <record id="hr_salary_rule_Gift_nr" model="hr.salary.rule">
- <field name="code">GFNR</field>
- <field name="name">Gifts From Non-Relatives</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="42"/>
- </record>
-
- <record id="hr_salary_rule_Gift_r" model="hr.salary.rule">
- <field name="code">GFR</field>
- <field name="name">Gifts From Relatives</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="43"/>
- </record>
-
- <record id="hr_salary_rule_hri" model="hr.salary.rule">
- <field name="code">HRI</field>
- <field name="name">House Rent Income</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="note">Income from house property</field>
- <field name="sequence" eval="44"/>
- </record>
-
- <record id="hr_salary_rule_Other" model="hr.salary.rule">
- <field name="code">OTI</field>
- <field name="name">Other Income</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="condition_select">python</field>
- <field name="condition_python">result = bool(contract.others)</field>
- <field name="amount_select">code</field>
- <field name="amount_python_compute">result = contract.others</field>
- <field name="note">Bank account/NSC/Post Office/SCSS interest</field>
- <field name="sequence" eval="45"/>
- </record>
-
- <record id="hr_salary_rule_st_gains" model="hr.salary.rule">
- <field name="code">STG</field>
- <field name="name">Short Term Gains from Share Trading/Equity MFs</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="46"/>
- </record>
-
- <record id="hr_salary_rule_lt_gains" model="hr.salary.rule">
- <field name="code">LTG</field>
- <field name="name">Long Term Gains from Share Trading/Equity MFs</field>
- <field name="category_id" ref="hr_payroll.ALW"/>
- <field name="amount_select">fix</field>
- <field eval="5000.0" name="amount_fix"/>
- <field name="sequence" eval="47"/>
- </record>
-
- <!--Deductions -->
- <record id="hr_payslip_line_professionaltax_guj" model="hr.salary.rule">
- <field name="code">PTG</field>
- <field name="name">Professional Tax for Gujarat</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="120" name="sequence"/>
- <field eval="-0.0" name="amount_fix"/>
- <field eval="False" name="appears_on_payslip"/>
- </record>
-
- <record id="hr_payslip_rule_tds" model="hr.salary.rule">
- <field name="code">TDS</field>
- <field name="name">Tax Deducted at Source</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-200.0" name="amount_fix"/>
- <field name="sequence" eval="140"/>
- </record>
-
- <record id="hr_payslip_rule_vpf" model="hr.salary.rule">
- <field name="code">VPF</field>
- <field name="name">Voluntarily Provident Fund Contribution</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-200.0" name="amount_fix"/>
- <field name="sequence" eval="130"/>
- </record>
-
- <record id="hr_payslip_rule_cpt" model="hr.salary.rule">
- <field name="code">CPT</field>
- <field name="name">Dedution for Company Provided Transport</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-1800.0" name="amount_fix"/>
- <field name="sequence" eval="155"/>
- </record>
-
- <record id="hr_payslip_rule_lwf" model="hr.salary.rule">
- <field name="code">LWF</field>
- <field name="name">Dedution Towards State Labour Welfare Fund</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-3.0" name="amount_fix"/>
- <field name="sequence" eval="160"/>
- </record>
-
- <record id="hr_payslip_rule_cgti" model="hr.salary.rule">
- <field name="code">CGTI</field>
- <field name="name">Dedution Towards Company Provided Group Term Insurance</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-200.0" name="amount_fix"/>
- <field name="sequence" eval="167"/>
- </record>
-
- <record id="hr_payslip_rule_dla" model="hr.salary.rule">
- <field name="code">DLA</field>
- <field name="name">Dedution Towards Leave Availed</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-200.0" name="amount_fix"/>
- <field name="sequence" eval="170"/>
- </record>
-
- <record id="hr_payslip_rule_cmt" model="hr.salary.rule">
- <field name="code">CMT</field>
- <field name="name">Dedution Towards Company Provided Medical Insurance</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-50.0" name="amount_fix"/>
- <field name="sequence" eval="172"/>
- </record>
-
- <record id="hr_payslip_rule_ode" model="hr.salary.rule">
- <field name="code">ODE</field>
- <field name="name">Other Dedution from Employer</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">fix</field>
- <field eval="-200.0" name="amount_fix"/>
- <field name="sequence" eval="175"/>
- </record>
-
- <record id="hr_payslip_rule_epc" model="hr.salary.rule">
- <field name="code">EPC</field>
- <field name="name">Employer's PF Contribution</field>
- <field name="category_id" ref="hr_payroll.DED"/>
- <field name="amount_select">code</field>
- <field name="amount_python_compute">result = (rules.PF.amount_percentage * contract.wage)/100</field>
- <field name="sequence" eval="122"/>
- </record>
-
- </data>
-</openerp>
=== removed file 'hr_payroll_l10n_in/hr_payroll_l10n_in_demo.xml'
--- hr_payroll_l10n_in/hr_payroll_l10n_in_demo.xml 2011-06-10 11:14:29 +0000
+++ hr_payroll_l10n_in/hr_payroll_l10n_in_demo.xml 1970-01-01 00:00:00 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <!-- Hr Salary structure-->
-
- <record id="hr_payroll_salary_structure_emp_ind" model="hr.payroll.structure">
- <field name="code">IND</field>
- <field name="name">Indian Employee</field>
- <field eval="[(6, 0, [ref('hr_salary_rule_medical'),ref('hr_salary_rule_lta'),ref('hr_salary_rule_telephone'), ref('hr_salary_rule_internet'),ref('hr_payroll_rule_child_edu'),ref('hr_salary_rule_gratuity')])]" name="rule_ids"/>
- <field name="company_id" ref="base.main_company"/>
- <field name="parent_id" ref="hr_payroll.structure_base"/>
- </record>
-
- </data>
-</openerp>
=== removed directory 'hr_payroll_l10n_in/security'
=== removed file 'hr_payroll_l10n_in/security/hr.salary.rule.csv'
--- hr_payroll_l10n_in/security/hr.salary.rule.csv 2011-05-24 13:25:06 +0000
+++ hr_payroll_l10n_in/security/hr.salary.rule.csv 1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
-"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
-"access_hr_salary_head","hr.salary.head","model_hr_salary_head","base.group_hr_user",1,1,1,1
-"access_hr_salary_rule","hr.salary.rule","model_hr_salary_rule","base.group_hr_user",1,1,1,1
=== added directory 'l10n_in_hr_payroll'
=== added file 'l10n_in_hr_payroll/__init__.py'
--- l10n_in_hr_payroll/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/__init__.py 2011-10-07 10:10:31 +0000
@@ -0,0 +1,25 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import hr_payroll
+import l10n_in_hr_payroll
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
=== added file 'l10n_in_hr_payroll/__openerp__.py'
--- l10n_in_hr_payroll/__openerp__.py 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/__openerp__.py 2011-10-07 10:10:31 +0000
@@ -0,0 +1,54 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+{
+ 'name': 'Human Resource Payroll for India',
+ 'category': 'Human Resources',
+ 'init_xml': [],
+ 'author': 'OpenERP SA',
+ 'website':'http://www.openerp.com',
+ 'depends': ['hr_payroll'],
+ 'version': '1.0',
+ 'description': """
+Indian Payroll system.
+=======================
+
+ * Employee Details
+ * Employee Contracts
+ * Passport based Contract
+ * Allowances / Deductions
+ * Allow to configure Basic / Grows / Net Salary
+ * Employee PaySlip
+ * Monthly Payroll Register
+ * Integrated with Holiday Management
+ * Medical Allowance, Travel Allowance, Child Allowance, ...
+ """,
+
+ 'active': False,
+ 'update_xml': [
+ 'l10n_in_hr_payroll_view.xml',
+ 'l10n_in_hr_payroll_data.xml',
+ 'data/hr.salary.rule.csv',
+ ],
+ 'demo_xml': ['l10n_in_hr_payroll_demo.xml'],
+ 'installable': True
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
=== added directory 'l10n_in_hr_payroll/data'
=== added file 'l10n_in_hr_payroll/data/hr.salary.rule.csv'
--- l10n_in_hr_payroll/data/hr.salary.rule.csv 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/data/hr.salary.rule.csv 2011-10-07 10:10:31 +0000
@@ -0,0 +1,12 @@
+"id","amount_select","condition_range_min","condition_range_max","amount_percentage","amount_fix","name","category_id","sequence","code","parent_rule_id/id","condition_select","condition_range","amount_percentage_base"
+1,"fix",1,1,,50,"Education Allowance","Child Education Allowance",23,"CHEA","hr_payroll_rule_child1","range","employee.children",
+2,"fix",2,2,,100,"Education Allowance","Child Education Allowance",24,"CHEA","hr_payroll_rule_child1","range","employee.children",
+,,,,,,,,,,,,,
+3,"fix",1,1,,150,"Education Allowance with Hostel","Child Education Allowance",26,"CHEAH","hr_payroll_rule_child2","range","employee.children",
+4,"fix",2,2,,300,"Education Allowance with Hostel","Child Education Allowance",27,"CHEAH","hr_payroll_rule_child2","range","employee.children",
+,,,,,,,,,,,,,
+5,"fix",0,2999,,0,"Professional Tax for Gujarat","Deduction",121,"PT0","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
+6,"fix",3000,5999,,-20,"Professional Tax for Gujarat","Deduction",121,"PT20","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
+7,"fix",6000,8999,,-80,"Professional Tax for Gujarat","Deduction",121,"PT80","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
+8,"fix",9000,11999,,-150,"Professional Tax for Gujarat","Deduction",121,"PT150","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
+9,"fix",12000,1000000,,-200,"Professional Tax for Gujarat","Deduction",121,"PT200","hr_payslip_line_professionaltax_guj","range","categories.GROSS",
=== added file 'l10n_in_hr_payroll/l10n_in_hr_payroll.py'
--- l10n_in_hr_payroll/l10n_in_hr_payroll.py 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll.py 2011-10-07 10:10:31 +0000
@@ -0,0 +1,32 @@
+#-*- coding:utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2011 OpenERP SA (<http://openerp.com>). All Rights Reserved
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+import decimal_precision as dp
+
+class hr_contract_in(osv.osv):
+ _inherit = 'hr.contract'
+
+ _columns = {
+ 'tds': fields.float('TDS', digits_compute=dp.get_precision('Payroll')),
+ }
+
+hr_contract_in()
=== added file 'l10n_in_hr_payroll/l10n_in_hr_payroll_data.xml'
--- l10n_in_hr_payroll/l10n_in_hr_payroll_data.xml 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll_data.xml 2011-10-07 10:10:31 +0000
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <!-- Hr Salary Rules Categories-->
+
+ <record id="CEA" model="hr.salary.rule.category">
+ <field name="name">Child Education Allowance</field>
+ <field name="code">CEA</field>
+ <field name="parent_id" ref="hr_payroll.ALW"/>
+ </record>
+
+ <!-- Hr Salary Rules-->
+
+ <record id="hr_salary_rule_da" model="hr.salary.rule">
+ <field name="code">DA</field>
+ <field name="name">Dearness Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">percentage</field>
+ <field name="amount_percentage_base">contract.wage</field>
+ <field name="amount_percentage" eval="51"/>
+ <field name="sequence" eval="20"/>
+ </record>
+
+ <record id="hr_payroll_rule_child_edu" model="hr.salary.rule">
+ <field name="code">CEA</field>
+ <field name="name">Child Education Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field name="condition_select">none</field>
+ <field name="sequence" eval="21"/>
+ </record>
+
+ <record id="hr_payroll_rule_child1" model="hr.salary.rule">
+ <field name="code">CHEA</field>
+ <field name="name">Education Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="parent_rule_id" ref="hr_payroll_rule_child_edu"/>
+ <field name="condition_select">python</field>
+ <field name="condition_python">result = bool(employee.children)</field>
+ <field name="amount_select">fix</field>
+ <field name="note">Education allowance of Rs. 50 per month per child for up to 2 children of the employee is exempted.</field>
+ <field name="sequence" eval="22"/>
+ </record>
+
+ <record id="hr_payroll_rule_child2" model="hr.salary.rule">
+ <field name="code">CHEAH</field>
+ <field name="name">Education Allowance with Hostel</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="parent_rule_id" ref="hr_payroll_rule_child_edu"/>
+ <field name="condition_select">python</field>
+ <field name="condition_python">result = bool(employee.children)</field>
+ <field name="amount_select">fix</field>
+ <field name="note">In case the children are in hostel, the exemption available is Rs.150 per month per child for up to 2 children.</field>
+ <field name="sequence" eval="25"/>
+ </record>
+
+ <record id="hr_salary_rule_special" model="hr.salary.rule">
+ <field name="code">MGMTA</field>
+ <field name="name">Grade/Special/Management/Supplementary Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="100.0" name="amount_fix"/>
+ <field name="sequence" eval="28"/>
+ </record>
+
+ <record id="hr_salary_rule_city" model="hr.salary.rule">
+ <field name="code">CCA</field>
+ <field name="name">City Compensatory Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="100.0" name="amount_fix"/>
+ <field name="sequence" eval="29"/>
+ </record>
+
+ <record id="hr_salary_rule_arrears" model="hr.salary.rule">
+ <field name="code">ARRE</field>
+ <field name="name">Arrears</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="100.0" name="amount_fix"/>
+ <field name="sequence" eval="30"/>
+ </record>
+
+ <record id="hr_salary_rule_gratuity" model="hr.salary.rule">
+ <field name="code">GRA</field>
+ <field name="name">Gratuity</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="condition_select">none</field>
+ <field name="amount_select">code</field>
+ <field name="amount_python_compute">result = (categories.NET/26) * 15 * 5</field>
+ <field name="sequence" eval="500"/>
+ <field name="note">Covered under the Payment of Gratuity Act, 1971: (Last drawn monthly basic salary + dearness allowance)/26 x 15 days x number of years of service (date of joining â date of retirement/leaving job)
+ </field>
+ </record>
+
+ <record id="hr_salary_rule_lta" model="hr.salary.rule">
+ <field name="code">LTA</field>
+ <field name="name">Leave Travel Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">percentage</field>
+ <field name="amount_percentage_base">contract.wage</field>
+ <field name="amount_percentage" eval="0.0833"/>
+ <field name="sequence" eval="32"/>
+ </record>
+
+ <record id="hr_salary_rule_le" model="hr.salary.rule">
+ <field name="code">LE</field>
+ <field name="name">Leave Encashment</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="condition_select">none</field>
+ <field name="amount_select">fix</field>
+ <field name="amount_fix">0.0</field>
+ <field name="sequence" eval="33"/>
+ </record>
+
+ <record id="hr_salary_rule_bonus" model="hr.salary.rule">
+ <field name="code">PI</field>
+ <field name="name">Performance Incentive/Bonus</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="34"/>
+ </record>
+
+ <record id="hr_salary_rule_medical" model="hr.salary.rule">
+ <field name="code">MEDA</field>
+ <field name="name">Medical Reimbursement</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="2500.0" name="amount_fix"/>
+ <field name="sequence" eval="35"/>
+ </record>
+
+ <record id="hr_salary_rule_journals" model="hr.salary.rule">
+ <field name="code">PERJ</field>
+ <field name="name">Periodical Journals</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="36"/>
+ </record>
+
+ <record id="hr_salary_rule_uniform" model="hr.salary.rule">
+ <field name="code">UNIF</field>
+ <field name="name">Uniform/Dress Allowance</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="500.0" name="amount_fix"/>
+ <field name="sequence" eval="37"/>
+ </record>
+
+ <record id="hr_salary_rule_telephone" model="hr.salary.rule">
+ <field name="code">TELR</field>
+ <field name="name">Telephone Reimbursement</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="500.0" name="amount_fix"/>
+ <field name="sequence" eval="38"/>
+ </record>
+
+ <record id="hr_payroll_rule_car" model="hr.salary.rule">
+ <field name="code">CAR</field>
+ <field name="name">Car Expenses Reimbursement</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="500.0" name="amount_fix"/>
+ <field name="sequence" eval="39"/>
+ </record>
+
+ <record id="hr_salary_rule_internet" model="hr.salary.rule">
+ <field name="code">INT</field>
+ <field name="name">Internet Expense</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="500.0" name="amount_fix"/>
+ <field name="sequence" eval="40"/>
+ </record>
+
+ <record id="hr_salary_rule_driver" model="hr.salary.rule">
+ <field name="code">DRI</field>
+ <field name="name">Driver Salary</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="500.0" name="amount_fix"/>
+ <field name="sequence" eval="41"/>
+ </record>
+
+ <record id="hr_salary_rule_Gift_nr" model="hr.salary.rule">
+ <field name="code">GFNR</field>
+ <field name="name">Gifts From Non-Relatives</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="42"/>
+ </record>
+
+ <record id="hr_salary_rule_Gift_r" model="hr.salary.rule">
+ <field name="code">GFR</field>
+ <field name="name">Gifts From Relatives</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="43"/>
+ </record>
+
+ <record id="hr_salary_rule_hri" model="hr.salary.rule">
+ <field name="code">HRI</field>
+ <field name="name">House Rent Income</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="note">Income from house property</field>
+ <field name="sequence" eval="44"/>
+ </record>
+
+ <record id="hr_salary_rule_Other" model="hr.salary.rule">
+ <field name="code">OTI</field>
+ <field name="name">Other Income</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="condition_select">python</field>
+ <field name="condition_python">result = bool(contract.others)</field>
+ <field name="amount_select">code</field>
+ <field name="amount_python_compute">result = contract.others</field>
+ <field name="note">Bank account/NSC/Post Office/SCSS interest</field>
+ <field name="sequence" eval="45"/>
+ </record>
+
+ <record id="hr_salary_rule_st_gains" model="hr.salary.rule">
+ <field name="code">STG</field>
+ <field name="name">Short Term Gains from Share Trading/Equity MFs</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="46"/>
+ </record>
+
+ <record id="hr_salary_rule_lt_gains" model="hr.salary.rule">
+ <field name="code">LTG</field>
+ <field name="name">Long Term Gains from Share Trading/Equity MFs</field>
+ <field name="category_id" ref="hr_payroll.ALW"/>
+ <field name="amount_select">fix</field>
+ <field eval="5000.0" name="amount_fix"/>
+ <field name="sequence" eval="47"/>
+ </record>
+
+ <!--Deductions -->
+ <record id="hr_payslip_line_professionaltax_guj" model="hr.salary.rule">
+ <field name="code">PTG</field>
+ <field name="name">Professional Tax for Gujarat</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="120" name="sequence"/>
+ <field eval="-0.0" name="amount_fix"/>
+ <field eval="False" name="appears_on_payslip"/>
+ </record>
+
+ <record id="hr_payslip_rule_tds" model="hr.salary.rule">
+ <field name="code">TDS</field>
+ <field name="name">Tax Deducted at Source</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="condition_select">python</field>
+ <field name="condition_python">result = bool(contract.tds)</field>
+ <field name="amount_select">code</field>
+ <field name="amount_python_compute">result = -(contract.tds)</field>
+ <field name="sequence" eval="140"/>
+ </record>
+
+ <record id="hr_payslip_rule_vpf" model="hr.salary.rule">
+ <field name="code">VPF</field>
+ <field name="name">Voluntarily Provident Fund Contribution</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-200.0" name="amount_fix"/>
+ <field name="sequence" eval="130"/>
+ </record>
+
+ <record id="hr_payslip_rule_cpt" model="hr.salary.rule">
+ <field name="code">CPT</field>
+ <field name="name">Dedution for Company Provided Transport</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-1800.0" name="amount_fix"/>
+ <field name="sequence" eval="155"/>
+ </record>
+
+ <record id="hr_payslip_rule_lwf" model="hr.salary.rule">
+ <field name="code">LWF</field>
+ <field name="name">Dedution Towards State Labour Welfare Fund</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-3.0" name="amount_fix"/>
+ <field name="sequence" eval="160"/>
+ </record>
+
+ <record id="hr_payslip_rule_cgti" model="hr.salary.rule">
+ <field name="code">CGTI</field>
+ <field name="name">Dedution Towards Company Provided Group Term Insurance</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-200.0" name="amount_fix"/>
+ <field name="sequence" eval="167"/>
+ </record>
+
+ <record id="hr_payslip_rule_dla" model="hr.salary.rule">
+ <field name="code">DLA</field>
+ <field name="name">Dedution Towards Leave Availed</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-200.0" name="amount_fix"/>
+ <field name="sequence" eval="170"/>
+ </record>
+
+ <record id="hr_payslip_rule_cmt" model="hr.salary.rule">
+ <field name="code">CMT</field>
+ <field name="name">Dedution Towards Company Provided Medical Insurance</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-50.0" name="amount_fix"/>
+ <field name="sequence" eval="172"/>
+ </record>
+
+ <record id="hr_payslip_rule_ode" model="hr.salary.rule">
+ <field name="code">ODE</field>
+ <field name="name">Other Dedution from Employer</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">fix</field>
+ <field eval="-200.0" name="amount_fix"/>
+ <field name="sequence" eval="175"/>
+ </record>
+
+ <record id="hr_payslip_rule_epc" model="hr.salary.rule">
+ <field name="code">EPC</field>
+ <field name="name">Employer's PF Contribution</field>
+ <field name="category_id" ref="hr_payroll.DED"/>
+ <field name="amount_select">code</field>
+ <field name="amount_python_compute">result = (rules.PF.amount_percentage * contract.wage)/100</field>
+ <field name="sequence" eval="122"/>
+ </record>
+
+ </data>
+</openerp>
=== added file 'l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml'
--- l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml 2011-10-07 10:10:31 +0000
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <!-- Hr Salary structure-->
+
+ <record id="hr_payroll_salary_structure_emp_ind" model="hr.payroll.structure">
+ <field name="code">IND</field>
+ <field name="name">Indian Employee</field>
+ <field eval="[(6, 0, [ref('hr_salary_rule_medical'),ref('hr_salary_rule_lta'),ref('hr_salary_rule_telephone'), ref('hr_salary_rule_internet'),ref('hr_payroll_rule_child_edu'),ref('hr_salary_rule_gratuity')])]" name="rule_ids"/>
+ <field name="company_id" ref="base.main_company"/>
+ <field name="parent_id" ref="hr_payroll.structure_base"/>
+ </record>
+
+ </data>
+</openerp>
=== added file 'l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml'
--- l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml 2011-10-07 10:10:31 +0000
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <record id="hr_contract_form_in_inherit" model="ir.ui.view">
+ <field name="name">hr.contract.form.in.inherit</field>
+ <field name="model">hr.contract</field>
+ <field name="type">form</field>
+ <field name="priority">20</field>
+ <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
+ <field name="arch" type="xml">
+ <data>
+ <xpath expr="/form/notebook/page[@name='information']/group[@name='right_column']/field[@name='struct_id']" position="after">
+ <field name="tds"/>
+ </xpath>
+ </data>
+ </field>
+ </record>
+
+ </data>
+</openerp>
=== added directory 'l10n_in_hr_payroll/security'
=== added file 'l10n_in_hr_payroll/security/hr.salary.rule.csv'
--- l10n_in_hr_payroll/security/hr.salary.rule.csv 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/security/hr.salary.rule.csv 2011-10-07 10:10:31 +0000
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_hr_salary_head","hr.salary.head","model_hr_salary_head","base.group_hr_user",1,1,1,1
+"access_hr_salary_rule","hr.salary.rule","model_hr_salary_rule","base.group_hr_user",1,1,1,1
Follow ups