Merge lp:~openerp-dev/openerp-india/payroll-india-l10n_in_hr_payroll-migrate-with-6.1-kbh into lp:~openerp-dev/openerp-india/payroll-india

Proposed by Khushboo Bhatt(openerp)
Status: Rejected
Rejected by: Mustufa Rangwala (Open ERP)
Proposed branch: lp:~openerp-dev/openerp-india/payroll-india-l10n_in_hr_payroll-migrate-with-6.1-kbh
Merge into: lp:~openerp-dev/openerp-india/payroll-india
Diff against target: 1104 lines (+510/-247)
10 files modified
l10n_in_hr_payroll/__openerp__.py (+2/-1)
l10n_in_hr_payroll/data/l10n_in_hr_payroll_data.xml (+175/-49)
l10n_in_hr_payroll/l10n_in_hr_payroll.py (+2/-52)
l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml (+3/-3)
l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml (+2/-16)
l10n_in_hr_payroll/report/__init__.py (+1/-0)
l10n_in_hr_payroll/report/payslip_report.py (+88/-0)
l10n_in_hr_payroll/report/payslip_report_view.xml (+86/-0)
l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.rml (+150/-126)
l10n_in_hr_payroll/security/ir.model.access.csv (+1/-0)
To merge this branch: bzr merge lp:~openerp-dev/openerp-india/payroll-india-l10n_in_hr_payroll-migrate-with-6.1-kbh
Reviewer Review Type Date Requested Status
OpenERP R&D Team Pending
Review via email: mp+121178@code.launchpad.net

Description of the change

Hello,

  l10n_in_hr_payroll::

   I have update module as per changed in trunk.
    - improved salary rules.
    - added contribution register and rule inputs.
    - added postgres report for payslips.

