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="type">form</field>
15 <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
16 <field name="arch" type="xml">
18 <xpath expr="//field[@name='wage']" position="after">
19 <field name="struct_id" required="1"/>
21 <xpath expr="//field[@name='working_hours']" position="after">
22 <field name="schedule_pay"/>
28 <!-- End Contract View-->
30 <!-- Salary structure -->
31 <record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
32 <field name="name">hr.payroll.structure.tree</field>
33 <field name="model">hr.payroll.structure</field>
34 <field name="type">tree</field>
35 <field name="arch" type="xml">
36 <tree string="Employee Function">
39 <field name="rule_ids"/>
40 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
44 <record id="view_hr_payroll_structure_tree" model="ir.ui.view">
45 <field name="name">hr.payroll.structure.tree</field>
46 <field name="model">hr.payroll.structure</field>
47 <field name="type">tree</field>
48 <field name="field_parent">children_ids</field>
49 <field name="arch" type="xml">
50 <tree string="Salary Structure">
53 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
58 <record id="view_hr_payroll_structure_filter" model="ir.ui.view">
59 <field name="name">hr.payroll.structure.select</field>
60 <field name="model">hr.payroll.structure</field>
61 <field name="type">search</field>
62 <field name="arch" type="xml">
63 <search string="Payroll Structures">
64 <group col="8" colspan="4">
65 <field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
72 <record id="view_hr_employee_grade_form" model="ir.ui.view">
73 <field name="name">hr.payroll.structure.form</field>
74 <field name="model">hr.payroll.structure</field>
75 <field name="type">form</field>
76 <field name="arch" type="xml">
77 <form string="Employee Function" version="7.0">
81 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
82 <field name="parent_id"/>
84 <notebook colspan="4">
85 <page string="Salary Rules">
86 <field name="rule_ids" domain="[('parent_rule_id','=',False)]">
90 <field name="category_id"/>
91 <field name="sequence" invisible="1"/>
92 <field name="register_id"/>
101 <record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
102 <field name="name">Salary Structures</field>
103 <field name="res_model">hr.payroll.structure</field>
104 <field name="view_type">form</field>
105 <field name="view_id" ref="view_hr_payroll_structure_list_view"/>
108 id="menu_hr_payroll_structure_view"
109 action="action_view_hr_payroll_structure_list_form"
110 parent="hr.menu_hr_configuration"
113 <record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
114 <field name="name">Salary Structures Hierarchy</field>
115 <field name="res_model">hr.payroll.structure</field>
116 <field name="view_type">tree</field>
117 <field name="domain">[('parent_id','=',False)]</field>
118 <field name="view_id" ref="view_hr_payroll_structure_tree"/>
121 id="menu_hr_payroll_structure_tree"
122 action="action_view_hr_payroll_structure_tree"
123 parent="payroll_configure"
127 <!-- End Salary structure -->
129 <!-- Payslip Line -->
130 <record id="view_hr_payslip_line_tree" model="ir.ui.view">
131 <field name="name">hr.payslip.line.tree</field>
132 <field name="model">hr.payslip.line</field>
133 <field name="type">tree</field>
134 <field name="arch" type="xml">
135 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
136 <field name="category_id"/>
137 <field name="employee_id" invisible="1"/>
138 <field name="sequence"/>
141 <field name="quantity"/>
143 <field name="amount"/>
144 <field name="total"/>
145 <field name="amount_select" invisible="1"/>
146 <field name="register_id" invisible="1"/>
150 <record id="view_hr_payslip_line_form" model="ir.ui.view">
151 <field name="name">hr.payslip.line.form</field>
152 <field name="model">hr.payslip.line</field>
153 <field name="type">form</field>
154 <field name="arch" type="xml">
155 <form string="Payslip Line">
160 <field name="slip_id"/>
161 <field name="employee_id"/>
163 <group string="Calculations">
164 <field name="category_id"/>
165 <field name="amount_select"/>
166 <field name="amount_fix" attrs="{'readonly':[('amount_select','<>','fix')]}"/>
167 <field name="amount_percentage" attrs="{'readonly':[('amount_select','<>','percentage')]}"/>
168 <field name="sequence"/>
176 <record id="view_hr_payslip_line_filter" model="ir.ui.view">
177 <field name="name">hr.payslip.line.select</field>
178 <field name="model">hr.payslip.line</field>
179 <field name="type">search</field>
180 <field name="arch" type="xml">
181 <search string="Search Payslip Lines">
182 <group col="8" colspan="4">
183 <field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
184 <separator orientation="vertical"/>
185 <field name="slip_id"/>
186 <field name="amount_select"/>
189 <group col="8" colspan="4" expand="0" string="Group By...">
190 <filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
191 <filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
192 <separator orientation="vertical"/>
193 <filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
194 <separator orientation="vertical"/>
195 <filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
204 <record id="view_hr_payslip_tree" model="ir.ui.view">
205 <field name="name">hr.payslip.tree</field>
206 <field name="model">hr.payslip</field>
207 <field name="type">tree</field>
208 <field name="arch" type="xml">
209 <tree colors="blue:state in ('confirm','hr_check','accont_check');black:state == 'new';gray:state == 'cancel'" string="Payslips">
210 <field name="number"/>
211 <field name="employee_id"/>
213 <field name="date_from"/>
214 <field name="date_to"/>
215 <field name="state"/>
216 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
217 <field name="payslip_run_id" invisible="1"/>
222 <act_window name="Payslip Computation Details"
223 context="{'default_slip_id': active_id,'search_default_slip_id': active_id}"
224 res_model="hr.payslip.line"
225 src_model="hr.payslip"
226 id="act_payslip_lines"/>
228 <record id="view_hr_payslip_form" model="ir.ui.view">
229 <field name="name">hr.payslip.form</field>
230 <field name="model">hr.payslip</field>
231 <field name="type">form</field>
232 <field name="arch" type="xml">
233 <form string="Payslip" version="7.0">
235 <button string="Confirm" name="hr_verify_sheet" states="draft" class="oe_highlight"/>
236 <button string="Refund" name="refund_sheet" states="confirm,done" type='object' />
237 <button string="Set to Draft" name="draft" states="cancel"/>
238 <button string="Compute Sheet" name="compute_sheet" type="object" states="draft" class="oe_highlight"/>
239 <button string="Cancel" name="cancel_sheet" states="draft,hr_check,confirm,verify"/>
240 <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
243 <div class="oe_right oe_button_box">
244 <button name="%(act_payslip_lines)d" string="Payslip Computation Details" type="action"/>
246 <div class="oe_title">
247 <label for="employee_id" class="oe_edit_only"/>
248 <h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
249 <label for="date_from" class="oe_edit_only" string="Period"/>
251 From <field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/>
252 to <field name="date_to"/>
256 <field name="contract_id" domain="[('employee_id','=',employee_id)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)"/>
257 <field name="number"/>
258 <field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/>
260 <field name="credit_note"/>
263 <page string="Worked Days & Inputs">
264 <separator string="Worked Days"/>
265 <field name="worked_days_line_ids">
266 <tree string="Worked Days" editable="bottom">
269 <field name="number_of_days" sum="Total Working Days"/>
270 <field name="number_of_hours"/>
271 <field name="contract_id"/>
272 <field name="sequence" invisible="True"/>
274 <form string="Worked Day">
278 <field name="payslip_id"/>
279 <field name="sequence"/>
280 <field name="number_of_days"/>
281 <field name="number_of_hours"/>
282 <field name="contract_id"/>
286 <separator string="Other Inputs"/>
287 <field name="input_line_ids" colspan="4" nolabel="1">
288 <tree string="Input Data" editable="bottom">
291 <field name="amount"/>
292 <field name="contract_id"/>
293 <field name="sequence" invisible="True"/>
295 <form string="Payslip Line">
299 <field name="payslip_id"/>
300 <field name="sequence"/>
301 <field name="amount"/>
302 <field name="contract_id"/>
307 <page string="Salary Computation" >
308 <field name="line_ids" colspan="4" nolabel="1">
309 <tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
312 <field name="category_id"/>
313 <field name="sequence" invisible="1"/>
314 <field name="quantity"/>
316 <field name="amount"/>
317 <field name="total"/>
319 <form string="Payslip Line">
323 <field name="category_id"/>
324 <field name="sequence"/>
325 <field name="quantity"/>
327 <field name="amount"/>
328 <field name="total"/>
329 <field name="salary_rule_id"/>
334 <page string="Details By Salary Rule Category">
335 <field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
336 <tree string="Payslip Lines" colors="blue:total == 0">
337 <field name="category_id"/>
340 <field name="total"/>
344 <page string="Other Information">
346 <group string="Miscellaneous">
347 <field name="company_id" groups="base.group_multi_company"/>
348 <field name="payslip_run_id" domain="[('state','=','draft')]"/>
350 <group name="accounting" string="Accounting">
351 <field name="paid" readonly="1"/>
355 <field name="note" Placeholder="Add an internal note..."/>
364 <record id="view_hr_payslip_filter" model="ir.ui.view">
365 <field name="name">hr.payslip.select</field>
366 <field name="model">hr.payslip</field>
367 <field name="type">search</field>
368 <field name="arch" type="xml">
369 <search string="Search Payslips">
371 <field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
372 <separator orientation="vertical"/>
373 <field name="date_from"/>
374 <separator orientation="vertical"/>
375 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
376 <filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
377 <separator orientation="vertical"/>
378 <field name="employee_id"/>
379 <field name="payslip_run_id"/>
382 <group expand="0" string="Group By...">
383 <filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
384 <separator orientation="vertical"/>
385 <filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
386 <separator orientation="vertical" groups="base.group_multi_company"/>
387 <filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
388 <separator orientation="vertical"/>
389 <filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
394 <record id="action_view_hr_payslip_form" model="ir.actions.act_window">
395 <field name="name">Employee Payslips</field>
396 <field name="res_model">hr.payslip</field>
397 <field name="view_type">form</field>
398 <field name="view_id" ref="view_hr_payslip_tree"/>
399 <field name="search_view_id" ref="view_hr_payslip_filter"/>
401 <menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll"/>
402 <act_window name="Payslips"
403 context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
404 res_model="hr.payslip"
405 src_model="hr.employee"
406 view_id ="view_hr_payslip_tree"
407 id="act_hr_employee_payslip_list"
408 groups="base.group_hr_manager"/>
410 <!-- Employee View -->
411 <record id="payroll_hr_employee_view_form" model="ir.ui.view">
412 <field name="name">payroll.hr.employee.view.form</field>
413 <field name="model">hr.employee</field>
414 <field name="inherit_id" ref="hr.view_employee_form"/>
415 <field name="arch" type="xml">
417 <xpath expr="//div[@name='button_box']" position="inside">
418 <button name="%(act_hr_employee_payslip_list)d" string="Payslips" type="action"/>
423 <!-- Salary Category-->
424 <record id="hr_salary_rule_category_form" model="ir.ui.view">
425 <field name="name">hr.salary.rule.category.form</field>
426 <field name="model">hr.salary.rule.category</field>
427 <field name="type">form</field>
428 <field name="arch" type="xml">
429 <form string="Salary Categories">
433 <field name="parent_id"/>
435 <separator string="Notes"/>
441 <record id="hr_salary_rule_category_tree" model="ir.ui.view">
442 <field name="name">hr.salary.rule.category.tree</field>
443 <field name="model">hr.salary.rule.category</field>
444 <field name="type">tree</field>
445 <field name="arch" type="xml">
446 <tree string="Salary Rule Categories">
449 <field name="parent_id" invisible="1"/>
453 <record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
454 <field name="name">hr.salary.rule.category.tree.view</field>
455 <field name="model">hr.salary.rule.category</field>
456 <field name="type">tree</field>
457 <field name="field_parent">children_ids</field>
458 <field name="arch" type="xml">
459 <tree string="Salary Rule Categories">
462 <field name="parent_id" invisible="1"/>
467 <record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
468 <field name="name">hr.salary.rule.category.select</field>
469 <field name="model">hr.salary.rule.category</field>
470 <field name="type">search</field>
471 <field name="arch" type="xml">
472 <search string="Salary Rule Categories">
473 <field name="name" string="Salary Rule Categories" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
478 <record id="action_hr_salary_rule_category" model="ir.actions.act_window">
479 <field name="name">Salary Rule Categories</field>
480 <field name="res_model">hr.salary.rule.category</field>
481 <field name="view_type">form</field>
482 <field name="view_id" ref="hr_salary_rule_category_tree"/>
483 <field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
486 id="menu_hr_salary_rule_category"
487 action="action_hr_salary_rule_category"
488 parent="payroll_configure"
490 groups="base.group_no_one"
492 <record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
493 <field name="name">Salary Rule Categories Hierarchy</field>
494 <field name="res_model">hr.salary.rule.category</field>
495 <field name="view_type">tree</field>
496 <field name="domain">[('parent_id','=',False)]</field>
497 <field name="view_id" ref="hr_salary_rule_category_tree_view"/>
500 id="menu_hr_salary_rule_category_tree_view"
501 action="action_hr_salary_rule_category_tree_view"
502 parent="payroll_configure"
505 groups="base.group_no_one"
509 Contribution Register
511 <record id="hr_contribution_register_tree" model="ir.ui.view">
512 <field name="name">hr.contribution.register.tree</field>
513 <field name="model">hr.contribution.register</field>
514 <field name="type">tree</field>
515 <field name="arch" type="xml">
516 <tree string="Contribution Registers">
517 <field name="name" />
518 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
522 <record id="hr_contribution_register_filter" model="ir.ui.view">
523 <field name="name">hr.contribution.register.search</field>
524 <field name="model">hr.contribution.register</field>
525 <field name="type">search</field>
526 <field name="arch" type="xml">
527 <search string="Contribution Registers">
528 <field name="name" string="Contribution Registers"/>
529 <separator orientation="vertical"/>
530 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
534 <record id="hr_contribution_register_form" model="ir.ui.view">
535 <field name="name">hr.contribution.register.form</field>
536 <field name="model">hr.contribution.register</field>
537 <field name="type">form</field>
538 <field name="arch" type="xml">
539 <form string="Contribution">
541 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
542 <separator string="Description"/>
543 <field name="note" nolabel="1"/>
547 <record id="action_contribution_register_form" model="ir.actions.act_window">
548 <field name="name">Contribution Registers</field>
549 <field name="res_model">hr.contribution.register</field>
550 <field name="view_type">form</field>
551 <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>
552 <field name="view_id" ref="hr_contribution_register_tree"/>
555 id="menu_action_hr_contribution_register_form"
556 action="action_contribution_register_form"
557 parent="payroll_configure"
561 <!-- Salary Rules -->
563 <record id="hr_salary_rule_list" model="ir.ui.view">
564 <field name="name">hr.salary.rule.list</field>
565 <field name="model">hr.salary.rule</field>
566 <field name="type">tree</field>
567 <field name="arch" type="xml">
568 <tree string="Salary Rules">
571 <field name="category_id"/>
572 <field name="sequence" invisible="1"/>
573 <field name="register_id"/>
578 <record id="hr_salary_rule_tree" model="ir.ui.view">
579 <field name="name">hr.salary.rule.tree</field>
580 <field name="model">hr.salary.rule</field>
581 <field name="type">tree</field>
582 <field name="field_parent">child_ids</field>
583 <field eval="20" name="priority"/>
584 <field name="arch" type="xml">
585 <tree string="Salary Rules">
588 <field name="category_id" invisible="True"/>
589 <field name="company_id" groups="base.group_multi_company" widget="selection"/>
593 <record id="hr_salary_rule_form" model="ir.ui.view">
594 <field name="name">hr.salary.rule.form</field>
595 <field name="model">hr.salary.rule</field>
596 <field name="type">form</field>
597 <field name="arch" type="xml">
598 <form string="Salary Rules" version="7.0">
599 <label for="name" class="oe_edit_only"/>
600 <h1><field name="name"/></h1>
601 <label for="category_id" class="oe_edit_only"/>
602 <h2><field name="category_id"/></h2>
606 <field name="sequence" />
607 <field name="active"/>
608 <field name="appears_on_payslip"/>
609 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
611 <notebook colspan="6">
612 <page string="General">
614 <separator colspan="4" string="Conditions"/>
615 <field name="condition_select"/><newline/>
616 <field name="condition_python" attrs="{'invisible':[('condition_select','<>','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
617 <field name="condition_range" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
618 <field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
619 <field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
620 <separator colspan="4" string="Computation"/>
621 <field name="amount_select"/><newline/>
622 <field name="amount_percentage_base" attrs="{'invisible':[('amount_select','<>','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
623 <field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
624 <field name="amount_fix" attrs="{'invisible':[('amount_select','<>','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
625 <field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/>
626 <field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','<>','code')], 'required':[('amount_select','=','code')]}"/>
627 <separator colspan="4" string="Company Contribution"/>
628 <field name="register_id"/>
631 <page string="Child Rules">
632 <field name="parent_rule_id"/>
633 <separator string="Children Definition"/>
634 <field name="child_ids"/>
636 <page string="Inputs">
637 <field name="input_ids" mode="tree, form">
638 <tree string="Input Data" editable="bottom">
644 <page string="Description">
652 <record id="view_hr_rule_filter" model="ir.ui.view">
653 <field name="name">hr.salary.rule.select</field>
654 <field name="model">hr.salary.rule</field>
655 <field name="type">search</field>
656 <field name="arch" type="xml">
657 <search string="Search Salary Rule">
659 <field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
660 <separator orientation="vertical"/>
661 <field name="category_id"/>
662 <field name="condition_range_min"/>
665 <group col="8" colspan="4" expand="0" string="Group By...">
666 <filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
672 <record id="action_salary_rule_form" model="ir.actions.act_window">
673 <field name="name">Salary Rules</field>
674 <field name="res_model">hr.salary.rule</field>
675 <field name="view_type">form</field>
676 <field name="view_id" ref="hr_salary_rule_list"/>
677 <field name="domain">[('parent_rule_id','=',False)]</field>
678 <field name="search_view_id" ref="view_hr_rule_filter"/>
681 <menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
684 <act_window name="All Children Rules"
685 domain="[('id', 'in', [active_id])]"
686 res_model="hr.salary.rule"
687 src_model="hr.salary.rule"
688 view_id="hr_salary_rule_tree"
690 id="act_children_salary_rules"/>
692 <!-- payslip runs -->
694 <record id="hr_payslip_run_filter" model="ir.ui.view">
695 <field name="name">hr.payslip.run.search</field>
696 <field name="model">hr.payslip.run</field>
697 <field name="type">search</field>
698 <field name="arch" type="xml">
699 <search string="Search Payslip Batches">
700 <field name="name" string="Payslip Batches"/>
701 <separator orientation="vertical"/>
702 <field name="date_start"/>
703 <field name="date_end"/>
704 <separator orientation="vertical"/>
705 <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
706 <filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
711 <record id="hr_payslip_run_tree" model="ir.ui.view">
712 <field name="name">hr.payslip.run.tree</field>
713 <field name="model">hr.payslip.run</field>
714 <field name="type">tree</field>
715 <field name="arch" type="xml">
716 <tree string="Payslips Batches">
718 <field name="date_start"/>
719 <field name="date_end"/>
720 <field name="credit_note"/>
721 <field name="state"/>
726 <record id="hr_payslip_run_form" model="ir.ui.view">
727 <field name="name">hr.payslip.run.form</field>
728 <field name="model">hr.payslip.run</field>
729 <field name="type">form</field>
730 <field name="arch" type="xml">
731 <form string="Payslips Batches" version="7.0">
733 <button name="close_payslip_run" type="object" string="Close" states="draft" class="oe_highlight"/>
734 <button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" class="oe_highlight"/>
735 <button string="Set to Draft" name="draft_payslip_run" type="object" states="close" />
736 <field name="state" widget="statusbar"/>
739 <label for="name" class="oe_edit_only"/>
745 <field name="date_start"/>
747 <field name="date_end"/>
750 <field name="credit_note"/>
752 <separator string="Payslips"/>
753 <field name="slip_ids"/>
759 <record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
760 <field name="name">Payslips Batches</field>
761 <field name="res_model">hr.payslip.run</field>
762 <field name="view_type">form</field>
763 <field name="view_id" ref="hr_payslip_run_tree"/>
764 <field name="search_view_id" ref="hr_payslip_run_filter"/>
766 <menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
770 <act_window name="Payslips"
771 domain="[('employee_id', '=', active_id)]"
772 context="{'search_default_employee_id': [active_id], 'default_employee_id': active_id}"
773 res_model="hr.payslip"
774 src_model="hr.employee"
775 view_id ="view_hr_payslip_tree"
776 id="act_hr_employee_payslip_list"
777 groups="base.group_hr_manager"/>
779 <act_window name="Payslip Computation Details"
780 domain="[('slip_id', '=', active_id)]"
781 context="{'default_slip_id': active_id}"
782 res_model="hr.payslip.line"
783 src_model="hr.payslip"
784 id="act_payslip_lines"/>
786 <act_window name="Payslip Lines"
787 domain="[('register_id', '=', active_id)]"
788 context="{'default_register_id': active_id, 'search_default_register_id': 1}"
789 res_model="hr.payslip.line"
790 src_model="hr.contribution.register"
791 id="act_contribution_reg_payslip_lines"/>