← Back to team overview

openerp-india team mailing list archive

[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