[IMP]improved salary rules for allowance and deduction.

bzr revid: kbh@tinyerp.com-20120521132703-m1q4s1ccxyp3nr0p
This commit is contained in:
Khushboo Bhatt (Open ERP) 2012-05-21 18:57:03 +05:30
parent 00dd3743f8
commit cf28ac1918
4 changed files with 127 additions and 42 deletions

View File

@ -3,8 +3,3 @@
2,"fix",2,10,,2400,"Education Allowance","Child Education Allowance",24,"CHEATWO","hr_payroll_rule_child1","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",

1 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
3 2 fix 2 10 2400 Education Allowance Child Education Allowance 24 CHEATWO hr_payroll_rule_child1 range employee.children
4
5
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

View File

@ -63,9 +63,19 @@ class hr_contract_in(osv.osv):
_columns = {
'tds': fields.float('TDS', digits_compute=dp.get_precision('Payroll')),
'house_rent_income': fields.float('House Rent Income ', digits_compute=dp.get_precision('Payroll')),
'saving_bank_account': fields.float('Saving Bank Account Income ', digits_compute=dp.get_precision('Payroll')),
'other_income': fields.float('Other Income ', digits_compute=dp.get_precision('Payroll')),
'short_term_gain':fields.float('Short Term Gain from Share Trading/Equity MFs ', digits_compute=dp.get_precision('Payroll')),
'long_term_gain':fields.float('Long Term Gain from Share Trading/Equity MFs', digits_compute=dp.get_precision('Payroll')),
'food_coupon_amount': fields.float('Food Coupons ', digits_compute=dp.get_precision('Payroll')),
'driver_salay': fields.boolean('Driver salary '),
'professional_tax': fields.float('Professional Tax ', digits_compute=dp.get_precision('Payroll')),
'leave_avail_dedution': fields.float('leave Avail deduction ', digits_compute=dp.get_precision('Payroll')),
'No_of_year':fields.function(_compute_year, string='No. of Years of service',type="float",readonly=True),
'medical_insurance': fields.float('Medical Insurance', digits_compute=dp.get_precision('Payroll')),
'voluntarily_provident_fund': fields.float('Voluntarily Provident Fund', digits_compute=dp.get_precision('Payroll')),
'company_transport': fields.float('Company provided transport', digits_compute=dp.get_precision('Payroll')),
}
hr_contract_in()

View File

