1 <?xml version="1.0" encoding="utf-8"?>
6 <menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll" groups="base.group_hr_manager" 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 <!-- Contract View -->
11 <record id="hr_contract_form_inherit" model="ir.ui.view">
12 <field name="name">hr.contract.view.form.inherit</field>
13 <field name="model">hr.contract</field>
14 <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
15 <field name="arch" type="xml">
17 <xpath expr="//field[@name='wage']" position="after">
18 <field name="struct_id" required="1"/>
20 <xpath expr="//field[@name='working_hours']" position="after">
21 <field name="schedule_pay"/>
27 <!-- End Contract View-->
29 <!-- Salary structure -->
30 <record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
31 <field name="name">hr.payroll.structure.tree</field>
32 <field name="model">hr.payroll.structure</field>
33 <field name="arch" type="xml">
34 <tree string="Employee Function">
37 <field name="rule_ids"/>
38 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
42 <record id="view_hr_payroll_structure_tree" model="ir.ui.view">
43 <field name="name">hr.payroll.structure.tree</field>
44 <field name="model">hr.payroll.structure</field>
45 <field name="field_parent">children_ids</field>
46 <field name="arch" type="xml">
47 <tree string="Salary Structure">
50 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
55 <record id="view_hr_payroll_structure_filter" model="ir.ui.view">
56 <field name="name">hr.payroll.structure.select</field>
57 <field name="model">hr.payroll.structure</field>
58 <field name="arch" type="xml">
59 <search string="Payroll Structures">
60 <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
65 <record id="view_hr_employee_grade_form" model="ir.ui.view">
66 <field name="name">hr.payroll.structure.form</field>
67 <field name="model">hr.payroll.structure</field>
68 <field name="arch" type="xml">
69 <form string="Employee Function">
73 <field name="parent_id"/>
74 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
76 <notebook colspan="4">
77 <page string="Salary Rules">
78 <field name="rule_ids" domain="[('parent_rule_id','=',False)]">
82 <field name="category_id"/>
83 <field name="sequence" invisible="1"/>
84 <field name="register_id"/>
93 <record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
94 <field name="name">Salary Structures</field>
95 <field name="res_model">hr.payroll.structure</field>
96 <field name="view_type">form</field>
97 <field name="view_id" ref="view_hr_payroll_structure_list_view"/>
100 id="menu_hr_payroll_structure_view"
101 action="action_view_hr_payroll_structure_list_form"
102 parent="payroll_configure"
105 <record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
106 <field name="name">Salary Structures Hierarchy</field>
107 <field name="res_model">hr.payroll.structure</field>
108 <field name="view_type">tree</field>
109 <field name="domain">[('parent_id','=',False)]</field>
110 <field name="view_id" ref="view_hr_payroll_structure_tree"/>
113 id="menu_hr_payroll_structure_tree"
114 action="action_view_hr_payroll_structure_tree"
115 parent="payroll_configure"
119 <!-- End Salary structure -->
121 <!-- Payslip Line -->
122 <record id="view_hr_payslip_line_tree" model="ir.ui.view">
123 <field name="name">hr.payslip.line.tree</field>
124 <field name="model">hr.payslip.line</field>
125 <field name="arch" type="xml">
126 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
127 <field name="category_id"/>
128 <field name="employee_id" invisible="1"/>
129 <field name="sequence"/>
132 <field name="quantity"/>
134 <field name="amount"/>
135 <field name="total"/>
136 <field name="amount_select" invisible="1"/>
137 <field name="register_id" invisible="1"/>
141 <record id="view_hr_payslip_line_form" model="ir.ui.view">
142 <field name="name">hr.payslip.line.form</field>
143 <field name="model">hr.payslip.line</field>
144 <field name="arch" type="xml">
145 <form string="Payslip Line">
150 <field name="slip_id"/>
151 <field name="employee_id"/>
153 <group string="Calculations">
154 <field name="category_id"/>
155 <field name="amount_select"/>
156 <field name="amount_fix" attrs="{'readonly':[('amount_select','<>','fix')]}"/>
157 <field name="amount_percentage" attrs="{'readonly':[('amount_select','<>','percentage')]}"/>
158 <field name="sequence"/>
166 <record id="view_hr_payslip_line_filter" model="ir.ui.view">
167 <field name="name">hr.payslip.line.select</field>
168 <field name="model">hr.payslip.line</field>
169 <field name="arch" type="xml">
170 <search string="Search Payslip Lines">
171 <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
172 <field name="amount_select"/>
173 <field name="slip_id"/>
174 <group col="8" colspan="4" expand="0" string="Group By">
175 <filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
176 <filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
177 <filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
178 <filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
187 <record id="view_hr_payslip_tree" model="ir.ui.view">
188 <field name="name">hr.payslip.tree</field>
189 <field name="model">hr.payslip</field>
190 <field name="arch" type="xml">
191 <tree colors="blue:state in ('confirm','hr_check','accont_check');black:state == 'new';gray:state == 'cancel'" string="Payslips">
192 <field name="number"/>
193 <field name="employee_id"/>
195 <field name="date_from"/>
196 <field name="date_to"/>
197 <field name="state"/>
198 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
199 <field name="payslip_run_id" invisible="1"/>
204 <act_window name="Payslip Computation Details"
205 context="{'default_slip_id': active_id,'search_default_slip_id': active_id}"
206 res_model="hr.payslip.line"
207 src_model="hr.payslip"
208 id="act_payslip_lines"/>
210 <record id="view_hr_payslip_form" model="ir.ui.view">
211 <field name="name">hr.payslip.form</field>
212 <field name="model">hr.payslip</field>
213 <field name="arch" type="xml">
214 <form string="Payslip">
216 <button string="Confirm" name="hr_verify_sheet" states="draft" class="oe_highlight"/>
217 <button string="Refund" name="refund_sheet" states="confirm,done" type='object' />
218 <button string="Set to Draft" name="draft" states="cancel"/>
219 <button string="Compute Sheet" name="compute_sheet" type="object" states="draft" class="oe_highlight"/>
220 <button string="Cancel Payslip" name="cancel_sheet" states="draft,hr_check,confirm,verify"/>
221 <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
224 <div class="oe_right oe_button_box">
225 <button name="%(act_payslip_lines)d"
226 class="oe_stat_button"
229 <field name="payslip_count" widget="statinfo" string="Payslip" help="Payslip Computation Details"/>
232 <div class="oe_title">
233 <label for="employee_id" class="oe_edit_only"/>
234 <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
237 <label for="date_from" string="Period"/>
239 <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)" class="oe_inline"/> - <field name="date_to" class="oe_inline"/>
241 <field name="contract_id" domain="[('employee_id','=',employee_id),('date_start','<=',date_to),'|',('date_end','>=',date_from),('date_end','=',False)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)" context="{'default_employee_id': employee_id}"/>
242 <field name="number"/>
243 <field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/>
245 <field name="credit_note"/>
248 <page string="Worked Days & Inputs">
249 <separator string="Worked Days"/>
250 <field name="worked_days_line_ids">
251 <tree string="Worked Days" editable="bottom">
254 <field name="number_of_days" sum="Total Working Days"/>
255 <field name="number_of_hours"/>
256 <field name="contract_id"/>
257 <field name="sequence" invisible="True"/>
259 <form string="Worked Day">
263 <field name="payslip_id"/>
264 <field name="sequence"/>
265 <field name="number_of_days"/>
266 <field name="number_of_hours"/>
267 <field name="contract_id"/>
271 <separator string="Other Inputs"/>
272 <field name="input_line_ids" colspan="4" nolabel="1">
273 <tree string="Input Data" editable="bottom">
276 <field name="amount"/>
277 <field name="contract_id"/>
278 <field name="sequence" invisible="True"/>
280 <form string="Payslip Line">
284 <field name="payslip_id"/>
285 <field name="sequence"/>
286 <field name="amount"/>
287 <field name="contract_id"/>
292 <page string="Salary Computation" >
293 <field name="line_ids" colspan="4" nolabel="1">
294 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
297 <field name="category_id"/>
298 <field name="sequence" invisible="1"/>
299 <field name="quantity"/>
301 <field name="amount"/>
302 <field name="total"/>
304 <form string="Payslip Line">
308 <field name="category_id"/>
309 <field name="sequence"/>
310 <field name="quantity"/>
312 <field name="amount"/>
313 <field name="total"/>
314 <field name="salary_rule_id"/>
319 <page string="Details By Salary Rule Category">
320 <field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
321 <tree string="Payslip Lines" colors="blue:total == 0">
322 <field name="category_id"/>
325 <field name="total"/>
329 <page string="Accounting Information">
331 <group string="Miscellaneous">
332 <field name="company_id" groups="base.group_multi_company"/>
333 <field name="payslip_run_id" domain="[('state','=','draft')]"/>
335 <group name="accounting" string="Accounting">
336 <field name="paid" readonly="1"/>
340 <field name="note" placeholder="Add an internal note..."/>
349 <record id="view_hr_payslip_filter" model="ir.ui.view">
350 <field name="name">hr.payslip.select</field>
351 <field name="model">hr.payslip</field>
352 <field name="arch" type="xml">
353 <search string="Search Payslips">
354 <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
355 <field name="date_from"/>
356 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
357 <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
358 <field name="employee_id"/>
359 <field name="payslip_run_id"/>
360 <group expand="0" string="Group By">
361 <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
362 <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
363 <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
364 <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
369 <record id="action_view_hr_payslip_form" model="ir.actions.act_window">
370 <field name="name">Employee Payslips</field>
371 <field name="res_model">hr.payslip</field>
372 <field name="view_type">form</field>
373 <field name="view_id" ref="view_hr_payslip_tree"/>
374 <field name="search_view_id" ref="view_hr_payslip_filter"/>
377 <menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll" groups="base.group_hr_user"/>
379 <record id="act_hr_employee_payslip_list" model="ir.actions.act_window">
380 <field name="res_model">hr.payslip</field>
381 <field name="name">Payslips</field>
382 <field name="view_type">form</field>
383 <field name="view_mode">tree,form</field>
384 <field name="context">{'search_default_employee_id': [active_id], 'default_employee_id': active_id}</field>
387 <!-- Employee View -->
388 <record id="payroll_hr_employee_view_form" model="ir.ui.view">
389 <field name="name">payroll.hr.employee.view.form</field>
390 <field name="model">hr.employee</field>
391 <field name="inherit_id" ref="hr.view_employee_form"/>
392 <field name="arch" type="xml">
394 <xpath expr="//div[@name='button_box']" position="inside">
395 <button name="%(act_hr_employee_payslip_list)d"
396 class="oe_stat_button"
399 groups="base.group_hr_user">
400 <field name="payslip_count" widget="statinfo" string="Payslips"/>
406 <!-- Salary Category-->
407 <record id="hr_salary_rule_category_form" model="ir.ui.view">
408 <field name="name">hr.salary.rule.category.form</field>
409 <field name="model">hr.salary.rule.category</field>
410 <field name="arch" type="xml">
411 <form string="Salary Categories">
415 <field name="parent_id"/>
416 <separator string="Notes"/>
423 <record id="hr_salary_rule_category_tree" model="ir.ui.view">
424 <field name="name">hr.salary.rule.category.tree</field>
425 <field name="model">hr.salary.rule.category</field>
426 <field name="arch" type="xml">
427 <tree string="Salary Rule Categories">
430 <field name="parent_id" invisible="1"/>
434 <record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
435 <field name="name">hr.salary.rule.category.tree.view</field>
436 <field name="model">hr.salary.rule.category</field>
437 <field name="field_parent">children_ids</field>
438 <field name="arch" type="xml">
439 <tree string="Salary Rule Categories">
442 <field name="parent_id" invisible="1"/>
447 <record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
448 <field name="name">hr.salary.rule.category.select</field>
449 <field name="model">hr.salary.rule.category</field>
450 <field name="arch" type="xml">
451 <search string="Salary Rule Categories">
452 <field name="name" string="Salary Rule Categories" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
457 <record id="action_hr_salary_rule_category" model="ir.actions.act_window">
458 <field name="name">Salary Rule Categories</field>
459 <field name="res_model">hr.salary.rule.category</field>
460 <field name="view_type">form</field>
461 <field name="view_id" ref="hr_salary_rule_category_tree"/>
462 <field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
465 id="menu_hr_salary_rule_category"
466 action="action_hr_salary_rule_category"
467 parent="payroll_configure"
469 groups="base.group_no_one"
471 <record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
472 <field name="name">Salary Rule Categories Hierarchy</field>
473 <field name="res_model">hr.salary.rule.category</field>
474 <field name="view_type">tree</field>
475 <field name="domain">[('parent_id','=',False)]</field>
476 <field name="view_id" ref="hr_salary_rule_category_tree_view"/>
479 id="menu_hr_salary_rule_category_tree_view"
480 action="action_hr_salary_rule_category_tree_view"
481 parent="payroll_configure"
484 groups="base.group_no_one"
488 Contribution Register
490 <record id="hr_contribution_register_tree" model="ir.ui.view">
491 <field name="name">hr.contribution.register.tree</field>
492 <field name="model">hr.contribution.register</field>
493 <field name="arch" type="xml">
494 <tree string="Contribution Registers">
495 <field name="name" />
496 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
500 <record id="hr_contribution_register_filter" model="ir.ui.view">
501 <field name="name">hr.contribution.register.search</field>
502 <field name="model">hr.contribution.register</field>
503 <field name="arch" type="xml">
504 <search string="Contribution Registers">
505 <field name="name" string="Contribution Registers"/>
506 <field name="company_id" groups="base.group_multi_company"/>
510 <record id="hr_contribution_register_form" model="ir.ui.view">
511 <field name="name">hr.contribution.register.form</field>
512 <field name="model">hr.contribution.register</field>
513 <field name="arch" type="xml">
514 <form string="Contribution">
517 <field name="company_id" groups="base.group_multi_company" widget="selection" class="oe_inline"/>
521 <separator string="Description"/><newline/>
522 <field name="note" nolabel="1"/></group>
526 <record id="action_contribution_register_form" model="ir.actions.act_window">
527 <field name="name">Contribution Registers</field>
528 <field name="res_model">hr.contribution.register</field>
529 <field name="view_type">form</field>
530 <field name="help" type="html">
531 <p class="oe_view_nocontent_create">
532 Click to add a new contribution register.
534 A contribution register is a third party involved in the salary
535 payment of the employees. It can be the social security, the
536 estate or anyone that collect or inject money on payslips.
539 <field name="view_id" ref="hr_contribution_register_tree"/>
542 id="menu_action_hr_contribution_register_form"
543 action="action_contribution_register_form"
544 parent="payroll_configure"
548 <!-- Salary Rules -->
550 <record id="hr_salary_rule_list" model="ir.ui.view">
551 <field name="name">hr.salary.rule.list</field>
552 <field name="model">hr.salary.rule</field>
553 <field name="arch" type="xml">
554 <tree string="Salary Rules">
557 <field name="category_id"/>
558 <field name="sequence" invisible="1"/>
559 <field name="register_id"/>
564 <record id="hr_salary_rule_tree" model="ir.ui.view">
565 <field name="name">hr.salary.rule.tree</field>
566 <field name="model">hr.salary.rule</field>
567 <field name="field_parent">child_ids</field>
568 <field eval="20" name="priority"/>
569 <field name="arch" type="xml">
570 <tree string="Salary Rules">
573 <field name="category_id" invisible="True"/>
574 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
578 <record id="hr_salary_rule_form" model="ir.ui.view">
579 <field name="name">hr.salary.rule.form</field>
580 <field name="model">hr.salary.rule</field>
581 <field name="arch" type="xml">
582 <form string="Salary Rules">
583 <label for="name" class="oe_edit_only"/>
584 <h1><field name="name"/></h1>
585 <label for="category_id" class="oe_edit_only"/>
586 <h2><field name="category_id"/></h2>
590 <field name="sequence" />
591 <field name="active"/>
592 <field name="appears_on_payslip"/>
593 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
595 <notebook colspan="6">
596 <page string="General">
598 <separator colspan="4" string="Conditions"/>
599 <field name="condition_select"/><newline/>
600 <field name="condition_python" attrs="{'invisible':[('condition_select','<>','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
601 <field name="condition_range" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
602 <field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
603 <field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
604 <separator colspan="4" string="Computation"/>
605 <field name="amount_select"/><newline/>
606 <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','<>','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
607 <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
608 <field name="amount_fix" attrs="{'invisible':[('amount_select','<>','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
609 <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','<>','code')], 'required':[('amount_select','=','code')]}"/>
610 <field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/>
611 <separator colspan="4" string="Company Contribution"/>
612 <field name="register_id"/>
615 <page string="Child Rules">
616 <field name="parent_rule_id"/>
617 <separator string="Children Definition"/>
618 <field name="child_ids"/>
620 <page string="Inputs">
621 <field name="input_ids" mode="tree">
622 <tree string="Input Data" editable="bottom">
628 <page string="Description">
636 <record id="view_hr_rule_filter" model="ir.ui.view">
637 <field name="name">hr.salary.rule.select</field>
638 <field name="model">hr.salary.rule</field>
639 <field name="arch" type="xml">
640 <search string="Search Salary Rule">
641 <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
642 <field name="category_id"/>
643 <field name="condition_range_min"/>
644 <group col="8" colspan="4" expand="0" string="Group By">
645 <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
651 <record id="action_salary_rule_form" model="ir.actions.act_window">
652 <field name="name">Salary Rules</field>
653 <field name="res_model">hr.salary.rule</field>
654 <field name="view_type">form</field>
655 <field name="view_id" ref="hr_salary_rule_list"/>
656 <field name="domain">[('parent_rule_id','=',False)]</field>
657 <field name="search_view_id" ref="view_hr_rule_filter"/>
660 <menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
663 <act_window name="All Children Rules"
664 domain="[('parent_rule_id', '=', active_id)]"
665 res_model="hr.salary.rule"
666 src_model="hr.salary.rule"
667 view_id="hr_salary_rule_list"
668 id="act_children_salary_rules"/>
670 <!-- payslip runs -->
672 <record id="hr_payslip_run_filter" model="ir.ui.view">
673 <field name="name">hr.payslip.run.search</field>
674 <field name="model">hr.payslip.run</field>
675 <field name="arch" type="xml">
676 <search string="Search Payslip Batches">
677 <field name="name" string="Payslip Batches"/>
678 <field name="date_start"/>
679 <field name="date_end"/>
680 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
681 <filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
686 <record id="hr_payslip_run_tree" model="ir.ui.view">
687 <field name="name">hr.payslip.run.tree</field>
688 <field name="model">hr.payslip.run</field>
689 <field name="arch" type="xml">
690 <tree string="Payslips Batches">
692 <field name="date_start"/>
693 <field name="date_end"/>
694 <field name="credit_note"/>
695 <field name="state"/>
700 <record id="hr_payslip_run_form" model="ir.ui.view">
701 <field name="name">hr.payslip.run.form</field>
702 <field name="model">hr.payslip.run</field>
703 <field name="arch" type="xml">
704 <form string="Payslips Batches">
706 <button name="close_payslip_run" type="object" string="Close" states="draft" class="oe_highlight"/>
707 <button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" class="oe_highlight"/>
708 <button string="Set to Draft" name="draft_payslip_run" type="object" states="close" />
709 <field name="state" widget="statusbar"/>
712 <label for="name" class="oe_edit_only"/>
717 <label for="date_start" string="Period"/>
719 <field name="date_start" class="oe_inline"/> - <field name="date_end" class="oe_inline"/>
721 <field name="credit_note"/>
723 <separator string="Payslips"/>
724 <field name="slip_ids"/>
730 <record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
731 <field name="name">Payslips Batches</field>
732 <field name="res_model">hr.payslip.run</field>
733 <field name="view_type">form</field>
734 <field name="view_id" ref="hr_payslip_run_tree"/>
735 <field name="search_view_id" ref="hr_payslip_run_filter"/>
737 <menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
741 <act_window name="Payslip Lines"
742 domain="[('register_id', '=', active_id)]"
743 context="{'default_register_id': active_id, 'search_default_register_id': 1}"
744 res_model="hr.payslip.line"
745 src_model="hr.contribution.register"
746 id="act_contribution_reg_payslip_lines"/>