summaryrefslogtreecommitdiff
path: root/om_hr_payroll/data/hr_payroll_data.xml
blob: a5dace8652114324c7b2b9574ab1375f3ca952b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?xml version="1.0" encoding="utf-8"?>
<odoo>

    <data noupdate="0">

        <record id="hr_rule_basic" model="hr.salary.rule">
            <field name="name">Basic Salary</field>
            <field name="sequence" eval="1"/>
            <field name="code">BASIC</field>
            <field name="category_id" ref="om_hr_payroll.BASIC"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.wage</field>
        </record>

        <record id="hr_rule_taxable" model="hr.salary.rule">
            <field name="name">Gross</field>
            <field name="sequence" eval="100"/>
            <field name="code">GROSS</field>
            <field name="category_id" ref="om_hr_payroll.GROSS"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = categories.BASIC + categories.ALW</field>
        </record>

<!--        <record id="hr_rule_unpaid" model="hr.salary.rule">-->
<!--            <field name="name">Unpaid Leave</field>-->
<!--            <field name="sequence" eval="100"/>-->
<!--            <field name="code">UNP</field>-->
<!--            <field name="category_id" ref="om_hr_payroll.DED"/>-->
<!--            <field name="condition_select">none</field>-->
<!--            <field name="amount_select">code</field>-->
<!--            <field name="amount_python_compute">result=-(contract.wage / worked_days.WORK100.number_of_days) *-->
<!--                worked_days.Unpaid.number_of_days-->
<!--            </field>-->
<!--        </record>-->

        <record id="hr_rule_hra" model="hr.salary.rule">
            <field name="name">House Rent Allowance</field>
            <field name="sequence" eval="3"/>
            <field name="code">HRA</field>
            <field name="category_id" ref="om_hr_payroll.ALW"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.hra</field>
            <field name="amount_percentage">30</field>
        </record>

        <record id="hr_rule_da" model="hr.salary.rule">
            <field name="name">Dearness Allowance</field>
            <field name="sequence" eval="5"/>
            <field name="code">DA</field>
            <field name="category_id" ref="om_hr_payroll.ALW"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.da</field>
        </record>

        <record id="hr_rule_travel" model="hr.salary.rule">
            <field name="name">Travel Allowance</field>
            <field name="sequence" eval="7"/>
            <field name="code">Travel</field>
            <field name="category_id" ref="om_hr_payroll.ALW"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.travel_allowance</field>
        </record>

        <record id="hr_rule_meal" model="hr.salary.rule">
            <field name="name">Meal Allowance</field>
            <field name="sequence" eval="9"/>
            <field name="code">Meal</field>
            <field name="category_id" ref="om_hr_payroll.ALW"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.meal_allowance</field>
        </record>

        <record id="hr_rule_medical" model="hr.salary.rule">
            <field name="name">Medical Allowance</field>
            <field name="sequence" eval="11"/>
            <field name="code">Medical</field>
            <field name="category_id" ref="om_hr_payroll.ALW"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = contract.medical_allowance</field>
        </record>

        <record id="hr_rule_net" model="hr.salary.rule">
            <field name="name">Net Salary</field>
            <field name="sequence" eval="200"/>
            <field name="code">NET</field>
            <field name="category_id" ref="om_hr_payroll.NET"/>
            <field name="condition_select">none</field>
            <field name="amount_select">code</field>
            <field name="amount_python_compute">result = categories.BASIC + categories.ALW + categories.DED</field>
            <field name="register_id" ref="contrib_register_employees"/>
        </record>

        <!-- Salary Structure -->

        <record id="structure_base" model="hr.payroll.structure">
            <field name="code">BASE</field>
            <field name="name">Base for new structures</field>
            <field eval="[(6, 0, [ref('hr_rule_basic'), ref('hr_rule_taxable'),ref('hr_rule_net')])]" name="rule_ids"/>
            <field name="company_id" ref="base.main_company"/>
        </record>

        <!-- Decimal Precision -->

        <record forcecreate="True" id="decimal_payroll" model="decimal.precision">
            <field name="name">Payroll</field>
            <field name="digits">2</field>
        </record>

        <record forcecreate="True" id="decimal_payroll_rate" model="decimal.precision">
            <field name="name">Payroll Rate</field>
            <field name="digits">4</field>
        </record>

    </data>
</odoo>