@ -54,7 +54,7 @@ Per school going child 1200 per annum is non-taxable.
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="28"/>
<field name="note">
This allowance is normally given as an additional benefit to employees and is fully taxable.
@ -209,8 +209,8 @@ In such case, the component would become non-taxable.</field>
<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="18000.0" name="amount_fix"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = 1500 *12</field>
<field name="sequence" eval="38"/>
<field name="note">
In some of the cases, companies may provide a component for telephone bills.
@ -233,8 +233,8 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<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="amount_select">code</field>
<field name="amount_python_compute">result = 1800 * 12</field>
<field name="sequence" eval="39"/>
<field name="note">
In case company provides component for this and employee use self owned car for official
@ -248,7 +248,7 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="40"/>
<field name="note">Employer may also provide reimbursement of internet expenses and thus this would become non taxable.</field>
</record>
@ -257,11 +257,10 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<field name="code">DRI</field>
<field name="name">Driver Salary</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.driver_salay)</field>
<field name="amount_select">fix</field>
<field eval="900.0" name="amount_fix"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(employee.vehicle)</field>
<field name="sequence" eval="41"/>
<field name="note">Rs. 900 per month (non taxable)</field>
</record>
@ -271,7 +270,7 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="42"/>
<field name="note">
gift gift is from non relatives person worth more than Rs.50000,
@ -283,7 +282,7 @@ one is liable to pay the tax what ever he received excess of the limit or Rs 50,
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="43"/>
<field name="note"> gift is from relaives whould be non taxable with no limits.</field>
</record>
@ -293,10 +292,22 @@ one is liable to pay the tax what ever he received excess of the limit or Rs 50,
<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 eval="0.0" name="amount_fix"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.house_rent_income)</field>
<field name="sequence" eval="44"/>
<field name="note">30% of the rental income can be reduced as a standard deduction</field>
<field name="note">Income from house property.30% of the rental income can be reduced as a standard deduction</field>
</record>
<record id="hr_salary_rule_saving_bank" model="hr.salary.rule">
<field name="code">SBAI</field>
<field name="name">Saving Bank Account Interest</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = contract.saving_bank_account</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.saving_bank_account)</field>
<field name="sequence" eval="31"/>
</record>
<record id="hr_salary_trans_allownce" model="hr.salary.rule">
@ -313,19 +324,30 @@ one is liable to pay the tax what ever he received excess of the limit or Rs 50,
<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="condition_python">result = bool(contract.other_income)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = contract.others</field>
<field name="amount_python_compute">result = contract.other_income</field>
<field name="note">Bank account/NSC/Post Office/SCSS interest</field>
<field name="sequence" eval="45"/>
</record>
<record id="hr_salary_rule_agricultural" model="hr.salary.rule">
<field name="code">AI</field>
<field name="name">Agricultural Income</field>
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="amount_select">fix</field>
<field eval="0.0" name="amount_fix"/>
<field name="sequence" eval="23"/>
</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="amount_select">code</field>
<field name="amount_python_compute">result = contract.short_term_gain</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.short_term_gain)</field>
<field name="sequence" eval="46"/>
<field name="note">
If stocks/equity mutual funds are sold before one year,
@ -337,8 +359,10 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<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="amount_select">code</field>
<field name="amount_python_compute">result = contract.long_term_gain</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.long_term_gain)</field>
<field name="sequence" eval="47"/>
<field name="note">
If stocks/equity mutual funds are kept for more than a year before sale,
@ -349,13 +373,15 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
</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>
<record id="hr_payslip_line_professional_tax" model="hr.salary.rule">
<field name="code">PT</field>
<field name="name">Professional Tax</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">fix</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.professional_tax)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -(contract.professional_tax)</field>
<field eval="120" name="sequence"/>
<field eval="-0.0" name="amount_fix"/>
<field eval="False" name="appears_on_payslip"/>
<field name="note">
Professional tax for company should be paid on or before 30th sept,
@ -385,8 +411,10 @@ Read more: http://www.pankajbatra.com/finance/income-tax-calculator-2012-2013-20
<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="condition_select">python</field>
<field name="condition_python">result = bool(contract.voluntarily_provident_fund)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -(contract.voluntarily_provident_fund)</field>
<field name="sequence" eval="130"/>
<field name="note">
VPF is a safe option wherein you can contribute more than the PF ceiling of 12%
@ -406,8 +434,10 @@ read more: more:http://www.dotcominfoway.com/blog/vpf-or-voluntary-provident-fun
<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="0.0" name="amount_fix"/>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(contract.company_transport)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -(contract.company_transport)</field>
<field name="sequence" eval="155"/>
</record>
@ -416,7 +446,7 @@ read more: more:http://www.dotcominfoway.com/blog/vpf-or-voluntary-provident-fun
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="160"/>
<field name="note">
The LWF is applicable to all the members of the organisation except the
@ -433,7 +463,7 @@ read more: http://www.citehr.com/270132-labour-welfare-fund-deduction-salary.htm
<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 eval="0.0" name="amount_fix"/>
<field name="sequence" eval="167"/>
</record>
@ -441,8 +471,10 @@ read more: http://www.citehr.com/270132-labour-welfare-fund-deduction-salary.htm
<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="condition_select">python</field>
<field name="condition_python">result = bool(contract.leave_avail_dedution)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = -(contract.leave_avail_dedution)</field>
<field name="sequence" eval="170"/>
</record>
@ -450,7 +482,10 @@ read more: http://www.citehr.com/270132-labour-welfare-fund-deduction-salary.htm
<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 name="condition_select">python</field>
<field name="condition_python">result = bool(contract.medical_insurance)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = - (contract.medical_insurance)</field>
<field eval="-50.0" name="amount_fix"/>
<field name="sequence" eval="172"/>
</record>
@ -469,9 +504,37 @@ read more: http://www.citehr.com/270132-labour-welfare-fund-deduction-salary.htm
<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="amount_python_compute">result = (contract.wage + DA) * 0.12</field>
<field name="sequence" eval="122"/>
</record>
<record id="hr_payslip_rule_empPF" model="hr.salary.rule">
<field name="code">EPFC</field>
<field name="name">Employee's PF Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = (contract.wage + DA) / 8.33</field>
<field name="sequence" eval="123"/>
</record>
<record id="hr_payslip_rule_enpf" model="hr.salary.rule">
<field name="code">ENPC</field>
<field name="name">Employer's NPS Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = (contract.wage + DA) * 0.10</field>
<field name="sequence" eval="126"/>
</record>
<record id="hr_payslip_rule_empNPF" model="hr.salary.rule">
<field name="code">ENPFC</field>
<field name="name">Employee's NPS Contribution</field>
<field name="category_id" ref="hr_payroll.DED"/>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = (contract.wage + DA) * 0.10</field>
<field name="sequence" eval="125"/>
</record>
</data>
</openerp>

View File

@ -11,9 +11,26 @@
<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"/>
<field name="food_coupon_amount"/>
<field name="No_of_year"/>
<group col="2" colspan="2" name="right_column">
<separator colspan="2" string="Allowance"/>
<field name="short_term_gain"/>
<field name="long_term_gain"/>
<field name="saving_bank_account"/>
<field name="house_rent_income"/>
<field name="other_income"/>
<field name="driver_salay"/>
</group>
<group col="2" colspan="2" name="left_column">
<separator colspan="2" string="Deduction"/>
<field name="professional_tax"/>
<field name="tds"/>
<field name="voluntarily_provident_fund"/>
<field name="company_transport"/>
<field name="leave_avail_dedution"/>
<field name="medical_insurance"/>
</group>
</xpath>
</data>
</field>