Skip to content

Commit e35ad76

Browse files
committed
[ADD] Payroll: New Salary doc
closes #14950 X-original-commit: 31c00ac Signed-off-by: Lara Martini (larm) <larm@odoo.com> Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
1 parent 0189418 commit e35ad76

File tree

12 files changed

+299
-264
lines changed

12 files changed

+299
-264
lines changed

content/applications/hr/payroll.rst

Lines changed: 2 additions & 264 deletions
Original file line numberDiff line numberDiff line change
@@ -218,270 +218,6 @@ calendar` button in the top-left. This creates entries for an :guilabel:`Even we
218218
:align: center
219219
:alt: New working schedule form.
220220

221-
Salary
222-
======
223-
224-
.. _payroll/structure-types:
225-
226-
Structure types
227-
---------------
228-
229-
In Odoo, structure types are used to identify group of people referring to the same payroll rules.
230-
A structure type contains specific options and a subset of structures that will be used according
231-
the situation.
232-
233-
In Odoo, an employee's payslip is based on *structures* and *structure types*, which both affect how
234-
an employee enters timesheets. Each structure type is an individual set of rules for processing a
235-
timesheet entry, which consists of different structures nested within it. Structure types define how
236-
often an employee gets paid, the working hours, and if wages are based on a salary (fixed) or how
237-
many hours the employee worked (varied).
238-
239-
For example, a structure type could be `Employee`, and that structure type could have two different
240-
structures in it: a `Regular Pay` structure which includes all the separate rules for processing
241-
regular pay, as well as a structure for an `End of Year Bonus` which includes the rules only for the
242-
end of year bonus. Both the `Regular Pay` structure and `End of Year Bonus` structure are structures
243-
within the `Employee` structure type.
244-
245-
The different :guilabel:`Structure Types` can be seen by navigating to :menuselection:`Payroll app
246-
--> Configuration --> Salary: Structure Types`.
247-
248-
Two default structure types are configured in Odoo: :guilabel:`Employee` and :guilabel:`Worker`.
249-
250-
Typically, :guilabel:`Employee` is used for salaried employees, which is why the wage type is
251-
:guilabel:`Monthly Fixed Wage`, and :guilabel:`Worker` is typically used for employees paid by the
252-
hour, so the wage type is :guilabel:`Hourly Wage`.
253-
254-
.. image:: payroll/structure-type.png
255-
:align: center
256-
:alt: List of all currently configured structure types available to use.
257-
258-
.. _payroll/new-structure-type:
259-
260-
New structure type
261-
~~~~~~~~~~~~~~~~~~
262-
263-
To make a new structure type, click the :guilabel:`New` button, and a blank structure type form
264-
appears.
265-
266-
Proceed to enter information in the fields. Most fields are pre-populated, but all the fields can be
267-
modified.
268-
269-
- :guilabel:`Structure Type`: enter the name for the new structure type, such as `Employee` or
270-
`Worker`.
271-
- :guilabel:`Country`: select the country that the new structure type applies to from the drop-down
272-
menu.
273-
- :guilabel:`Wage Type`: select what type of wage the new structure type uses, either
274-
:guilabel:`Fixed Wage` or :guilabel:`Hourly Wage`.
275-
276-
If the type is to be used for salaried employees, who receive the same wage every pay period,
277-
select :guilabel:`Fixed Wage`.
278-
279-
If the type is to be used for employees, who receive wages based on how many hours they worked
280-
during a pay period, select :guilabel:`Hourly Wage`.
281-
- :guilabel:`Default Scheduled Pay`: select the typical pay schedule for the new structure type from
282-
the drop-down menu. Options are :guilabel:`Monthly`, :guilabel:`Quarterly`,
283-
:guilabel:`Semi-annually`, :guilabel:`Annually`, :guilabel:`Weekly`, :guilabel:`Bi-weekly`,
284-
:guilabel:`Bi-monthly`. This indicates how often this specific type of structure is paid out.
285-
- :guilabel:`Default Working Hours`: select the default working hours for the new structure type
286-
from the drop-down menu. All available working hours for the currently selected company appear in
287-
the drop-down menu. The default working hours that are pre-configured in Odoo is the
288-
:guilabel:`Standard 40 hours/week` option. If the needed working hours do not appear in the list,
289-
a :ref:`new set of default working hours can be created <new-default-working-hours>`.
290-
- :guilabel:`Regular Pay Structure`: type in the name for the regular pay structure. It will be
291-
used as the default option when generating payslips.
292-
- :guilabel:`Default Work Entry Type`: For employees whose contracts is referred under this
293-
structure type, the main work entry type used for all period of work is defined here. It will
294-
commonly be set as **Attendance**,
295-
:guilabel:`Overtime Hours`, :guilabel:`Generic Time Off`, :guilabel:`Compensatory Time Off`,
296-
:guilabel:`Home Working`, :guilabel:`Unpaid`, :guilabel:`Sick Time Off`, :guilabel:`Paid Time
297-
Off`, :guilabel:`Out Of Contract`, :guilabel:`Extra Hours`, and :guilabel:`Long Term Time Off`.
298-
299-
To view all the options for the :guilabel:`Default Work Entry Type`, click the :guilabel:`Search
300-
More..` button at the bottom of the drop-down list.
301-
302-
Depending on the localization settings, this list may contain more options in addition to the
303-
default options.
304-
305-
.. image:: payroll/new-structure.png
306-
:align: center
307-
:alt: New structure type form to fill out when creating a new structure type.
308-
309-
.. _new-default-working-hours:
310-
311-
New default working hours
312-
~~~~~~~~~~~~~~~~~~~~~~~~~
313-
314-
To make new default working hours, type the name for the new working hours in the :guilabel:`Default
315-
Working Hours` field on the new structure type form. Click :guilabel:`Create and edit`. A default
316-
working hours form pops up. The default working hours form has two sections, a general information
317-
section and a tab listing out all the individual working hours by day and time. When the form is
318-
completed, click :guilabel:`Save & Close`.
319-
320-
- :guilabel:`Name`: type in the name for the new default working hours. This should be descriptive
321-
and clear to understand, such as `Standard 20 Hours/Week`.
322-
- :guilabel:`Company`: select the company that can use these new default working hours from the
323-
drop-down menu. Blank field means it's available for all companies.
324-
- :guilabel:`Average Hour Per Day`: the average hours per day field is auto-populated, based on the
325-
working hours configured in the :guilabel:`Working Hours` tab. This entry affects resource
326-
planning, since the average daily hours affect what resources can be used, and in what quantity,
327-
per work day.
328-
- :guilabel:`Timezone`: select the time zone to be used for the new default working hours from the
329-
drop-down menu.
330-
- :guilabel:`Company Full Time`: enter the number of hours per week an employee would need to work
331-
to be considered a full-time employee. Typically, this is approximately 40 hours, and this number
332-
affects what types of benefits an employee can receive, based on their employment status
333-
(full-time vs part-time).
334-
- :guilabel:`Work Time Rate`: this percentage is auto-generated based on the entry for the
335-
:guilabel:`Company Full Time` and the working hours configured in the :guilabel:`Working Hours`
336-
tab. This number should be between `0.00%` and `100%`, so if the percentage is above `100%`, it is
337-
an indication that the working times and/or :guilabel:`Company Full Time` hours need adjustment.
338-
- :guilabel:`Working Hours` Tab: this tab is where each day's specific working hours are listed.
339-
When a new default working hour form is created, the :guilabel:`Working Hours` tab is
340-
pre-populated with a default 40-hour week, with each day divided into three timed sections.
341-
342-
Every day has morning (8:00-12:00), lunch (12:00-13:00), and evening (13:00-17:00) hours
343-
configured, using a 24 hour time format.
344-
345-
To adjust any of these hours, click on the specific field to adjust, and make the adjustment using
346-
the drop-down menus, or in the specific case of the times, type in the desired time.
347-
348-
Keep in mind, working hours are company-specific, and cannot be shared between companies. Each
349-
company needs to have their own working hours set.
350-
351-
.. note::
352-
If the working hours are not consistent each week, and the hours are on a bi-weekly schedule
353-
instead, click the :guilabel:`Switch to 2 week calendar` button at the top of the new default
354-
working hours form. This changes the :guilabel:`Working Hours` tab to display two weeks of
355-
working times that can be adjusted.
356-
357-
Structures
358-
----------
359-
360-
*Salary structures* are the different situations an employee could be paid within a specific
361-
*structure*, and are specifically defined by various rules.
362-
363-
The amount of structures a company needs for each structure type depends on how many different ways
364-
employees are paid, and how their pay is calculated. For example, a common structure that could be
365-
useful to add may be a `Bonus`.
366-
367-
To view all the various structures for each structure type, go to :menuselection:`Payroll app -->
368-
Configuration --> Salary --> Structures`.
369-
370-
Each :ref:`structure type <payroll/structure-types>` lists the various structures associated with
371-
it. Each structure contains a set of rules that define it.
372-
373-
.. image:: payroll/salary-structure.png
374-
:align: center
375-
:alt: All available salary structures.
376-
377-
Click on a structure to view its :guilabel:`Salary Rules`. These rules define how the payslip will
378-
be computed for the employee.
379-
380-
.. image:: payroll/structure-regular-pay-rules.png
381-
:align: center
382-
:alt: Salary structure details for Regular Pay, listing all the specific Salary Rules.
383-
384-
Rules
385-
-----
386-
387-
Each structure has a set of salary rules used to compute the various amounts considered in the pay.
388-
These rules are configured by the localization and affect the computation of the salaries. Modification
389-
or creation of rules should only be done when necessary.
390-
391-
To view all the rules, go to :menuselection:`Payroll app --> Configuration --> Salary --> Rules`.
392-
Click on a structure (such as :guilabel:`Regular Pay`) to view all the rules.
393-
394-
To make a new rule, click :guilabel:`New`. A new rule form appears. Enter the following information
395-
in the fields.
396-
397-
Top section
398-
~~~~~~~~~~~
399-
400-
- :guilabel:`Rule Name`: enter a name for the rule. This field is required.
401-
- :guilabel:`Category`: select a category the rule applies to from the drop-down menu, or enter a
402-
new one. This field is required.
403-
- :guilabel:`Code`: enter a code to be used for this new rule. This field is required.
404-
- :guilabel:`Sequence`: enter a number indicating when this rule is calculated in the sequence of
405-
all other rules.
406-
- :guilabel:`Salary Structure`: select a salary structure the rule applies to from the drop-down
407-
menu, or enter a new one. This field is required.
408-
- :guilabel:`Active`: enable this toggle, so the rule is available for use. Disable the toggle to
409-
continue to show it on the payslip, but skip the computation.
410-
- :guilabel:`Appears on payslip`: tick the checkbox to have the rule appear on employee printed
411-
payslip.
412-
- :guilabel:`View on Employer Cost Dashboard`: tick the checkbox to have the rule appear on the
413-
:guilabel:`Employer Cost` report, located on the *Payroll* app dashboard.
414-
- :guilabel:`View on Payroll Reporting`: tick the checkbox to have the rule appear on payroll
415-
reports.
416-
417-
.. image:: payroll/new-rule.png
418-
:align: center
419-
:alt: Enter the information for the new rule on the new rule form.
420-
421-
General tab
422-
~~~~~~~~~~~
423-
424-
Conditions
425-
**********
426-
427-
- :guilabel:`Condition Based on`: select from the drop-down menu whether the rule is
428-
:guilabel:`Always True` (always applies), a :guilabel:`Range` (applies to a specific range, which
429-
is entered beneath the selection), or a :guilabel:`Python Expression` (the code is entered beneath
430-
the selection). This field is required.
431-
432-
Computation
433-
***********
434-
435-
- :guilabel:`Amount Type`: select from the drop-down menu whether the amount is a :guilabel:`Fixed
436-
Amount`, a :guilabel:`Percentage (%)`, or a :guilabel:`Python Code`. Depending on what is
437-
selected, the fixed amount, percentage, or Python code needs to be entered next. This field is
438-
required.
439-
440-
Company contribution
441-
********************
442-
443-
- :guilabel:`Partner`: if another company financially contributes to this rule, select the company
444-
from the drop-down menu.
445-
446-
Description tab
447-
~~~~~~~~~~~~~~~
448-
449-
Provide any additional information in this tab to help clarify the rule. This tab only appears in
450-
the rule form.
451-
452-
Accounting tab
453-
~~~~~~~~~~~~~~
454-
455-
- :guilabel:`Debit Account`: select the debit account from the drop-down menu the rule affects.
456-
- :guilabel:`Credit Account`: select the credit account from the drop-down menu the rule affects.
457-
- :guilabel:`Not computed in net accountability`: If checked, the amount of the rule will be show
458-
independantly from the Net Salary, to allow a better reporting in Accounting.
459-
460-
Other input types
461-
-----------------
462-
463-
When creating payslips, it is sometimes necessary to add other entries for specific circumstances,
464-
like expenses, reimbursements, or deductions. These other inputs can be configured by navigating to
465-
:menuselection:`Payroll app --> Configuration --> Salary --> Other Input Types`.
466-
467-
.. image:: payroll/other-input.png
468-
:align: center
469-
:alt: A list of other input types for payroll that can be selected when creating a new entry for
470-
a payslip.
471-
472-
To create a new input type, click the :guilabel:`New` button. Enter the :guilabel:`Description`, the
473-
:guilabel:`Code`, and which structure it applies to in the :guilabel:`Availability in Structure`
474-
field.
475-
476-
.. important::
477-
The :guilabel:`Code` is used in the salary rules to compute payslips. If the
478-
:guilabel:`Availability in Structure` field is left blank, it indicates that the new input type
479-
is available for all payslips and is not exclusive to a specific structure.
480-
481-
.. image:: payroll/input-type-new.png
482-
:align: center
483-
:alt: A new Input Type form filled in.
484-
485221
.. _payroll/salary-attachment-types:
486222

487223
Salary package configurator
@@ -758,6 +494,7 @@ form.
758494

759495
.. seealso::
760496
- :doc:`payroll/contracts`
497+
- :doc:`payroll/salaries`
761498
- :doc:`payroll/work_entries`
762499
- :doc:`payroll/time_off_to_report`
763500
- :doc:`payroll/salary_attachments`
@@ -773,6 +510,7 @@ form.
773510
:titlesonly:
774511

775512
payroll/contracts
513+
payroll/salaries
776514
payroll/work_entries
777515
payroll/time_off_to_report
778516
payroll/salary_attachments
-7 KB
Binary file not shown.
-21.4 KB
Binary file not shown.
-13.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)