Thank you,
KBH.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'l10n_in_hr_payroll/__openerp__.py'
--- l10n_in_hr_payroll/__openerp__.py 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/__openerp__.py 2012-08-24 13:15:26 +0000
@@ -28,7 +28,7 @@
28 'version': '1.0',28 'version': '1.0',
29 'description': """29 'description': """
30Indian Payroll Salary Rules.30Indian Payroll Salary Rules.
31=======================31============================
3232
33 -Configuration of hr_payroll for India localization33 -Configuration of hr_payroll for India localization
34 -All main contributions rules for India payslip.34 -All main contributions rules for India payslip.
@@ -53,6 +53,7 @@
53 'wizard/hr_salary_employee_bymonth_view.xml',53 'wizard/hr_salary_employee_bymonth_view.xml',
54 'wizard/hr_yearly_salary_detail_view.xml',54 'wizard/hr_yearly_salary_detail_view.xml',
55 'report/payment_advice_report_view.xml',55 'report/payment_advice_report_view.xml',
56 'report/payslip_report_view.xml',
5657
57 ],58 ],
58 'test': [59 'test': [
5960
=== modified file 'l10n_in_hr_payroll/data/l10n_in_hr_payroll_data.xml'
--- l10n_in_hr_payroll/data/l10n_in_hr_payroll_data.xml 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/data/l10n_in_hr_payroll_data.xml 2012-08-24 13:15:26 +0000
@@ -19,6 +19,41 @@
19 <field name="name">Register for Food Coupen</field>19 <field name="name">Register for Food Coupen</field>
20 </record>20 </record>
2121
22 <record id="hr_tds_register" model="hr.contribution.register">
23 <field name="name">Register for TDS</field>
24 </record>
25
26 <record id="hr_nps_contribution_register" model="hr.contribution.register">
27 <field name="name">Register for NPS Contribution</field>
28 </record>
29
30 <record id="hr_vpf_contribution_register" model="hr.contribution.register">
31 <field name="name">Register for Voluntarily Provident Fund</field>
32 </record>
33
34 <record id="hr_company_transport_register" model="hr.contribution.register">
35 <field name="name">Register for Company Provided Transport Deduction</field>
36 </record>
37
38 <record id="hr_labour_Welfare_fund_register" model="hr.contribution.register">
39 <field name="name">Register for State Labour Welfare Fund Deduction</field>
40 </record>
41
42 <record id="hr_group_term_insurance_register" model="hr.contribution.register">
43 <field name="name">Register for Company Provided Group Term Insurance Deduction</field>
44 </record>
45
46 <record id="hr_leave_availed_register" model="hr.contribution.register">
47 <field name="name">Register for Leave Availed Deduction</field>
48 </record>
49
50 <record id="hr_medical_insurance_register" model="hr.contribution.register">
51 <field name="name">Register for Company Provided Medical Insurance Deduction</field>
52 </record>
53
54 <record id="hr_other_deduction_register" model="hr.contribution.register">
55 <field name="name">Register for Other Deduction from Employer</field>
56 </record>
22 <!-- Hr Salary Rules for allowance-->57 <!-- Hr Salary Rules for allowance-->
2358
24 <record id="hr_salary_rule_da" model="hr.salary.rule">59 <record id="hr_salary_rule_da" model="hr.salary.rule">
@@ -34,7 +69,7 @@
34 <record id="hr_salary_rule_houserentallowancemetro_nonmetro" model="hr.salary.rule">69 <record id="hr_salary_rule_houserentallowancemetro_nonmetro" model="hr.salary.rule">
35 <field name="code">HRAMN</field>70 <field name="code">HRAMN</field>
36 <field name="amount_select">code</field>71 <field name="amount_select">code</field>
37 <field name="amount_python_compute">result=payslip.company_id.dearness_allowance and ((contract.wage + DA) * 0.50) or (contract.wage * 0.50) if (contract.city_type=='metro') else payslip.company_id.dearness_allowance and ((contract.wage + DA) * 0.40) or (contract.wage * 0.40) if (contract.city_type=='non-metro') else 0.00</field>72 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and ((contract.wage + DA) * contract.house_rent_allowance_metro_nonmetro / 100) or (contract.wage * contract.house_rent_allowance_metro_nonmetro / 100)</field>
38 <field name="category_id" ref="hr_payroll.ALW"/>73 <field name="category_id" ref="hr_payroll.ALW"/>
39 <field name="name">House Rent Allowance for metro and nonmetro city</field>74 <field name="name">House Rent Allowance for metro and nonmetro city</field>
40 <field name="register_id" ref="hr_houserent_allowance_register"/>75 <field name="register_id" ref="hr_houserent_allowance_register"/>
@@ -54,8 +89,10 @@
54 <field name="code">SA</field>89 <field name="code">SA</field>
55 <field name="name">Grade/Special/Management/Supplementary Allowance</field>90 <field name="name">Grade/Special/Management/Supplementary Allowance</field>
56 <field name="category_id" ref="hr_payroll.ALW"/>91 <field name="category_id" ref="hr_payroll.ALW"/>
57 <field name="amount_select">fix</field>92 <field name="condition_select">python</field>
58 <field eval="0.0" name="amount_fix"/>93 <field name="condition_python">result = bool(contract.supplementary_allowance)</field>
94 <field name="amount_select">code</field>
95 <field name="amount_python_compute">result = contract.supplementary_allowance</field>
59 <field name="sequence" eval="20"/>96 <field name="sequence" eval="20"/>
60 <field name="note">This allowance is normally given as an additional benefit to employees and is fully taxable.</field>97 <field name="note">This allowance is normally given as an additional benefit to employees and is fully taxable.</field>
61 </record>98 </record>
@@ -116,7 +153,8 @@
116 <field name="code">ARRE</field>153 <field name="code">ARRE</field>
117 <field name="name">Arrears</field>154 <field name="name">Arrears</field>
118 <field name="category_id" ref="hr_payroll.ALW"/>155 <field name="category_id" ref="hr_payroll.ALW"/>
119 <field name="amount_select">fix</field>156 <field name="amount_select">code</field>
157 <field name="amount_python_compute">result = inputs.ARS.amount</field>
120 <field eval="0.0" name="amount_fix"/>158 <field eval="0.0" name="amount_fix"/>
121 <field name="sequence" eval="28"/>159 <field name="sequence" eval="28"/>
122 <field name="note">Generally arrears are fully taxable, but employee may claim exemption u/s 89(1).160 <field name="note">Generally arrears are fully taxable, but employee may claim exemption u/s 89(1).
@@ -124,25 +162,13 @@
124Now difference of income tax between payment year and actual year would be allowed for deduction.</field>162Now difference of income tax between payment year and actual year would be allowed for deduction.</field>
125 </record>163 </record>
126164
127 <record id="hr_salary_rule_gratuity" model="hr.salary.rule">
128 <field name="code">GRA</field>
129 <field name="name">Gratuity</field>
130 <field name="category_id" ref="hr_payroll.ALW"/>
131 <field name="condition_select">none</field>
132 <field name="amount_select">code</field>
133 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and ((contract.wage + DA) * 15 * employee.number_of_year / worked_days.WORK100.number_of_days) or (contract.wage * 15 * employee.number_of_year / worked_days.WORK100.number_of_days)</field>
134 <field name="sequence" eval="57"/>
135 <field name="note">Covered under the Payment of Gratuity Act, 1971:
136(Last drawn monthly basic salary + dearness allowance)/26 x 15 days x
137number of years of service (date of joining – date of retirement/leaving job)</field>
138 </record>
139
140 <record id="hr_salary_rule_lta" model="hr.salary.rule">165 <record id="hr_salary_rule_lta" model="hr.salary.rule">
141 <field name="code">LTA</field>166 <field name="code">LTA</field>
142 <field name="name">Leave Travel Allowance</field>167 <field name="name">Leave Travel Allowance</field>
143 <field name="category_id" ref="hr_payroll.ALW"/>168 <field name="category_id" ref="hr_payroll.ALW"/>
144 <field name="amount_select">fix</field>169 <field name="amount_select">percentage</field>
145 <field name="amount_fix">1666</field>170 <field name="amount_percentage_base">contract.wage</field>
171 <field name="amount_percentage" eval="8.33"/>
146 <field name="sequence" eval="29"/>172 <field name="sequence" eval="29"/>
147 <field name="note">As per Income tax rules of India, if transport bills for LTA are not provided,the amount will be taxed. E.g. If an employee has LTA allowance as Rs 50,000 in his CTC(cost to company),and he provides proofs of Rs 40,000 (boarding pass,air tickets, taxi vouchers) then income tax will be deducted for rest of the Rs 10,000. Does not matter whats the amount of LTA in an employee’s package, income tax laws only permits domestic air tickets only for LTA claim.</field>173 <field name="note">As per Income tax rules of India, if transport bills for LTA are not provided,the amount will be taxed. E.g. If an employee has LTA allowance as Rs 50,000 in his CTC(cost to company),and he provides proofs of Rs 40,000 (boarding pass,air tickets, taxi vouchers) then income tax will be deducted for rest of the Rs 10,000. Does not matter whats the amount of LTA in an employee’s package, income tax laws only permits domestic air tickets only for LTA claim.</field>
148 </record>174 </record>
@@ -152,8 +178,8 @@
152 <field name="name">Leave Encashment</field>178 <field name="name">Leave Encashment</field>
153 <field name="category_id" ref="hr_payroll.ALW"/>179 <field name="category_id" ref="hr_payroll.ALW"/>
154 <field name="condition_select">none</field>180 <field name="condition_select">none</field>
155 <field name="amount_select">fix</field>181 <field name="amount_select">code</field>
156 <field name="amount_fix">0.0</field>182 <field name="amount_python_compute">result = inputs.LE.amount</field>
157 <field name="sequence" eval="30"/>183 <field name="sequence" eval="30"/>
158 <field name="note">Payment by way of leave encashment received by Central and State Govt.employees at the time of retirement in respect of the period of earned leave at credit is fully exempt. In case of other employees, the exemption is to be limited to minimum of all below:184 <field name="note">Payment by way of leave encashment received by Central and State Govt.employees at the time of retirement in respect of the period of earned leave at credit is fully exempt. In case of other employees, the exemption is to be limited to minimum of all below:
159 1.The actual amount received185 1.The actual amount received
@@ -162,29 +188,40 @@
162 4.Rs. 3 Lakh</field>188 4.Rs. 3 Lakh</field>
163 </record>189 </record>
164190
165 <record id="hr_salary_rule_bonus" model="hr.salary.rule">191 <record id="hr_salary_rule_performance" model="hr.salary.rule">
166 <field name="code">PI</field>192 <field name="code">PI</field>
167 <field name="name">Performance Incentive/Bonus</field>193 <field name="name">Performance Incentive</field>
168 <field name="category_id" ref="hr_payroll.ALW"/>194 <field name="category_id" ref="hr_payroll.ALW"/>
169 <field name="amount_select">fix</field>195 <field name="amount_select">code</field>
170 <field eval="0.0" name="amount_fix"/>196 <field name="amount_python_compute">result = inputs.PERF.amount</field>
171 <field name="sequence" eval="31"/>197 <field name="sequence" eval="31"/>
172 <field name="note">This would be fully taxable based on incentive.</field>198 <field name="note">This would be fully taxable based on incentive.</field>
173 </record>199 </record>
174200
201 <record id="hr_salary_rule_bonus" model="hr.salary.rule">
202 <field name="code">BONUS</field>
203 <field name="name">Bonus</field>
204 <field name="category_id" ref="hr_payroll.ALW"/>
205 <field name="amount_select">code</field>
206 <field name="amount_python_compute">result = inputs.BNS.amount</field>
207 <field name="sequence" eval="41"/>
208 <field name="note">This would be fully taxable based on Bonus.</field>
209 </record>
210
211
175 <record id="hr_salary_rule_medical" model="hr.salary.rule">212 <record id="hr_salary_rule_medical" model="hr.salary.rule">
176 <field name="code">MEDA</field>213 <field name="code">MEDA</field>
177 <field name="name">Medical Reimbursement</field>214 <field name="name">Medical Reimbursement</field>
178 <field name="category_id" ref="hr_payroll.ALW"/>215 <field name="category_id" ref="hr_payroll.ALW"/>
179 <field name="amount_select">fix</field>216 <field name="amount_select">fix</field>
180 <field eval="1200.0" name="amount_fix"/>217 <field eval="1250.0" name="amount_fix"/>
181 <field name="sequence" eval="32"/>218 <field name="sequence" eval="32"/>
182 <field name="note">This component is on-taxable up to 15000 per year (or Rs 1250 per month) on producing medical bills.</field>219 <field name="note">This component is on-taxable up to 15000 per year (or Rs 1250 per month) on producing medical bills.</field>
183 </record>220 </record>
184221
185 <record id="hr_salary_rule_food_coupon" model="hr.salary.rule">222 <record id="hr_salary_rule_food_coupon" model="hr.salary.rule">
186 <field name="amount_select">fix</field>223 <field name="amount_select">fix</field>
187 <field eval="20" name="amount_fix"/>224 <field eval="50" name="amount_fix"/>
188 <field name="quantity">worked_days.WORK100.number_of_days</field>225 <field name="quantity">worked_days.WORK100.number_of_days</field>
189 <field name="code">FC</field>226 <field name="code">FC</field>
190 <field name="category_id" ref="hr_payroll.ALW"/>227 <field name="category_id" ref="hr_payroll.ALW"/>
@@ -197,28 +234,38 @@
197 <field name="code">PERJ</field>234 <field name="code">PERJ</field>
198 <field name="name">Periodical Journals</field>235 <field name="name">Periodical Journals</field>
199 <field name="category_id" ref="hr_payroll.ALW"/>236 <field name="category_id" ref="hr_payroll.ALW"/>
200 <field name="amount_select">fix</field>237 <field name="amount_select">code</field>
201 <field eval="0.0" name="amount_fix"/>238 <field name="amount_python_compute">result = inputs.PJ.amount</field>
202 <field name="sequence" eval="34"/>239 <field name="sequence" eval="34"/>
203 <field name="note">Some employers may provide component for buying magazines, journals and books as a part of knowledge enhancement for business growth.This part would become non taxable on providing original bills.</field>240 <field name="note">Some employers may provide component for buying magazines, journals and books as a part of knowledge enhancement for business growth.This part would become non taxable on providing original bills.</field>
204 </record>241 </record>
205242
206 <record id="hr_salary_rule_uniform" model="hr.salary.rule">243 <record id="hr_salary_rule_uniform_senior" model="hr.salary.rule">
207 <field name="code">UNIF</field>244 <field name="code">UNIFS</field>
208 <field name="name">Uniform/Dress Allowance</field>245 <field name="name">Uniform/Dress Allowance for Senior Executive</field>
209 <field name="category_id" ref="hr_payroll.ALW"/>246 <field name="category_id" ref="hr_payroll.ALW"/>
210 <field name="amount_select">fix</field>247 <field name="amount_select">fix</field>
211 <field eval="0.0" name="amount_fix"/>248 <field eval="1000" name="amount_fix"/>
212 <field name="sequence" eval="35"/>249 <field name="sequence" eval="35"/>
213 <field name="note">Some sections of employees mat get allowance for purchase of office dress/uniform.In such case, the component would become non-taxable.</field>250 <field name="note">Some sections of employees mat get allowance for purchase of office dress/uniform.In such case, the component would become non-taxable.</field>
214 </record>251 </record>
215252
253 <record id="hr_salary_rule_uniform_junior" model="hr.salary.rule">
254 <field name="code">UNIFJ</field>
255 <field name="name">Uniform/Dress Allowance for Junior Executive</field>
256 <field name="category_id" ref="hr_payroll.ALW"/>
257 <field name="amount_select">fix</field>
258 <field eval="600" name="amount_fix"/>
259 <field name="sequence" eval="42"/>
260 <field name="note">Some sections of employees mat get allowance for purchase of office dress/uniform.In such case, the component would become non-taxable.</field>
261 </record>
262
216 <record id="hr_salary_rule_telephone" model="hr.salary.rule">263 <record id="hr_salary_rule_telephone" model="hr.salary.rule">
217 <field name="code">TELR</field>264 <field name="code">TELR</field>
218 <field name="name">Telephone Reimbursement</field>265 <field name="name">Telephone Reimbursement</field>
219 <field name="category_id" ref="hr_payroll.ALW"/>266 <field name="category_id" ref="hr_payroll.ALW"/>
220 <field name="amount_select">fix</field>267 <field name="amount_select">code</field>
221 <field name="amount_fix">1500</field>268 <field name="amount_python_compute">result = inputs.TR.amount</field>
222 <field name="sequence" eval="36"/>269 <field name="sequence" eval="36"/>
223 <field name="note">In some of the cases, companies may provide a component for telephone bills.Employees may provide actual phone usage bills to reimburse this component and make it non-taxable.270 <field name="note">In some of the cases, companies may provide a component for telephone bills.Employees may provide actual phone usage bills to reimburse this component and make it non-taxable.
224 </field>271 </field>
@@ -237,8 +284,8 @@
237 <field name="code">CAR</field>284 <field name="code">CAR</field>
238 <field name="name">Car Expenses Reimbursement</field>285 <field name="name">Car Expenses Reimbursement</field>
239 <field name="category_id" ref="hr_payroll.ALW"/>286 <field name="category_id" ref="hr_payroll.ALW"/>
240 <field name="amount_select">fix</field>287 <field name="amount_select">code</field>
241 <field name="amount_fix">1800</field>288 <field name="amount_python_compute">result = inputs.CEI.amount</field>
242 <field name="sequence" eval="38"/>289 <field name="sequence" eval="38"/>
243 <field name="note">In case company provides component for this and employee use self owned car for official and personal purposes, Rs 1800 per month would be non-taxable on showing bills for fuel or can maintenance. This amount would be Rs 2400 in case car is more capacity than 1600cc.</field>290 <field name="note">In case company provides component for this and employee use self owned car for official and personal purposes, Rs 1800 per month would be non-taxable on showing bills for fuel or can maintenance. This amount would be Rs 2400 in case car is more capacity than 1600cc.</field>
244 </record>291 </record>
@@ -247,8 +294,8 @@
247 <field name="code">INT</field>294 <field name="code">INT</field>
248 <field name="name">Internet Expense</field>295 <field name="name">Internet Expense</field>
249 <field name="category_id" ref="hr_payroll.ALW"/>296 <field name="category_id" ref="hr_payroll.ALW"/>
250 <field name="amount_select">fix</field>297 <field name="amount_select">code</field>
251 <field eval="0.0" name="amount_fix"/>298 <field name="amount_python_compute">result = inputs.IE.amount</field>
252 <field name="sequence" eval="39"/>299 <field name="sequence" eval="39"/>
253 <field name="note">Employer may also provide reimbursement of internet expenses and thus this would become non taxable.</field>300 <field name="note">Employer may also provide reimbursement of internet expenses and thus this would become non taxable.</field>
254 </record>301 </record>
@@ -276,6 +323,7 @@
276 <field name="condition_python">result = bool(contract.tds)</field>323 <field name="condition_python">result = bool(contract.tds)</field>
277 <field name="amount_select">code</field>324 <field name="amount_select">code</field>
278 <field name="amount_python_compute">result = -(contract.tds)</field>325 <field name="amount_python_compute">result = -(contract.tds)</field>
326 <field name="register_id" ref="hr_tds_register"/>
279 <field name="sequence" eval="140"/>327 <field name="sequence" eval="140"/>
280 <field name="note">As per income tax rules, all payment which are taxable in nature should be done after deduction of taxes at the source itself. Hence employer compute income tax on salary payment and deduct it every month. This TDS is based on employee’s saving/investment declaration at the start of year. If investments for tax saving is not done, large amount may be deducted in last few months.</field>328 <field name="note">As per income tax rules, all payment which are taxable in nature should be done after deduction of taxes at the source itself. Hence employer compute income tax on salary payment and deduct it every month. This TDS is based on employee’s saving/investment declaration at the start of year. If investments for tax saving is not done, large amount may be deducted in last few months.</field>
281 </record>329 </record>
@@ -297,7 +345,7 @@
297 <field name="name">Employee's PF Contribution</field>345 <field name="name">Employee's PF Contribution</field>
298 <field name="category_id" ref="hr_payroll.DED"/>346 <field name="category_id" ref="hr_payroll.DED"/>
299 <field name="amount_select">code</field>347 <field name="amount_select">code</field>
300 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 8.33 / 100) or - (contract.wage * 8.33 / 100)</field>348 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 0.12) or - (contract.wage * 0.12)</field>
301 <field name= "note">Employer contribution does not become part of employee’s income and hence income tax is not payable on this part.</field>349 <field name= "note">Employer contribution does not become part of employee’s income and hence income tax is not payable on this part.</field>
302 <field name="register_id" ref="hr_register_provident_fund"/>350 <field name="register_id" ref="hr_register_provident_fund"/>
303 <field name="sequence" eval="150"/>351 <field name="sequence" eval="150"/>
@@ -310,6 +358,7 @@
310 <field name="amount_select">code</field>358 <field name="amount_select">code</field>
311 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 0.10) or - (contract.wage * 0.10)</field>359 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 0.10) or - (contract.wage * 0.10)</field>
312 <field name="sequence" eval="155"/>360 <field name="sequence" eval="155"/>
361 <field name="register_id" ref="hr_nps_contribution_register"/>
313 <field name="note">Employee can claim deduction even of employer's contribution to NPS.</field>362 <field name="note">Employee can claim deduction even of employer's contribution to NPS.</field>
314 </record>363 </record>
315364
@@ -322,6 +371,7 @@
322 <field name="amount_select">code</field>371 <field name="amount_select">code</field>
323 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * contract.voluntary_provident_fund / 100) or - (contract.wage * contract.voluntary_provident_fund / 100)</field>372 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * contract.voluntary_provident_fund / 100) or - (contract.wage * contract.voluntary_provident_fund / 100)</field>
324 <field name="sequence" eval="160"/>373 <field name="sequence" eval="160"/>
374 <field name="register_id" ref="hr_vpf_contribution_register"/>
325 <field name="note">VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government.This additional amount enjoys all the benefits of PF except that the employer is not liable to contribute any extra amount apart from 12%.An added advantage is that the interest rate is equal to the interest rate of PF and he withdrawal is tax free. Please note that the maximum contribution towards VPF is 100% of your Basic.The highest rate of interest (close to 9%) makes it a very attractive saving scheme. Because of these advantages many employees chose not to close their PF account even after getting employment else where other than India.Employees also get a major tax break on their entire contribution to the fund up to a ceiling of Rs. 70,000/-</field>375 <field name="note">VPF is a safe option wherein you can contribute more than the PF ceiling of 12% that has been mandated by the government.This additional amount enjoys all the benefits of PF except that the employer is not liable to contribute any extra amount apart from 12%.An added advantage is that the interest rate is equal to the interest rate of PF and he withdrawal is tax free. Please note that the maximum contribution towards VPF is 100% of your Basic.The highest rate of interest (close to 9%) makes it a very attractive saving scheme. Because of these advantages many employees chose not to close their PF account even after getting employment else where other than India.Employees also get a major tax break on their entire contribution to the fund up to a ceiling of Rs. 70,000/-</field>
326 </record>376 </record>
327377
@@ -331,27 +381,42 @@
331 <field name="category_id" ref="hr_payroll.DED"/>381 <field name="category_id" ref="hr_payroll.DED"/>
332 <field name="condition_select">none</field>382 <field name="condition_select">none</field>
333 <field name="amount_select">fix</field>383 <field name="amount_select">fix</field>
334 <field eval="0.0" name="amount_fix"/>384 <field eval="-1500.0" name="amount_fix"/>
385 <field name="register_id" ref="hr_company_transport_register"/>
335 <field name="sequence" eval="165"/>386 <field name="sequence" eval="165"/>
387 <field name="note">Company provided transport amount is based on company.</field>
336 </record>388 </record>
337389
338 <record id="hr_salary_rule_food_coupon_ded" model="hr.salary.rule">390 <record id="hr_salary_rule_food_coupon_ded" model="hr.salary.rule">
339 <field name="amount_select">fix</field>391 <field name="amount_select">fix</field>
340 <field eval="-20" name="amount_fix"/>392 <field eval="-50" name="amount_fix"/>
341 <field name="quantity">worked_days.WORK100.number_of_days</field>393 <field name="quantity">worked_days.WORK100.number_of_days</field>
342 <field name="code">FD</field>394 <field name="code">FD</field>
343 <field name="category_id" ref="hr_payroll.DED"/>395 <field name="category_id" ref="hr_payroll.DED"/>
344 <field name="name">Deduction Towards Food Coupons</field>396 <field name="name">Deduction Towards Food Coupons</field>
397 <field name="register_id" ref="hr_food_coupen_register"/>
345 <field name="sequence" eval="166"/>398 <field name="sequence" eval="166"/>
346 </record>399 </record>
347400
348 <record id="hr_payslip_rule_lwf" model="hr.salary.rule">401 <record id="hr_payslip_rule_lwf_employee" model="hr.salary.rule">
402 <field name="code">LWFE</field>
403 <field name="name">Employee's Deduction Towards State Labour Welfare Fund</field>
404 <field name="category_id" ref="hr_payroll.DED"/>
405 <field name="amount_select">fix</field>
406 <field eval="-3.0" name="amount_fix"/>
407 <field name="sequence" eval="170"/>
408 <field name="register_id" ref="hr_labour_Welfare_fund_register"/>
409 <field name="note">The LWF is applicable to all the members of the organisation except the Management staff (Staffs having authority to sign on the cheque/official documents on behalf of the organisation). for e.x. Employee Contribution is Rs. 3.00 and Employer contribution Rs. 6.00 Total Rs 9.00 and deposited to the LWF office.It is half yearly contribution (June and December).</field>
410 </record>
411
412 <record id="hr_payslip_rule_lwf_employer" model="hr.salary.rule">
349 <field name="code">LWF</field>413 <field name="code">LWF</field>
350 <field name="name">Deduction Towards State Labour Welfare Fund</field>414 <field name="name">Employer's Deduction Towards State Labour Welfare Fund </field>
351 <field name="category_id" ref="hr_payroll.DED"/>415 <field name="category_id" ref="hr_payroll.DED"/>
352 <field name="amount_select">fix</field>416 <field name="amount_select">fix</field>
353 <field eval="0.0" name="amount_fix"/>417 <field eval="-6.0" name="amount_fix"/>
354 <field name="sequence" eval="170"/>418 <field name="sequence" eval="171"/>
419 <field name="register_id" ref="hr_labour_Welfare_fund_register"/>
355 <field name="note">The LWF is applicable to all the members of the organisation except the Management staff (Staffs having authority to sign on the cheque/official documents on behalf of the organisation). for e.x. Employee Contribution is Rs. 3.00 and Employer contribution Rs. 6.00 Total Rs 9.00 and deposited to the LWF office.It is half yearly contribution (June and December).</field>420 <field name="note">The LWF is applicable to all the members of the organisation except the Management staff (Staffs having authority to sign on the cheque/official documents on behalf of the organisation). for e.x. Employee Contribution is Rs. 3.00 and Employer contribution Rs. 6.00 Total Rs 9.00 and deposited to the LWF office.It is half yearly contribution (June and December).</field>
356 </record>421 </record>
357422
@@ -360,8 +425,10 @@
360 <field name="name">Deduction Towards Company Provided Group Term Insurance</field>425 <field name="name">Deduction Towards Company Provided Group Term Insurance</field>
361 <field name="category_id" ref="hr_payroll.DED"/>426 <field name="category_id" ref="hr_payroll.DED"/>
362 <field name="amount_select">fix</field>427 <field name="amount_select">fix</field>
363 <field eval="0.0" name="amount_fix"/>428 <field eval="-1000.0" name="amount_fix"/>
429 <field name="register_id" ref="hr_group_term_insurance_register"/>
364 <field name="sequence" eval="175"/>430 <field name="sequence" eval="175"/>
431 <field name="note">Group term insurance provides a solid foundation to a comprehensive employee benifit program,backed up by government asistance in the form of valuable tax incentives to both employees and employers.</field>
365 </record>432 </record>
366433
367 <record id="hr_payslip_rule_dla" model="hr.salary.rule">434 <record id="hr_payslip_rule_dla" model="hr.salary.rule">
@@ -369,8 +436,9 @@
369 <field name="name">Deduction Towards Leave Availed</field>436 <field name="name">Deduction Towards Leave Availed</field>
370 <field name="category_id" ref="hr_payroll.DED"/>437 <field name="category_id" ref="hr_payroll.DED"/>
371 <field name="condition_select">none</field>438 <field name="condition_select">none</field>
372 <field name="amount_select">fix</field>439 <field name="amount_select">code</field>
373 <field eval="0.0" name="amount_fix"/>440 <field name="amount_python_compute">result = - (inputs.LAI.amount)</field>
441 <field name="register_id" ref="hr_leave_availed_register"/>
374 <field name="sequence" eval="180"/>442 <field name="sequence" eval="180"/>
375 </record>443 </record>
376444
@@ -383,6 +451,7 @@
383 <field name="amount_select">code</field>451 <field name="amount_select">code</field>
384 <field name="amount_python_compute">result = - (contract.medical_insurance)</field>452 <field name="amount_python_compute">result = - (contract.medical_insurance)</field>
385 <field eval="-50.0" name="amount_fix"/>453 <field eval="-50.0" name="amount_fix"/>
454 <field name="register_id" ref="hr_medical_insurance_register"/>
386 <field name="sequence" eval="185"/>455 <field name="sequence" eval="185"/>
387 </record>456 </record>
388457
@@ -392,6 +461,7 @@
392 <field name="category_id" ref="hr_payroll.DED"/>461 <field name="category_id" ref="hr_payroll.DED"/>
393 <field name="amount_select">fix</field>462 <field name="amount_select">fix</field>
394 <field eval="-200.0" name="amount_fix"/>463 <field eval="-200.0" name="amount_fix"/>
464 <field name="register_id" ref="hr_other_deduction_register"/>
395 <field name="sequence" eval="187"/>465 <field name="sequence" eval="187"/>
396 </record>466 </record>
397467
@@ -402,6 +472,7 @@
402 <field name="amount_select">code</field>472 <field name="amount_select">code</field>
403 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 0.10) or - (contract.wage * 0.10)</field>473 <field name="amount_python_compute">result = payslip.company_id.dearness_allowance and - ((contract.wage + DA) * 0.10) or - (contract.wage * 0.10)</field>
404 <field name="sequence" eval="190"/>474 <field name="sequence" eval="190"/>
475 <field name="register_id" ref="hr_nps_contribution_register"/>
405 <field name= "note">Any amount contributed by your employer to your NPS account is treated as part of your salary and is included in your income but you can claim deduction under Section 80C for this too.thus, effectively making it exempt from tax within the limit of 10% of your basic salary. This is very useful and tax efficient for you particularly if you fall in the maximum tax.</field>476 <field name= "note">Any amount contributed by your employer to your NPS account is treated as part of your salary and is included in your income but you can claim deduction under Section 80C for this too.thus, effectively making it exempt from tax within the limit of 10% of your basic salary. This is very useful and tax efficient for you particularly if you fall in the maximum tax.</field>
406 </record>477 </record>
407478
@@ -416,5 +487,60 @@
416 <field name="note">Both the employees and employer contribute to the fund at the rate of 12% of the basic wages, dearness allowance and retaining allowance, if any, payable to employees per month.</field>487 <field name="note">Both the employees and employer contribute to the fund at the rate of 12% of the basic wages, dearness allowance and retaining allowance, if any, payable to employees per month.</field>
417 </record>488 </record>
418489
490 <!-- Rule Inputs -->
491
492 <record id="hr_rule_input_performance" model="hr.rule.input">
493 <field name="code">PERF</field>
494 <field name="name">Performance of Employee</field>
495 <field name="input_id" ref="hr_salary_rule_performance"/>
496 </record>
497
498 <record id="hr_rule_input_bonus" model="hr.rule.input">
499 <field name="code">BNS</field>
500 <field name="name">Bonus of Employee</field>
501 <field name="input_id" ref="hr_salary_rule_bonus"/>
502 </record>
503
504 <record id="hr_rule_input_arrears" model="hr.rule.input">
505 <field name="code">ARS</field>
506 <field name="name">Arrears</field>
507 <field name="input_id" ref="hr_salary_rule_arrears"/>
508 </record>
509
510 <record id="hr_rule_input_le" model="hr.rule.input">
511 <field name="code">LE</field>
512 <field name="name">Leave Encashment</field>
513 <field name="input_id" ref="hr_salary_rule_le"/>
514 </record>
515
516 <record id="hr_rule_input_journals" model="hr.rule.input">
517 <field name="code">PJ</field>
518 <field name="name">Periodical Journals</field>
519 <field name="input_id" ref="hr_salary_rule_journals"/>
520 </record>
521
522 <record id="hr_rule_input_telephone" model="hr.rule.input">
523 <field name="code">TR</field>
524 <field name="name">Telephone Reimbursement</field>
525 <field name="input_id" ref="hr_salary_rule_telephone"/>
526 </record>
527
528 <record id="hr_rule_input_car" model="hr.rule.input">
529 <field name="code">CEI</field>
530 <field name="name">Car Expenses</field>
531 <field name="input_id" ref="hr_payroll_rule_car"/>
532 </record>
533
534 <record id="hr_rule_input_internet" model="hr.rule.input">
535 <field name="code">IE</field>
536 <field name="name">Internet Expence</field>
537 <field name="input_id" ref="hr_salary_rule_internet"/>
538 </record>
539
540 <record id="hr_rule_input_leave_avail" model="hr.rule.input">
541 <field name="code">LAI</field>
542 <field name="name">Leave Availed</field>
543 <field name="input_id" ref="hr_payslip_rule_dla"/>
544 </record>
419 </data>545 </data>
420</openerp>546</openerp>
421547
=== modified file 'l10n_in_hr_payroll/l10n_in_hr_payroll.py'
--- l10n_in_hr_payroll/l10n_in_hr_payroll.py 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll.py 2012-08-24 13:15:26 +0000
@@ -45,62 +45,12 @@
45 'driver_salay': fields.boolean('Driver Salary', help="Check this box if you provide allowance for driver"),45 'driver_salay': fields.boolean('Driver Salary', help="Check this box if you provide allowance for driver"),
46 'medical_insurance': fields.float('Medical Insurance', digits_compute=dp.get_precision('Payroll'), help="Deduction towards company provided medical insurance"),46 'medical_insurance': fields.float('Medical Insurance', digits_compute=dp.get_precision('Payroll'), help="Deduction towards company provided medical insurance"),
47 'voluntary_provident_fund': fields.float('Voluntary Provident Fund', digits_compute=dp.get_precision('Payroll'), help="VPF computed as percentage(%)"),47 'voluntary_provident_fund': fields.float('Voluntary Provident Fund', digits_compute=dp.get_precision('Payroll'), help="VPF computed as percentage(%)"),
48 'city_type': fields.selection([48 'house_rent_allowance_metro_nonmetro': fields.float('House Rent Allowance for Metro and Non Metro City', digits_compute=dp.get_precision('Payroll'), help="HRA computed as percentage(%)"),
49 ('metro', 'Metro'),49 'supplementary_allowance': fields.float('Supplementary Allowance', digits_compute=dp.get_precision('Payroll')),
50 ('non-metro', 'Non Metro'),
51 ], 'Type of City'),
52 }
53 _defaults = {
54 'city_type': 'non-metro',
55 }50 }
5651
57hr_contract()52hr_contract()
5853
59class hr_employee(osv.osv):
60 '''
61 Employee's Join date allows to compute total working
62 experience of Employee and it is used to calculate Gratuity rule.
63 '''
64
65 _inherit = 'hr.employee'
66 _description = 'Employee'
67
68 def _compute_year(self, cr, uid, ids, fields, args, context=None):
69 """
70 @param cr: the current row, from the database cursor,
71 @param uid: the current user’s ID for security checks,
72 @param ids: List of employee’s IDs
73 @return: No. of years of experience.
74 @param context: A standard dictionary for contextual values
75 """
76 res = {}
77 c_date = time.strftime(DATETIME_FORMAT)
78 current_date = datetime.strptime(c_date, DATETIME_FORMAT)
79 for employee in self.browse(cr, uid, ids, context=context):
80 if employee.join_date:
81 date_start = datetime.strptime(employee.join_date, DATETIME_FORMAT)
82 diffyears = current_date.year - date_start.year
83 difference = current_date - date_start.replace(current_date.year)
84 days_in_year = isleap(current_date.year) and 366 or 365
85 difference_in_years = diffyears + (difference.days + difference.seconds / 86400.0) / days_in_year
86 total_years = relativedelta(current_date, date_start).years
87 total_months = relativedelta(current_date, date_start).months
88 if total_months < 10:
89 year_month = float(total_months) / 10 + total_years
90 else:
91 year_month = float(total_months) / 100 + total_years
92 res[employee.id] = year_month
93 else:
94 res[employee.id] = 0.0
95 return res
96
97 _columns = {
98 'join_date': fields.date('Join Date', help="Joining date of employee"),
99 'number_of_year': fields.function(_compute_year, string='No. of Years of Service', type="float", store=True, help="Total years of work experience"),
100 }
101
102hr_employee()
103
104class payroll_advice(osv.osv):54class payroll_advice(osv.osv):
105 '''55 '''
106 Bank Advice56 Bank Advice
10757
=== modified file 'l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml'
--- l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll_demo.xml 2012-08-24 13:15:26 +0000
@@ -4,13 +4,13 @@
44
5 <!-- Salary Structure -->5 <!-- Salary Structure -->
66
7 <!-- <record id="hr_payroll_salary_structure_ind_emp" model="hr.payroll.structure">7 <record id="hr_payroll_salary_structure_ind_emp" model="hr.payroll.structure">
8 <field name="code">NE</field>8 <field name="code">NE</field>
9 <field name="name">Non-Executive Employee</field>9 <field name="name">Non-Executive Employee</field>
10 <field eval="[(6, 0, [ref('hr_salary_rule_medical'), ref('hr_salary_rule_da'), ref('hr_salary_rule_lta'), ref('hr_salary_rule_telephone'), ref('hr_salary_rule_internet'), ref('hr_payroll_rule_child1'), ref('hr_salary_rule_gratuity')])]" name="rule_ids"/>10 <field eval="[(6, 0, [ref('hr_salary_rule_medical'), ref('hr_salary_rule_da'), ref('hr_salary_rule_lta'), ref('hr_salary_rule_telephone'), ref('hr_salary_rule_internet'), ref('hr_payroll_rule_child1')])]" name="rule_ids"/>
11 <field name="company_id" ref="base.main_company"/>11 <field name="company_id" ref="base.main_company"/>
12 <field name="parent_id" ref="hr_payroll.structure_base"/>12 <field name="parent_id" ref="hr_payroll.structure_base"/>
13 </record> -->13 </record>
1414
15 </data>15 </data>
16</openerp>16</openerp>
1717
=== modified file 'l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml'
--- l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/l10n_in_hr_payroll_view.xml 2012-08-24 13:15:26 +0000
@@ -13,7 +13,8 @@
13 <group col="2" colspan="2" name="right_column">13 <group col="2" colspan="2" name="right_column">
14 <separator colspan="2" string="Allowance"/>14 <separator colspan="2" string="Allowance"/>
15 <field name="driver_salay"/>15 <field name="driver_salay"/>
16 <field name="city_type"/>16 <field name="house_rent_allowance_metro_nonmetro"/>
17 <field name="supplementary_allowance"/>
17 </group>18 </group>
18 <group col="2" colspan="2" name="left_column">19 <group col="2" colspan="2" name="left_column">
19 <separator colspan="2" string="Deduction"/>20 <separator colspan="2" string="Deduction"/>
@@ -26,21 +27,6 @@
26 </field>27 </field>
27 </record>28 </record>
2829
29 <record id="hr_employee_form_in_inherit" model="ir.ui.view">
30 <field name="name">hr.employee.form.inherit</field>
31 <field name="model">hr.employee</field>
32 <field name="type">form</field>
33 <field name="inherit_id" ref="hr.view_employee_form"/>
34 <field name="arch" type="xml">
35 <data>
36 <xpath expr="//field[@name='active']" position="before">
37 <field name="join_date"/>
38 <field name="number_of_year"/>
39 </xpath>
40 </data>
41 </field>
42 </record>
43
44 <record id="hr_payslip_run_form_inherit" model="ir.ui.view">30 <record id="hr_payslip_run_form_inherit" model="ir.ui.view">
45 <field name="name">hr.payslip.run.form.inherit</field>31 <field name="name">hr.payslip.run.form.inherit</field>
46 <field name="model">hr.payslip.run</field>32 <field name="model">hr.payslip.run</field>
4733
=== modified file 'l10n_in_hr_payroll/report/__init__.py'
--- l10n_in_hr_payroll/report/__init__.py 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/report/__init__.py 2012-08-24 13:15:26 +0000
@@ -27,5 +27,6 @@
27import report_hr_salary_employee_bymonth27import report_hr_salary_employee_bymonth
28import payment_advice_report28import payment_advice_report
29import report_hr_yearly_salary_detail29import report_hr_yearly_salary_detail
30import payslip_report
3031
31# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:32# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
3233
=== added file 'l10n_in_hr_payroll/report/payslip_report.py'
--- l10n_in_hr_payroll/report/payslip_report.py 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/report/payslip_report.py 2012-08-24 13:15:26 +0000
@@ -0,0 +1,88 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2012-Today OpenERP SA (<http://www.openerp.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22import tools
23from osv import fields, osv
24
25class payslip_report(osv.osv):
26 _name = "payslip.report"
27 _description = "Payslip Analysis"
28 _auto = False
29 _columns = {
30 'name':fields.char('Name', size=32, readonly=True),
31 'date_from': fields.date('Date From', readonly=True,),
32 'date_to': fields.date('Date To', readonly=True,),
33 'year': fields.char('Year', size=4, readonly=True),
34 'month': fields.selection([('01', 'January'), ('02', 'February'), ('03', 'March'), ('04', 'April'),
35 ('05', 'May'), ('06', 'June'), ('07', 'July'), ('08', 'August'), ('09', 'September'),
36 ('10', 'October'), ('11', 'November'), ('12', 'December')], 'Month', readonly=True),
37 'day': fields.char('Day', size=128, readonly=True),
38 'state': fields.selection([
39 ('draft', 'Draft'),
40 ('done', 'Done'),
41 ('cancel', 'Rejected'),
42 ], 'State', readonly=True),
43 'employee_id': fields.many2one('hr.employee', 'Employee', readonly=True),
44 'nbr': fields.integer('# Payslip lines', readonly=True),
45 'number': fields.char('Number', size=16, readonly=True),
46 'struct_id': fields.many2one('hr.payroll.structure', 'Structure', readonly=True),
47 'company_id':fields.many2one('res.company', 'Company', readonly=True),
48 'paid': fields.boolean('Made Payment Order ? ', readonly=True),
49 'total': fields.float('Total', readonly=True),
50 'category_id':fields.many2one('hr.salary.rule.category', 'Category', readonly=True),
51 }
52 def init(self, cr):
53 tools.drop_view_if_exists(cr, 'payslip_report')
54 cr.execute("""
55 create or replace view payslip_report as (
56 select
57 min(l.id) as id,
58 l.name,
59 p.struct_id,
60 p.state,
61 p.date_from,
62 p.date_to,
63 p.number,
64 p.company_id,
65 p.paid,
66 l.category_id,
67 l.employee_id,
68 sum(l.total) as total,
69 to_char(p.date_from, 'YYYY') as year,
70 to_char(p.date_from, 'MM') as month,
71 to_char(p.date_from, 'YYYY-MM-DD') as day,
72 to_char(p.date_to, 'YYYY') as to_year,
73 to_char(p.date_to, 'MM') as to_month,
74 to_char(p.date_to, 'YYYY-MM-DD') as to_day,
75 1 AS nbr
76 from
77 hr_payslip as p
78 left join hr_payslip_line as l on (p.id=l.slip_id)
79 where
80 l.employee_id IS NOT NULL
81 group by
82 p.number,l.name,p.date_from,p.date_to,p.state,p.company_id,p.paid,
83 l.employee_id,p.struct_id,l.category_id
84 )
85 """)
86payslip_report()
87
88# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
089
=== added file 'l10n_in_hr_payroll/report/payslip_report_view.xml'
--- l10n_in_hr_payroll/report/payslip_report_view.xml 1970-01-01 00:00:00 +0000
+++ l10n_in_hr_payroll/report/payslip_report_view.xml 2012-08-24 13:15:26 +0000
@@ -0,0 +1,86 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3<data>
4
5 <record id="view_payslip_tree" model="ir.ui.view">
6 <field name="name">payslip.report.tree</field>
7 <field name="model">payslip.report</field>
8 <field name="type">tree</field>
9 <field name="arch" type="xml">
10 <tree colors="blue:state == 'draft';black:state == 'done';gray:state == 'cancel' " string="Payslip Analysis">
11 <field name="nbr" sum="# Payslip Lines"/>
12 <field name="name"/>
13 <field name="employee_id" invisible="1"/>
14 <field name="date_to" invisible="1"/>
15 <field name="date_from" invisible="1"/>
16 <field name="state" invisible="1"/>
17 <field name="number" invisible="1"/>
18 <field name="struct_id" invisible="1"/>
19 <field name="year" invisible="1"/>
20 <field name="day" invisible="1"/>
21 <field name="month" invisible="1"/>
22 <field name="company_id" invisible="1"/>
23 <field name="paid" invisible="1"/>
24 <field name="total" />
25 <field name="category_id" invisible="1"/>
26 </tree>
27 </field>
28 </record>
29
30 <record id="view_payslip_search" model="ir.ui.view">
31 <field name="name">payslip.report.search</field>
32 <field name="model">payslip.report</field>
33 <field name="type">search</field>
34 <field name="arch" type="xml">
35 <search string="Payslip Analysis">
36 <group>
37 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Payslips which are in draft state"/>
38 <filter icon="terp-check" string="Done" name="done" domain="[('state','=','done')]" help="Payslips which are in done state"/>
39 <separator orientation="vertical"/>
40 <filter icon="terp-camera_test" string="Paid" domain="[('paid','=',True)]" help="Payslips which are paid"/>
41 <separator orientation="vertical"/>
42 <field name="date_from"/>
43 <field name="date_to"/>
44 <separator orientation="vertical"/>
45 <field name="number"/>
46 <field name="name"/>
47 <field name="employee_id"/>
48 </group>
49 <newline/>
50 <group expand="0" string="Extended Filters...">
51 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
52 </group>
53 <newline/>
54 <group expand="1" string="Group By...">
55 <filter string="Employee" name="employee" icon="terp-personal" context="{'group_by':'employee_id'}" />
56 <filter string="Structure" context="{'group_by':'struct_id'}" />
57 <filter string="Category" name="category" context="{'group_by':'category_id'}" />
58 <filter string="Payslip Line" context="{'group_by':'name'}" />
59 <separator orientation="vertical"/>
60 <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
61 <separator orientation="vertical"/>
62 <filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
63 <separator orientation="vertical"/>
64 <filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Day of Payslip"/>
65 <filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Month of Payslip"/>
66 <filter string="Year" icon="terp-go-year" context="{'group_by':'year'}" help="Year of Payslip"/>
67
68 </group>
69 </search>
70 </field>
71 </record>
72
73 <record id="action_payslip_report_all" model="ir.actions.act_window">
74 <field name="name">Payslip Analysis</field>
75 <field name="res_model">payslip.report</field>
76 <field name="view_type">form</field>
77 <field name="view_mode">tree</field>
78 <field name="view_id" ref="view_payslip_tree"/>
79 <field name="context">{'search_default_employee':1,'search_default_category':1,'group_by_no_leaf':uid,'group_by':[]}</field>
80 <field name="help">This report performs analysis on Payslip</field>
81 </record>
82
83 <menuitem action="action_payslip_report_all" id="menu_reporting_payslip" parent="hr.menu_hr_reporting" sequence="5" groups="base.group_hr_manager"/>
84
85</data>
86</openerp>
087
=== modified file 'l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.rml'
--- l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.rml 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.rml 2012-08-24 13:15:26 +0000
@@ -239,7 +239,7 @@
239 <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>239 <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
240 <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>240 <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
241 <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>241 <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
242 <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>242 <paraStyle name="terp_tblheader_Details" rightIndent="0.0" leftIndent="-3.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
243 <paraStyle name="Footer" fontName="Helvetica"/>243 <paraStyle name="Footer" fontName="Helvetica"/>
244 <paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>244 <paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
245 <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>245 <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
@@ -247,7 +247,6 @@
247 <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>247 <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
248 <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>248 <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
249 <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>249 <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
250 <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
251 <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>250 <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
252 <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>251 <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
253 <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>252 <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
@@ -262,8 +261,7 @@
262 <blockTable colWidths="785.0" style="Table12">261 <blockTable colWidths="785.0" style="Table12">
263 <tr>262 <tr>
264 <td>263 <td>
265 <para style="terp_header_Centre">Employees Salary Details </para>264 <para style="terp_default_Centre_9">From <u>[[ formatLang(data['form']['date_from'], date=True) ]]</u> To <u>[[ formatLang(data['form']['date_to'], date=True) ]]</u></para>
266 <para style="terp_default_Centre_9">From [[ formatLang(data['form']['date_from'], date=True) ]] To [[ formatLang(data['form']['date_to'], date=True) ]]</para>
267 </td>265 </td>
268 </tr>266 </tr>
269 </blockTable>267 </blockTable>
@@ -392,7 +390,7 @@
392 <font color="white"> </font>390 <font color="white"> </font>
393 </para>391 </para>
394 <section>392 <section>
395 <blockTable colWidths="785.0" style="Table7">393 <blockTable colWidths="803.0" style="Table7">
396 <tr>394 <tr>
397 <td>395 <td>
398 <para style="terp_tblheader_Details">Allowances with Basic: </para>396 <para style="terp_tblheader_Details">Allowances with Basic: </para>
@@ -404,66 +402,79 @@
404 <blockTable colWidths="195.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,56.0" style="Table6">402 <blockTable colWidths="195.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,56.0" style="Table6">
405 <tr>403 <tr>
406 <td>404 <td>
407 <para style="terp_default_9">[[ e1[0] ]]</para>405 <para style="terp_default_9"><b>[[ e1[0] in ["Basic","Gross"] and e1[0] ]]</b> </para>
408 </td>406 <para style="terp_default_9">[[ e1[0] not in ["Basic","Gross"] and e1[0] ]]</para>
409 <td>407 </td>
410 <para style="terp_default_Right_8">408 <td>
411 <font face="Helvetica" size="7.0">[[ (e1[1]!='' and formatLang(e1[1])) or removeParentNode('font') ]]</font>409 <para style="terp_default_Right_8">
412 </para>410 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[1]!='' and formatLang(e1[1])) or removeParentNode('font') ]]</font>
413 </td>411 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[1]!='' and formatLang(e1[1])) or removeParentNode('font') ]]</font>
414 <td>412 </para>
415 <para style="terp_default_Right_8">413 </td>
416 <font face="Helvetica" size="7.0">[[ (e1[2]!='' and formatLang(e1[2])) or removeParentNode('font') ]]</font>414 <td>
417 </para>415 <para style="terp_default_Right_8">
418 </td>416 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[2]!='' and formatLang(e1[2])) or removeParentNode('font') ]]</font>
419 <td>417 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[2]!='' and formatLang(e1[2])) or removeParentNode('font') ]]</font>
420 <para style="terp_default_Right_8">418 </para>
421 <font face="Helvetica" size="7.0">[[ (e1[3]!='' and formatLang(e1[3])) or removeParentNode('font') ]]</font>419 </td>
422 </para>420 <td>
423 </td>421 <para style="terp_default_Right_8">
424 <td>422 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[3]!='' and formatLang(e1[3])) or removeParentNode('font') ]]</font>
425 <para style="terp_default_Right_8">423 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[3]!='' and formatLang(e1[3])) or removeParentNode('font') ]]</font>
426 <font face="Helvetica" size="7.0">[[ (e1[4]!='' and formatLang(e1[4])) or removeParentNode('font') ]]</font>424 </para>
427 </para>425 </td>
428 </td>426 <td>
429 <td>427 <para style="terp_default_Right_8">
430 <para style="terp_default_Right_8">428 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[4]!='' and formatLang(e1[4])) or removeParentNode('font') ]]</font>
431 <font face="Helvetica" size="7.0">[[ (e1[5]!='' and formatLang(e1[5])) or removeParentNode('font') ]]</font>429 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[4]!='' and formatLang(e1[4])) or removeParentNode('font') ]]</font>
432 </para>430 </para>
433 </td>431 </td>
434 <td>432 <td>
435 <para style="terp_default_Right_8">433 <para style="terp_default_Right_8">
436 <font face="Helvetica" size="7.0">[[ (e1[6]!='' and formatLang(e1[6])) or removeParentNode('font') ]]</font>434 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[5]!='' and formatLang(e1[5])) or removeParentNode('font') ]]</font>
437 </para>435 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[5]!='' and formatLang(e1[5])) or removeParentNode('font') ]]</font>
438 </td>436 </para>
439 <td>437 </td>
440 <para style="terp_default_Right_8">438 <td>
441 <font face="Helvetica" size="7.0">[[ (e1[7]!='' and formatLang(e1[7])) or removeParentNode('font') ]]</font>439 <para style="terp_default_Right_8">
442 </para>440 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[6]!='' and formatLang(e1[6])) or removeParentNode('font') ]]</font>
443 </td>441 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[6]!='' and formatLang(e1[6])) or removeParentNode('font') ]]</font>
444 <td>442 </para>
445 <para style="terp_default_Right_8">443 </td>
446 <font face="Helvetica" size="7.0">[[ (e1[8]!='' and formatLang(e1[8])) or removeParentNode('font') ]]</font>444 <td>
447 </para>445 <para style="terp_default_Right_8">
448 </td>446 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[7]!='' and formatLang(e1[7])) or removeParentNode('font') ]]</font>
449 <td>447 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[7]!='' and formatLang(e1[7])) or removeParentNode('font') ]]</font>
450 <para style="terp_default_Right_8">448 </para>
451 <font face="Helvetica" size="7.0">[[ (e1[9]!='' and formatLang(e1[9])) or removeParentNode('font') ]]</font>449 </td>
452 </para>450 <td>
453 </td>451 <para style="terp_default_Right_8">
454 <td>452 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[8]!='' and formatLang(e1[8])) or removeParentNode('font') ]]</font>
455 <para style="terp_default_Right_8">453 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[8]!='' and formatLang(e1[8])) or removeParentNode('font') ]]</font>
456 <font face="Helvetica" size="7.0">[[ (e1[10]!='' and formatLang(e1[10])) or removeParentNode('font') ]]</font>454 </para>
457 </para>455 </td>
458 </td>456 <td>
459 <td>457 <para style="terp_default_Right_8">
460 <para style="terp_default_Right_8">458 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[9]!='' and formatLang(e1[9])) or removeParentNode('font') ]]</font>
461 <font face="Helvetica" size="7.0">[[ (e1[11]!='' and formatLang(e1[11])) or removeParentNode('font') ]]</font>459 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[9]!='' and formatLang(e1[9])) or removeParentNode('font') ]]</font>
462 </para>460 </para>
463 </td>461 </td>
464 <td>462 <td>
465 <para style="terp_default_Right_8">463 <para style="terp_default_Right_8">
466 <font face="Helvetica" size="7.0">[[ (e1[12]!='' and formatLang(e1[12])) or removeParentNode('font') ]]</font>464 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[10]!='' and formatLang(e1[10])) or removeParentNode('font') ]]</font>
465 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[10]!='' and formatLang(e1[10])) or removeParentNode('font') ]]</font>
466 </para>
467 </td>
468 <td>
469 <para style="terp_default_Right_8">
470 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[11]!='' and formatLang(e1[11])) or removeParentNode('font') ]]</font>
471 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[11]!='' and formatLang(e1[11])) or removeParentNode('font') ]]</font>
472 </para>
473 </td>
474 <td>
475 <para style="terp_default_Right_8">
476 <font face="Helvetica-Bold" size="7.0">[[ (e1[0] in ["Basic","Gross"] and e1[12]!='' and formatLang(e1[12])) or removeParentNode('font') ]]</font>
477 <font face="Helvetica" size="7.0">[[ (e1[0] not in ["Basic","Gross"] and e1[12]!='' and formatLang(e1[12])) or removeParentNode('font') ]]</font>
467 </para>478 </para>
468 </td>479 </td>
469 <td>480 <td>
@@ -472,7 +483,7 @@
472 </tr>483 </tr>
473 </blockTable>484 </blockTable>
474 </section>485 </section>
475 <blockTable colWidths="785.0" style="Table10">486 <blockTable colWidths="803.0" style="Table10">
476 <tr>487 <tr>
477 <td>488 <td>
478 <para style="terp_tblheader_Details">Deductions: </para>489 <para style="terp_tblheader_Details">Deductions: </para>
@@ -484,66 +495,79 @@
484 <blockTable colWidths="195.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,56.0" style="Table8">495 <blockTable colWidths="195.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,46.0,56.0" style="Table8">
485 <tr>496 <tr>
486 <td>497 <td>
487 <para style="terp_default_9">[[ e2[0] ]]</para>498 <para style="terp_default_9"><b>[[ e2[0] in ["Net"] and e2[0] ]]</b> </para>
488 </td>499 <para style="terp_default_9">[[ e2[0] not in ["Net"] and e2[0] ]]</para>
489 <td>500 </td>
490 <para style="terp_default_Right_8">501 <td>
491 <font face="Helvetica" size="7.0">[[ (e2[1]!='' and formatLang(e2[1])) or removeParentNode('font') ]]</font>502 <para style="terp_default_Right_8">
492 </para>503 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[1]!='' and formatLang(e2[1])) or removeParentNode('font') ]]</font>
493 </td>504 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[1]!='' and formatLang(e2[1])) or removeParentNode('font') ]]</font>
494 <td>505 </para>
495 <para style="terp_default_Right_8">506 </td>
496 <font face="Helvetica" size="7.0">[[ (e2[2]!='' and formatLang(e2[2])) or removeParentNode('font') ]]</font>507 <td>
497 </para>508 <para style="terp_default_Right_8">
498 </td>509 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[2]!='' and formatLang(e2[2])) or removeParentNode('font') ]]</font>
499 <td>510 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[2]!='' and formatLang(e2[2])) or removeParentNode('font') ]]</font>
500 <para style="terp_default_Right_8">511 </para>
501 <font face="Helvetica" size="7.0">[[ (e2[3]!='' and formatLang(e2[3])) or removeParentNode('font') ]]</font>512 </td>
502 </para>513 <td>
503 </td>514 <para style="terp_default_Right_8">
504 <td>515 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[3]!='' and formatLang(e2[3])) or removeParentNode('font') ]]</font>
505 <para style="terp_default_Right_8">516 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[3]!='' and formatLang(e2[3])) or removeParentNode('font') ]]</font>
506 <font face="Helvetica" size="7.0">[[ (e2[4]!='' and formatLang(e2[4])) or removeParentNode('font') ]]</font>517 </para>
507 </para>518 </td>
508 </td>519 <td>
509 <td>520 <para style="terp_default_Right_8">
510 <para style="terp_default_Right_8">521 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[4]!='' and formatLang(e2[4])) or removeParentNode('font') ]]</font>
511 <font face="Helvetica" size="7.0">[[ (e2[5]!='' and formatLang(e2[5])) or removeParentNode('font') ]]</font>522 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[4]!='' and formatLang(e2[4])) or removeParentNode('font') ]]</font>
512 </para>523 </para>
513 </td>524 </td>
514 <td>525 <td>
515 <para style="terp_default_Right_8">526 <para style="terp_default_Right_8">
516 <font face="Helvetica" size="7.0">[[ (e2[6]!='' and formatLang(e2[6])) or removeParentNode('font') ]]</font>527 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[5]!='' and formatLang(e2[5])) or removeParentNode('font') ]]</font>
517 </para>528 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[5]!='' and formatLang(e2[5])) or removeParentNode('font') ]]</font>
518 </td>529 </para>
519 <td>530 </td>
520 <para style="terp_default_Right_8">531 <td>
521 <font face="Helvetica" size="7.0">[[ (e2[7]!='' and formatLang(e2[7])) or removeParentNode('font') ]]</font>532 <para style="terp_default_Right_8">
522 </para>533 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[6]!='' and formatLang(e2[6])) or removeParentNode('font') ]]</font>
523 </td>534 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[6]!='' and formatLang(e2[6])) or removeParentNode('font') ]]</font>
524 <td>535 </para>
525 <para style="terp_default_Right_8">536 </td>
526 <font face="Helvetica" size="7.0">[[ (e2[8]!='' and formatLang(e2[8])) or removeParentNode('font') ]]</font>537 <td>
527 </para>538 <para style="terp_default_Right_8">
528 </td>539 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[7]!='' and formatLang(e2[7])) or removeParentNode('font') ]]</font>
529 <td>540 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[7]!='' and formatLang(e2[7])) or removeParentNode('font') ]]</font>
530 <para style="terp_default_Right_8">541 </para>
531 <font face="Helvetica" size="7.0">[[ (e2[9]!='' and formatLang(e2[9])) or removeParentNode('font') ]]</font>542 </td>
532 </para>543 <td>
533 </td>544 <para style="terp_default_Right_8">
534 <td>545 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[8]!='' and formatLang(e2[8])) or removeParentNode('font') ]]</font>
535 <para style="terp_default_Right_8">546 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[8]!='' and formatLang(e2[8])) or removeParentNode('font') ]]</font>
536 <font face="Helvetica" size="7.0">[[ (e2[10]!='' and formatLang(e2[10])) or removeParentNode('font') ]]</font>547 </para>
537 </para>548 </td>
538 </td>549 <td>
539 <td>550 <para style="terp_default_Right_8">
540 <para style="terp_default_Right_8">551 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[9]!='' and formatLang(e2[9])) or removeParentNode('font') ]]</font>
541 <font face="Helvetica" size="7.0">[[ (e2[11]!='' and formatLang(e2[11])) or removeParentNode('font') ]]</font>552 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[9]!='' and formatLang(e2[9])) or removeParentNode('font') ]]</font>
542 </para>553 </para>
543 </td>554 </td>
544 <td>555 <td>
545 <para style="terp_default_Right_8">556 <para style="terp_default_Right_8">
546 <font face="Helvetica" size="7.0">[[ (e2[12]!='' and formatLang(e2[12])) or removeParentNode('font') ]]</font>557 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[10]!='' and formatLang(e2[10])) or removeParentNode('font') ]]</font>
558 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[10]!='' and formatLang(e2[10])) or removeParentNode('font') ]]</font>
559 </para>
560 </td>
561 <td>
562 <para style="terp_default_Right_8">
563 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[11]!='' and formatLang(e2[11])) or removeParentNode('font') ]]</font>
564 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[11]!='' and formatLang(e2[11])) or removeParentNode('font') ]]</font>
565 </para>
566 </td>
567 <td>
568 <para style="terp_default_Right_8">
569 <font face="Helvetica-Bold" size="7.0">[[ (e2[0] in ["Net"] and e2[12]!='' and formatLang(e2[12])) or removeParentNode('font') ]]</font>
570 <font face="Helvetica" size="7.0">[[ (e2[0] not in ["Net"] and e2[12]!='' and formatLang(e2[12])) or removeParentNode('font') ]]</font>
547 </para>571 </para>
548 </td>572 </td>
549 <td>573 <td>
550574
=== modified file 'l10n_in_hr_payroll/security/ir.model.access.csv'
--- l10n_in_hr_payroll/security/ir.model.access.csv 2012-08-21 13:20:23 +0000
+++ l10n_in_hr_payroll/security/ir.model.access.csv 2012-08-24 13:15:26 +0000
@@ -2,3 +2,4 @@
2"access_hr_payroll_advice_user","hr.payroll.advice","model_hr_payroll_advice","base.group_hr_user",1,1,1,12"access_hr_payroll_advice_user","hr.payroll.advice","model_hr_payroll_advice","base.group_hr_user",1,1,1,1
3"access_hr_payroll_advice_line_user","hr.payroll.advice.line","model_hr_payroll_advice_line","base.group_hr_user",1,1,1,13"access_hr_payroll_advice_line_user","hr.payroll.advice.line","model_hr_payroll_advice_line","base.group_hr_user",1,1,1,1
4"access_hr_payroll_advice_report_user","payment.advice.report","model_payment_advice_report","base.group_hr_manager",1,1,1,14"access_hr_payroll_advice_report_user","payment.advice.report","model_payment_advice_report","base.group_hr_manager",1,1,1,1
5"access_hr_payroll_payslip_report_user","payslip.report","model_payslip_report","base.group_hr_manager",1,1,1,1

Subscribers

People subscribed via source and target branches