1 <?xml version="1.0" encoding="utf-8"?>
6 <menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll" groups="base.group_no_one" sequence="45"/>
7 <menuitem id="menu_hr_root_payroll" parent="hr.menu_hr_root" name="Payroll" sequence="30"/>
8 <menuitem id="menu_hr_payroll_reporting" parent="hr.menu_hr_reporting" name="Payroll" groups="base.group_hr_manager"/>
10 <!-- Employee View -->
11 <record id="hr_contract.hr_hr_employee_view_form2" model="ir.ui.view">
12 <field name="name">hr.hr.employee.view.form2</field>
13 <field name="model">hr.employee</field>
14 <field name="inherit_id" ref="hr.view_employee_form"/>
15 <field name="arch" type="xml">
17 <xpath expr="//page[@string='Personal Information']" position="after">
18 <page string="Miscellaneous" groups="base.group_hr_user">
19 <group colspan="2" col="2">
20 <separator string="Personal Info" colspan="2"/>
21 <field name="bank_account_id" context="{'display_partner':True, 'partner_id':partner_id}"/>
22 <field name="place_of_birth"/>
23 <field name="children"/>
24 <!-- <field name="basic" invisible="0"/> -->
26 <group colspan="2" col="2">
27 <separator string="Job Info" colspan="2"/>
28 <field name="manager" select="1"/>
29 <field name="vehicle" select="1"/>
30 <field name="vehicle_distance" select="1"/>
31 <field name="medic_exam" select="1" string="Medical Examination"/>
38 <!-- End Employee View -->
40 <!-- Contract View -->
41 <record id="hr_contract_form_inherit" model="ir.ui.view">
42 <field name="name">hr.contract.view.form.inherit</field>
43 <field name="model">hr.contract</field>
44 <field name="type">form</field>
45 <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
46 <field name="arch" type="xml">
48 <xpath expr="//group[@name='right_column']" position="before">
49 <separator string="Payslip Info" colspan="2"/>
50 <field name="struct_id" required="1"/>
52 <xpath expr="//field[@name='working_hours']" position="after">
53 <field name="schedule_pay"/>
59 <!-- End Contract View-->
61 <!-- Salary structure -->
62 <record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
63 <field name="name">hr.payroll.structure.tree</field>
64 <field name="model">hr.payroll.structure</field>
65 <field name="type">tree</field>
66 <field name="arch" type="xml">
67 <tree string="Employee Function">
70 <field name="rule_ids"/>
71 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
75 <record id="view_hr_payroll_structure_tree" model="ir.ui.view">
76 <field name="name">hr.payroll.structure.tree</field>
77 <field name="model">hr.payroll.structure</field>
78 <field name="type">tree</field>
79 <field name="field_parent">children_ids</field>
80 <field name="arch" type="xml">
81 <tree string="Salary Structure">
84 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
89 <record id="view_hr_payroll_structure_filter" model="ir.ui.view">
90 <field name="name">hr.payroll.structure.select</field>
91 <field name="model">hr.payroll.structure</field>
92 <field name="type">search</field>
93 <field name="arch" type="xml">
94 <search string="Payroll Structures">
95 <group col="8" colspan="4">
96 <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
103 <record id="view_hr_employee_grade_form" model="ir.ui.view">
104 <field name="name">hr.payroll.structure.form</field>
105 <field name="model">hr.payroll.structure</field>
106 <field name="type">form</field>
107 <field name="arch" type="xml">
108 <form string="Employee Function">
112 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
113 <field name="parent_id"/>
115 <notebook colspan="4">
116 <page string="Salary Rules">
117 <field name="rule_ids" domain="[('parent_rule_id','=',False)]">
121 <field name="category_id"/>
122 <field name="sequence" invisible="1"/>
123 <field name="register_id"/>
132 <record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
133 <field name="name">Salary Structures</field>
134 <field name="res_model">hr.payroll.structure</field>
135 <field name="view_type">form</field>
136 <field name="view_id" ref="view_hr_payroll_structure_list_view"/>
139 id="menu_hr_payroll_structure_view"
140 action="action_view_hr_payroll_structure_list_form"
141 parent="hr.menu_hr_configuration"
144 <record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
145 <field name="name">Salary Structures Hierarchy</field>
146 <field name="res_model">hr.payroll.structure</field>
147 <field name="view_type">tree</field>
148 <field name="domain">[('parent_id','=',False)]</field>
149 <field name="view_id" ref="view_hr_payroll_structure_tree"/>
152 id="menu_hr_payroll_structure_tree"
153 action="action_view_hr_payroll_structure_tree"
154 parent="payroll_configure"
158 <!-- End Salary structure -->
160 <!-- Payslip Line -->
161 <record id="view_hr_payslip_line_tree" model="ir.ui.view">
162 <field name="name">hr.payslip.line.tree</field>
163 <field name="model">hr.payslip.line</field>
164 <field name="type">tree</field>
165 <field name="arch" type="xml">
166 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
167 <field name="category_id"/>
168 <field name="employee_id" invisible="1"/>
169 <field name="sequence"/>
172 <field name="quantity"/>
174 <field name="amount"/>
175 <field name="total"/>
176 <field name="amount_select" invisible="1"/>
177 <field name="register_id" invisible="1"/>
181 <record id="view_hr_payslip_line_form" model="ir.ui.view">
182 <field name="name">hr.payslip.line.form</field>
183 <field name="model">hr.payslip.line</field>
184 <field name="type">form</field>
185 <field name="arch" type="xml">
186 <form string="Payslip Line">
191 <field name="slip_id"/>
192 <field name="employee_id"/>
194 <group string="Calculations">
195 <field name="category_id"/>
196 <field name="amount_select"/>
197 <field name="amount_fix" attrs="{'readonly':[('amount_select','<>','fix')]}"/>
198 <field name="amount_percentage" attrs="{'readonly':[('amount_select','<>','percentage')]}"/>
199 <field name="sequence"/>
207 <record id="view_hr_payslip_line_filter" model="ir.ui.view">
208 <field name="name">hr.payslip.line.select</field>
209 <field name="model">hr.payslip.line</field>
210 <field name="type">search</field>
211 <field name="arch" type="xml">
212 <search string="Search Payslip Lines">
213 <group col="8" colspan="4">
214 <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
215 <separator orientation="vertical"/>
216 <field name="slip_id"/>
217 <field name="amount_select"/>
220 <group col="8" colspan="4" expand="0" string="Group By...">
221 <filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
222 <filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
223 <separator orientation="vertical"/>
224 <filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
225 <separator orientation="vertical"/>
226 <filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
235 <record id="view_hr_payslip_tree" model="ir.ui.view">
236 <field name="name">hr.payslip.tree</field>
237 <field name="model">hr.payslip</field>
238 <field name="type">tree</field>
239 <field name="arch" type="xml">
240 <tree colors="blue:state in ('confirm','hr_check','accont_check');black:state == 'new';gray:state == 'cancel'" string="Payslips">
241 <field name="number"/>
242 <field name="employee_id"/>
244 <field name="date_from"/>
245 <field name="date_to"/>
246 <field name="state"/>
247 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
248 <field name="payslip_run_id" invisible="1"/>
253 <record id="view_hr_payslip_form" model="ir.ui.view">
254 <field name="name">hr.payslip.form</field>
255 <field name="model">hr.payslip</field>
256 <field name="type">form</field>
257 <field name="arch" type="xml">
258 <form string="Payslip" version="7.0">
260 <button string="Confirm" name="hr_verify_sheet" states="draft"/>
261 <button string="Refund" name="refund_sheet" states="confirm,done" type='object'/>
262 <button string="Set to Draft" name="draft" states="cancel"/>
263 <button string="Compute Sheet" name="compute_sheet" type="object" states="draft"/>
264 <button string="Cancel" name="cancel_sheet" states="draft,hr_check,confirm,verify"/>
265 <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
268 <label for="employee_id" class="oe_form_readonly_hidden"/>
269 <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
270 <label for="date_from" class="oe_form_readonly_hidden" string="Period"/>
272 from <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/>
273 to <field name="date_to"/>
276 <field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)"/>
277 <field name="number"/>
278 <field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/>
280 <field name="credit_note"/>
283 <page string="Worked Days & Inputs">
284 <field name="worked_days_line_ids">
285 <tree string="Worked Days" editable="bottom">
288 <field name="number_of_days" sum="Total Working Days"/>
289 <field name="number_of_hours"/>
290 <field name="contract_id"/>
291 <field name="sequence" invisible="True"/>
293 <form string="Worked Day">
297 <field name="payslip_id"/>
298 <field name="sequence"/>
299 <field name="number_of_days"/>
300 <field name="number_of_hours"/>
301 <field name="contract_id"/>
305 <field name="input_line_ids" colspan="4" nolabel="1">
306 <tree string="Input Data" editable="bottom">
309 <field name="amount"/>
310 <field name="contract_id"/>
311 <field name="sequence" invisible="True"/>
313 <form string="Payslip Line">
317 <field name="payslip_id"/>
318 <field name="sequence"/>
319 <field name="amount"/>
320 <field name="contract_id"/>
325 <page string="Salary Computation" >
326 <field name="line_ids" colspan="4" nolabel="1">
327 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
330 <field name="category_id"/>
331 <field name="sequence" invisible="1"/>
332 <field name="quantity"/>
334 <field name="amount"/>
335 <field name="total"/>
337 <form string="Payslip Line">
341 <field name="category_id"/>
342 <field name="sequence"/>
343 <field name="quantity"/>
345 <field name="amount"/>
346 <field name="total"/>
347 <field name="salary_rule_id"/>
352 <page string="Details By Salary Rule Category">
353 <field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
354 <tree string="Payslip Lines" colors="blue:total == 0">
355 <field name="category_id"/>
358 <field name="total"/>
362 <page string="Other Information">
363 <group col="2" string="Other Information">
364 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
365 <field name="payslip_run_id" domain="[('state','=','draft')]"/>
366 <field name="paid" readonly="1"/>
368 <group string="Notes">
378 <record id="view_hr_payslip_filter" model="ir.ui.view">
379 <field name="name">hr.payslip.select</field>
380 <field name="model">hr.payslip</field>
381 <field name="type">search</field>
382 <field name="arch" type="xml">
383 <search string="Search Payslips">
385 <field name="name" string="Payslips" filter_domain="['|'('name','ilike',self),('number','ilike',self)]"/>
386 <separator orientation="vertical"/>
387 <field name="date_from"/>
388 <separator orientation="vertical"/>
389 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
390 <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
391 <separator orientation="vertical"/>
392 <field name="employee_id"/>
393 <field name="payslip_run_id"/>
396 <group expand="0" string="Group By...">
397 <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
398 <separator orientation="vertical"/>
399 <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
400 <separator orientation="vertical" groups="base.group_multi_company"/>
401 <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
402 <separator orientation="vertical"/>
403 <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
408 <record id="action_view_hr_payslip_form" model="ir.actions.act_window">
409 <field name="name">Employee Payslips</field>
410 <field name="res_model">hr.payslip</field>
411 <field name="view_type">form</field>
412 <field name="view_id" ref="view_hr_payslip_tree"/>
413 <field name="search_view_id" ref="view_hr_payslip_filter"/>
415 <menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
417 <!-- Salary Category-->
418 <record id="hr_salary_rule_category_form" model="ir.ui.view">
419 <field name="name">hr.salary.rule.category.form</field>
420 <field name="model">hr.salary.rule.category</field>
421 <field name="type">form</field>
422 <field name="arch" type="xml">
423 <form string="Salary Categories">
427 <field name="parent_id"/>
429 <separator string="Notes"/>
435 <record id="hr_salary_rule_category_tree" model="ir.ui.view">
436 <field name="name">hr.salary.rule.category.tree</field>
437 <field name="model">hr.salary.rule.category</field>
438 <field name="type">tree</field>
439 <field name="arch" type="xml">
440 <tree string="Salary Rule Categories">
443 <field name="parent_id" invisible="1"/>
447 <record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
448 <field name="name">hr.salary.rule.category.tree.view</field>
449 <field name="model">hr.salary.rule.category</field>
450 <field name="type">tree</field>
451 <field name="field_parent">children_ids</field>
452 <field name="arch" type="xml">
453 <tree string="Salary Rule Categories">
456 <field name="parent_id" invisible="1"/>
461 <record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
462 <field name="name">hr.salary.rule.category.select</field>
463 <field name="model">hr.salary.rule.category</field>
464 <field name="type">search</field>
465 <field name="arch" type="xml">
466 <search string="Salary Rule Categories">
467 <field name="name" string="Salary Rule Categories" filter_domain="['|'('name','ilike',self),('code','ilike',self)]"/>
472 <record id="action_hr_salary_rule_category" model="ir.actions.act_window">
473 <field name="name">Salary Rule Categories</field>
474 <field name="res_model">hr.salary.rule.category</field>
475 <field name="view_type">form</field>
476 <field name="view_id" ref="hr_salary_rule_category_tree"/>
477 <field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
480 id="menu_hr_salary_rule_category"
481 action="action_hr_salary_rule_category"
482 parent="payroll_configure"
485 <record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
486 <field name="name">Salary Rule Categories Hierarchy</field>
487 <field name="res_model">hr.salary.rule.category</field>
488 <field name="view_type">tree</field>
489 <field name="domain">[('parent_id','=',False)]</field>
490 <field name="view_id" ref="hr_salary_rule_category_tree_view"/>
493 id="menu_hr_salary_rule_category_tree_view"
494 action="action_hr_salary_rule_category_tree_view"
495 parent="payroll_configure"
501 Contribution Register
503 <record id="hr_contribution_register_tree" model="ir.ui.view">
504 <field name="name">hr.contribution.register.tree</field>
505 <field name="model">hr.contribution.register</field>
506 <field name="type">tree</field>
507 <field name="arch" type="xml">
508 <tree string="Contribution Registers">
509 <field name="name" select="1"/>
510 <field name="company_id" select="1" groups="base.group_multi_company" widget="selection"/>
514 <record id="hr_contribution_register_filter" model="ir.ui.view">
515 <field name="name">hr.contribution.register.search</field>
516 <field name="model">hr.contribution.register</field>
517 <field name="type">search</field>
518 <field name="arch" type="xml">
519 <search string="Contribution Registers">
520 <field name="name" string="Contribution Registers" filter_domain="[('name','ilike',self)]"/>
521 <separator orientation="vertical"/>
522 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
526 <record id="hr_contribution_register_form" model="ir.ui.view">
527 <field name="name">hr.contribution.register.form</field>
528 <field name="model">hr.contribution.register</field>
529 <field name="type">form</field>
530 <field name="arch" type="xml">
531 <form string="Contribution">
533 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
534 <separator string="Description"/>
535 <field name="note" nolabel="1"/>
539 <record id="action_contribution_register_form" model="ir.actions.act_window">
540 <field name="name">Contribution Registers</field>
541 <field name="res_model">hr.contribution.register</field>
542 <field name="view_type">form</field>
543 <field name="help">A contribution register is a third party involved in the salary payment of the employees. It can be the social security, the estate or anyone that collect or inject money on payslips.</field>
544 <field name="view_id" ref="hr_contribution_register_tree"/>
547 id="menu_action_hr_contribution_register_form"
548 action="action_contribution_register_form"
549 parent="payroll_configure"
553 <!-- Salary Rules -->
555 <record id="hr_salary_rule_list" model="ir.ui.view">
556 <field name="name">hr.salary.rule.list</field>
557 <field name="model">hr.salary.rule</field>
558 <field name="type">tree</field>
559 <field name="arch" type="xml">
560 <tree string="Salary Rules">
563 <field name="category_id"/>
564 <field name="sequence" invisible="1"/>
565 <field name="register_id"/>
570 <record id="hr_salary_rule_tree" model="ir.ui.view">
571 <field name="name">hr.salary.rule.tree</field>
572 <field name="model">hr.salary.rule</field>
573 <field name="type">tree</field>
574 <field name="field_parent">child_ids</field>
575 <field eval="20" name="priority"/>
576 <field name="arch" type="xml">
577 <tree string="Salary Rules">
580 <field name="category_id" invisible="True"/>
581 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
585 <record id="hr_salary_rule_form" model="ir.ui.view">
586 <field name="name">hr.salary.rule.form</field>
587 <field name="model">hr.salary.rule</field>
588 <field name="type">form</field>
589 <field name="arch" type="xml">
590 <form string="Salary Rules" version="7.0">
591 <label for="name" class="oe_form_readonly_hidden"/>
592 <h1><field name="name"/></h1>
593 <label for="category_id" class="oe_form_readonly_hidden"/>
594 <h2><field name="category_id"/></h2>
597 <field name="code" select="1"/>
598 <field name="sequence" />
599 <field name="active"/>
600 <field name="appears_on_payslip"/>
601 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
603 <notebook colspan="6">
604 <page string="General">
606 <separator colspan="4" string="Conditions"/>
607 <field name="condition_select"/><newline/>
608 <field name="condition_python" attrs="{'invisible':[('condition_select','<>','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
609 <field name="condition_range" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
610 <field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
611 <field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
612 <separator colspan="4" string="Computation"/>
613 <field name="amount_select"/><newline/>
614 <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','<>','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
615 <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
616 <field name="amount_fix" attrs="{'invisible':[('amount_select','<>','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
617 <field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/>
618 <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','<>','code')], 'required':[('amount_select','=','code')]}"/>
619 <separator colspan="4" string="Company Contribution"/>
620 <field name="register_id"/>
623 <page string="Child Rules">
624 <field name="parent_rule_id"/>
625 <separator string="Children Definition"/>
626 <field name="child_ids"/>
628 <page string="Inputs">
629 <field name="input_ids" mode="tree, form">
630 <tree string="Input Data" editable="bottom">
636 <page string="Description">
644 <record id="view_hr_rule_filter" model="ir.ui.view">
645 <field name="name">hr.salary.rule.select</field>
646 <field name="model">hr.salary.rule</field>
647 <field name="type">search</field>
648 <field name="arch" type="xml">
649 <search string="Search Salary Rule">
651 <field name="name" string="Salary Rules" filter_domain="['|'('name','ilike',self),('code','ilike',self)]"/>
652 <separator orientation="vertical"/>
653 <field name="category_id"/>
654 <field name="condition_range_min"/>
657 <group col="8" colspan="4" expand="0" string="Group By...">
658 <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
664 <record id="action_salary_rule_form" model="ir.actions.act_window">
665 <field name="name">Salary Rules</field>
666 <field name="res_model">hr.salary.rule</field>
667 <field name="view_type">form</field>
668 <field name="view_id" ref="hr_salary_rule_list"/>
669 <field name="domain">[('parent_rule_id','=',False)]</field>
670 <field name="search_view_id" ref="view_hr_rule_filter"/>
673 <menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12" groups="base.group_no_one"/>
676 <act_window name="All Children Rules"
677 domain="[('id', 'in', [active_id])]"
678 res_model="hr.salary.rule"
679 src_model="hr.salary.rule"
680 view_id="hr_salary_rule_tree"
682 id="act_children_salary_rules"/>
684 <!-- payslip runs -->
686 <record id="hr_payslip_run_filter" model="ir.ui.view">
687 <field name="name">hr.payslip.run.search</field>
688 <field name="model">hr.payslip.run</field>
689 <field name="type">search</field>
690 <field name="arch" type="xml">
691 <search string="Search Payslip Batches">
692 <field name="name" string="Payslip Batches" filter_domain="[('name','ilike',self)]"/>
693 <separator orientation="vertical"/>
694 <field name="date_start"/>
695 <field name="date_end"/>
696 <separator orientation="vertical"/>
697 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
698 <filter icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
703 <record id="hr_payslip_run_tree" model="ir.ui.view">
704 <field name="name">hr.payslip.run.tree</field>
705 <field name="model">hr.payslip.run</field>
706 <field name="type">tree</field>
707 <field name="arch" type="xml">
708 <tree string="Payslips Batches">
710 <field name="date_start"/>
711 <field name="date_end"/>
712 <field name="credit_note"/>
713 <field name="state"/>
718 <record id="hr_payslip_run_form" model="ir.ui.view">
719 <field name="name">hr.payslip.run.form</field>
720 <field name="model">hr.payslip.run</field>
721 <field name="type">form</field>
722 <field name="arch" type="xml">
723 <form string="Payslips Batches" version="7.0">
725 <button name="close_payslip_run" type="object" string="Close" states="draft"/>
726 <button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" />
727 <button string="Set to Draft" name="draft_payslip_run" type="object" states="close"/>
728 <field name="state" widget="statusbar"/>
733 <field name="credit_note"/>
734 <field name="date_start"/>
735 <field name="date_end"/>
737 <field name="slip_ids"/>
743 <record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
744 <field name="name">Payslips Batches</field>
745 <field name="res_model">hr.payslip.run</field>
746 <field name="view_type">form</field>
747 <field name="view_id" ref="hr_payslip_run_tree"/>
748 <field name="search_view_id" ref="hr_payslip_run_filter"/>
750 <menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
754 <act_window name="Payslips"
755 domain="[('employee_id', '=', active_id)]"
756 context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
757 res_model="hr.payslip"
758 src_model="hr.employee"
759 view_id ="view_hr_payslip_tree"
760 id="act_hr_employee_payslip_list"
761 groups="base.group_hr_manager"/>
763 <act_window name="Payslip Computation Details"
764 domain="[('slip_id', '=', active_id)]"
765 context="{'default_slip_id': active_id}"
766 res_model="hr.payslip.line"
767 src_model="hr.payslip"
768 id="act_payslip_lines"/>
770 <act_window name="Payslip Lines"
771 domain="[('register_id', '=', active_id)]"
772 context="{'default_register_id': active_id, 'search_default_register_id': 1}"
773 res_model="hr.payslip.line"
774 src_model="hr.contribution.register"
775 id="act_contribution_reg_payslip_lines"/>