diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
| commit | 1ca3b3df3421961caec3b747a364071c80f5c7da (patch) | |
| tree | 6778a1f0f3f9b4c6e26d6d87ccde16e24da6c9d6 /om_hr_payroll/data | |
| parent | b57188be371d36d96caac4b8d65a40745c0e972c (diff) | |
initial commit
Diffstat (limited to 'om_hr_payroll/data')
| -rw-r--r-- | om_hr_payroll/data/hr_payroll_category.xml | 71 | ||||
| -rw-r--r-- | om_hr_payroll/data/hr_payroll_data.xml | 122 | ||||
| -rw-r--r-- | om_hr_payroll/data/hr_payroll_demo.xml | 163 | ||||
| -rw-r--r-- | om_hr_payroll/data/hr_payroll_sequence.xml | 13 | ||||
| -rw-r--r-- | om_hr_payroll/data/mail_template.xml | 28 |
5 files changed, 397 insertions, 0 deletions
diff --git a/om_hr_payroll/data/hr_payroll_category.xml b/om_hr_payroll/data/hr_payroll_category.xml new file mode 100644 index 0000000..a07e283 --- /dev/null +++ b/om_hr_payroll/data/hr_payroll_category.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="0"> + + <record id="contrib_register_employees" model="hr.contribution.register"> + <field name="name">Employees</field> + <field name="partner_id" eval="False"/> + </record> + + <record id="BASIC" model="hr.salary.rule.category"> + <field name="name">Basic</field> + <field name="code">BASIC</field> + </record> + + <record id="ALW" model="hr.salary.rule.category"> + <field name="name">Allowance</field> + <field name="code">ALW</field> + </record> + + <record id="GROSS" model="hr.salary.rule.category"> + <field name="name">Gross</field> + <field name="code">GROSS</field> + </record> + + <record id="DED" model="hr.salary.rule.category"> + <field name="name">Deduction</field> + <field name="code">DED</field> + </record> + + <record id="NET" model="hr.salary.rule.category"> + <field name="name">Net</field> + <field name="code">NET</field> + </record> + + <record id="COMP" model="hr.salary.rule.category"> + <field name="name">Company Contribution</field> + <field name="code">COMP</field> + </record> + + <record id="HRA" model="hr.salary.rule.category"> + <field name="name">House Rent Allowance</field> + <field name="code">HRA</field> + </record> + + <record id="DA" model="hr.salary.rule.category"> + <field name="name">Dearness Allowance</field> + <field name="code">DA</field> + </record> + + <record id="Travel" model="hr.salary.rule.category"> + <field name="name">Travel Allowance</field> + <field name="code">Travel</field> + </record> + + <record id="Meal" model="hr.salary.rule.category"> + <field name="name">Meal Allowance</field> + <field name="code">Meal</field> + </record> + + <record id="Medical" model="hr.salary.rule.category"> + <field name="name">Medical Allowance</field> + <field name="code">Medical</field> + </record> + + <record id="Other" model="hr.salary.rule.category"> + <field name="name">Other Allowance</field> + <field name="code">Other</field> + </record> + + </data> +</odoo>
\ No newline at end of file diff --git a/om_hr_payroll/data/hr_payroll_data.xml b/om_hr_payroll/data/hr_payroll_data.xml new file mode 100644 index 0000000..a5dace8 --- /dev/null +++ b/om_hr_payroll/data/hr_payroll_data.xml @@ -0,0 +1,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> diff --git a/om_hr_payroll/data/hr_payroll_demo.xml b/om_hr_payroll/data/hr_payroll_demo.xml new file mode 100644 index 0000000..0e3e88c --- /dev/null +++ b/om_hr_payroll/data/hr_payroll_demo.xml @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <!-- Contribution Register --> + + <record id="hr_houserent_register" model="hr.contribution.register"> + <field name="name">House Rent Allowance Register</field> + </record> + + <record id="hr_provident_fund_register" model="hr.contribution.register"> + <field name="name">Provident Fund Register</field> + </record> + + <record id="hr_professional_tax_register" model="hr.contribution.register"> + <field name="name">Professional Tax Register</field> + </record> + + <record id="hr_meal_voucher_register" model="hr.contribution.register"> + <field name="name">Meal Voucher Register</field> + </record> + + <!-- Salary Rules --> + + <record id="hr_salary_rule_houserentallowance1" model="hr.salary.rule"> + <field name="amount_select">percentage</field> + <field eval="40.0" name="amount_percentage"/> + <field name="amount_percentage_base">contract.wage</field> + <field name="code">HRA</field> + <field name="category_id" ref="om_hr_payroll.ALW"/> + <field name="register_id" ref="hr_houserent_register"/> + <field name="name">House Rent Allowance</field> + <field name="sequence" eval="5"/> + </record> + + <record id="hr_salary_rule_convanceallowance1" model="hr.salary.rule"> + <field name="amount_select">fix</field> + <field eval="800.0" name="amount_fix"/> + <field name="code">CA</field> + <field name="category_id" ref="om_hr_payroll.ALW"/> + <field name="name">Conveyance Allowance</field> + <field name="sequence" eval="10"/> + </record> + + <record id="hr_salary_rule_professionaltax1" model="hr.salary.rule"> + <field name="amount_select">fix</field> + <field eval="150" name="sequence"/> + <field eval="-200.0" name="amount_fix"/> + <field name="code">PT</field> + <field name="category_id" ref="om_hr_payroll.DED"/> + <field name="register_id" ref="hr_professional_tax_register"/> + <field name="name">Professional Tax</field> + </record> + + <record id="hr_salary_rule_providentfund1" model="hr.salary.rule"> + <field name="amount_select">percentage</field> + <field eval="120" name="sequence"/> + <field eval="-12.5" name="amount_percentage"/> + <field name="amount_percentage_base">contract.wage</field> + <field name="code">PF</field> + <field name="category_id" ref="om_hr_payroll.DED"/> + <field name="register_id" ref="hr_provident_fund_register"/> + <field name="name">Provident Fund</field> + </record> + + <record id="hr_salary_rule_ca_gravie" model="hr.salary.rule"> + <field name="amount_select">fix</field> + <field eval="600.0" name="amount_fix"/> + <field name="code">CAGG</field> + <field name="category_id" ref="om_hr_payroll.ALW"/> + <field name="name">Conveyance Allowance For Gravie</field> + <field name="sequence" eval="15"/> + </record> + + <record id="hr_salary_rule_meal_voucher" model="hr.salary.rule"> + <field name="amount_select">fix</field> + <field eval="10" name="amount_fix"/> + <field name="quantity">worked_days.WORK100 and worked_days.WORK100.number_of_days</field> + <field name="code">MA</field> + <field name="category_id" ref="om_hr_payroll.ALW"/> + <field name="register_id" ref="hr_meal_voucher_register"/> + <field name="name">Meal Voucher</field> + <field name="sequence" eval="16"/> + </record> + + <record id="hr_salary_rule_sales_commission" model="hr.salary.rule"> + <field name="amount_select">code</field> + <field name="code">SALE</field> + <field name="category_id" ref="om_hr_payroll.ALW"/> + <field name="name">Get 1% of sales</field> + <field name="sequence" eval="17"/> + <field name="amount_python_compute">result = ((inputs.SALEURO and inputs.SALEURO.amount) + (inputs.SALASIA and inputs.SALASIA.amount)) * 0.01</field> + </record> + + <!-- Rule Inputs --> + + <record id="hr_rule_input_sale_a" model="hr.rule.input"> + <field name="code">SALEURO</field> + <field name="name">Sales to Europe</field> + <field name="input_id" ref="hr_salary_rule_sales_commission"/> + </record> + + <record id="hr_rule_input_sale_b" model="hr.rule.input"> + <field name="code">SALASIA</field> + <field name="name">Sales to Asia</field> + <field name="input_id" ref="hr_salary_rule_sales_commission"/> + </record> + + <!-- Salary Structure --> + + <record id="structure_001" model="hr.payroll.structure"> + <field name="code">ME</field> + <field name="name">Marketing Executive</field> + <field eval="[(6, 0, [ref('hr_salary_rule_houserentallowance1'), ref('hr_salary_rule_convanceallowance1'),ref('hr_salary_rule_professionaltax1'),ref('hr_salary_rule_providentfund1')])]" name="rule_ids"/> + <field name="company_id" ref="base.main_company"/> + <field name="parent_id" ref="structure_base"/> + </record> + + <record id="structure_002" model="hr.payroll.structure"> + <field name="code">MEGG</field> + <field name="name">Marketing Executive for Gilles Gravie</field> + <field eval="[(6, 0, [ref('hr_salary_rule_ca_gravie'), ref('hr_salary_rule_meal_voucher')])]" name="rule_ids"/> + <field name="company_id" ref="base.main_company"/> + <field name="parent_id" ref="structure_001"/> + </record> + + <!-- Employee --> + + <record id="hr_employee_payroll" model="hr.employee"> + <field eval="0" name="manager"/> + <field name="company_id" ref="base.main_company"/> + <field eval="1" name="active"/> + <field name="name">Roger Scott</field> + <field name="work_location">Building 1, Second Floor</field> + <field name="work_phone">+3282823500</field> + <field name="address_home_id" ref="base.res_partner_main2"/> + <field name="image" type="base64" file="om_hr_payroll/static/img/hr_employee_payroll-image.jpg"/> + </record> + + <!-- Employee Contract --> + + <record id="hr_contract_firstcontract1" model="hr.contract"> + <field name="name">Marketing Executive Contract</field> + <field name="type_id" ref="hr_contract.hr_contract_type_emp"/> + <field name="date_start" eval="time.strftime('%Y-%m')+'-1'"/> + <field name="date_end" eval="time.strftime('%Y')+'-12-31'"/> + <field name="struct_id" ref="om_hr_payroll.structure_001"/> + <field name="employee_id" ref="hr_employee_payroll"/> + <field name="notes">Default contract for marketing executives</field> + <field eval="4000.0" name="wage"/> + </record> + + <record id="hr_contract_gilles_gravie" model="hr.contract"> + <field name="name">Contract For Gilles Gravie</field> + <field name="type_id" ref="hr_contract.hr_contract_type_emp"/> + <field name="date_start" eval="time.strftime('%Y-%m')+'-1'"/> + <field name="date_end" eval="time.strftime('%Y')+'-12-31'"/> + <field name="struct_id" ref="om_hr_payroll.structure_002"/> + <field name="employee_id" ref="hr.employee_qdp"/> + <field name="notes">This is Gilles Gravie's contract</field> + <field eval="5000.0" name="wage"/> + </record> + +</odoo> diff --git a/om_hr_payroll/data/hr_payroll_sequence.xml b/om_hr_payroll/data/hr_payroll_sequence.xml new file mode 100644 index 0000000..3174b00 --- /dev/null +++ b/om_hr_payroll/data/hr_payroll_sequence.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + + <record id="seq_salary_slip" model="ir.sequence"> + <field name="name">Salary Slip</field> + <field name="code">salary.slip</field> + <field name="prefix">SLIP/</field> + <field name="padding">3</field> + </record> + + </data> +</odoo> diff --git a/om_hr_payroll/data/mail_template.xml b/om_hr_payroll/data/mail_template.xml new file mode 100644 index 0000000..63e4477 --- /dev/null +++ b/om_hr_payroll/data/mail_template.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + <record id="mail_template_payslip" model="mail.template"> + <field name="name">Payslip Template</field> + <field name="model_id" ref="om_hr_payroll.model_hr_payslip"/> + <field name="email_from">${(user.email |safe)}</field> + <field name="email_to">${object.employee_id.work_email}</field> + <field name="subject">Payslip: ${object.number}</field> + <field name="auto_delete" eval="True"/> + <field name="body_html"><![CDATA[ + <p>Dear ${object.employee_id.name},</p> + <p>Please find the attached payslip of the period: ${object.date_from} - ${object.date_to}</p> + <p>In case of any queries concerning this matter, do not hesitate to contact our accounting/hr department.</p> + <br/> + Best Regards, + <br/> + ${user.name} + <br/> + ]]> + </field> + <field name="report_template" ref="om_hr_payroll.payslip_details_report"/> + <field name="report_name">${(object.number or '').replace('/','_')}</field> + </record> + + </data> +</odoo>
\ No newline at end of file |
