Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 0 additions & 105 deletions content/applications/hr/payroll.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,111 +61,6 @@ Payroll
- :guilabel:`Payslip PDF Display`: enable this option to show the payslip's PDF when the state is
validated.

.. _payroll/work-entries:

Work entries
============

A *work entry* is an individual record on an employee's timesheet. Work entries can be configured to
account for all types of work and time off, such as :guilabel:`Attendance`, :guilabel:`Sick Time
Off`, :guilabel:`Training`, or :guilabel:`Public Holiday`.

.. seealso::
:doc:`Manage work entries <payroll/work_entries>`

Work entry types
----------------

When creating a work entry in the *Payroll* application, or when an employee enters new time off types
in *Time Off* application, a :guilabel:`Work Entry Type` needs to be selected. The list of
:guilabel:`Work Entry Types` is automatically created based on localization settings set in the
database.

To view the current work entry types available, go to :menuselection:`Payroll app --> Configuration
--> Work Entries --> Work Entry Types`.

Each work entry type has a code to aid in the creation of payslips, and to ensure all taxes and fees
are correctly entered.

.. image:: payroll/work-entry-types.png
:align: center
:alt: List of all work entry types currently available for use, with the payroll code and color.

New work entry type
~~~~~~~~~~~~~~~~~~~

To create a new :guilabel:`Work Entry Type`, click the :guilabel:`New` button, and enter the
information for the following sections on the form.

General information section
***************************

- :guilabel:`Work Entry Type Name`: the name should be short and descriptive, such as `Sick Time` or
`Public Holiday`.
- :guilabel:`Payroll Code`: this code appears with the work entry type on timesheets and payslips.
Since the code is used in conjunction with the *Accounting* application, it is advised to check
with the accounting department for a code to use.
- :guilabel:`External Code`: this code is used for exporting data to a third-party payroll service.
Check with the third-party being used to determine the :guilabel:`External Code` to enter for the
new work entry type.
- :guilabel:`Color`: select a color for the particular work entry type.

Display in payslip section
**************************

- :guilabel:`Rounding`: the rounding method selected determines how quantities on timesheet entries
are displayed on the payslip.

- :guilabel:`No Rounding`: entry is not modified.
- :guilabel:`Half Day`: entry is rounded to the closest half day amount.
- :guilabel:`Day`: entry is rounded to the closest full day amount.

.. example::
If the working time is set to an 8-hour work day (40-hour work week), and an employee enters a
time of 5.5 hours on a work entry, and :guilabel:`Rounding` is set to :guilabel:`No Rounding`, the
entry remains 5.5 hours. If :guilabel:`Rounding` is set to :guilabel:`Half Day`, the entry is
changed to 4 hours. If it is set to :guilabel:`Day`, it is changed to 8 hours.

Unpaid section
**************

- :guilabel:`Unpaid in Structures Types`: if the work entry is for work that is not paid, specify
which pay structure the unpaid work entry applies to from the drop-down menu. Some situations
where work is logged on a payslip, but no compensation given would be for unpaid internships,
unpaid training, or volunteer work.

Valid for advantages section
****************************

- :guilabel:`Meal Voucher`: if the work entry should count towards a meal voucher, check the box.
- :guilabel:`Representation Fees`: if the work entry should count towards representation fees, check
the box.
- :guilabel:`Private Car Reimbursement`: if the work entry should count towards a private car
reimbursement, check the box.

Time off options section
************************

- :guilabel:`Time Off`: check this box if the work entry type can be selected for a time off
request, or entry, in the *Time Off* application.

If :guilabel:`Time Off` is checked, a :guilabel:`Time Off Type` field appears. This field has a
drop-down menu to select the specific types of time off, such as `Paid Time Off`, `Sick Time Off`,
or `Extra Hours`, for example.

A new type of time off can be entered in the field, if the listed types of time off in the
drop-down menu do **not** display the type of time off needed.

Reporting section
*****************

- :guilabel:`Unforeseen Absence`: if the work entry should be visible on the unforeseen absences
report, check this box.

.. image:: payroll/new-work-entry-type.png
:align: center
:alt: New work entry type form with all fields to be filled in.

.. _payroll/working-times:

Working schedules
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ There are two checkboxes to be considered when setting up the work entry type:
:alt: Hong Kong Work Entry Type.

.. seealso::
:ref:`Creating and configuring work entry types <payroll/work-entries>`
:ref:`Creating and configuring work entry types <payroll/work-entry-types>`

Understanding 713 Ordinance
===========================
Expand Down
156 changes: 128 additions & 28 deletions content/applications/hr/payroll/work_entries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,22 @@
Work entries
============

A *work entry* is an individual record on an employee's timesheet. Work entries can be configured to
account for all types of work and time off, such as :guilabel:`Attendance`, :guilabel:`Sick Time
Off`, :guilabel:`Training`, or :guilabel:`Public Holiday`.

The **Payroll** app automatically creates work entries based on the employee's :ref:`salary
structure type <payroll/structure-types>`, and from the **Planning**, **Attendances**, and **Time
Off** applications.
Off** applications. When needed, work entries can also be :ref:`created manually
<payroll/new-work-entry>`.

Work entries provide the **Payroll** app with the worked hours used to compute employee paychecks,
if the employee's salary is based on work entries, as opposed to a salaried position.

.. note::
Odoo configures several work entry types by default, but :ref:`additional work entry types can be
created <payroll/work-entry-types>`, when necessary.

.. _payroll/work-entry-dashboard:

Work entry dashboard
Expand All @@ -32,28 +41,6 @@ only work entries with :ref:`conflicts <payroll/conflicts>` to be resolved.
.. tip::
Remove the default :guilabel:`Conflicting` filter from the search bar to view *all* work entries.

.. _payroll/adjust-view:

Adjust view
-----------

To change the view so that only the entries for a single day, week, month, quarter, or year are
shown, click the :icon:`fa-calendar` :guilabel:`(Month)(Year)` button. A drop-down menu appears with
the options of :guilabel:`Today`, :guilabel:`This week`, :guilabel:`This month`, :guilabel:`This
quarter`, or :guilabel:`This year`. Click on one of the options to only display data for that
specific selection.

Use the :icon:`oi-arrow-left` :guilabel:`(left arrow)` and :icon:`oi-arrow-right` :guilabel:`(right
arrow)` buttons to adjust the displayed dates. The arrows adjust the date based on the type of time
selected.

For example, if :guilabel:`Month` is selected, the arrows move one month with each click of the
arrow. If :guilabel:`Week` or :guilabel:`Day` is selected, the time moves by either a week or a day
for each click of the arrow, respectively.

At any point, to return to a view containing the current day, click the :icon:`fa-crosshairs`
:guilabel:`(Focus Today)` button.

.. _payroll/new-work-entry:

Add a new work entry
Expand All @@ -68,8 +55,7 @@ Click :guilabel:`New` on the :ref:`work entry dashboard <payroll/work-entry-dash
- :guilabel:`Description`: Enter a short description for the work entry, such as `Sick Time`. The
default entry is `Attendance: (Employee)`.
- :guilabel:`Employee`: Select the employee the work entry is for, using the drop-down menu.
- :guilabel:`Work Entry Type`: Select the :ref:`work entry type <payroll/work-entries>` using the
drop-down menu.
- :guilabel:`Work Entry Type`: Select the :guilabel:`Work Entry Type` using the drop-down menu.
- :guilabel:`From` and :guilabel:`To`: Enter the start (:guilabel:`From`) and end (:guilabel:`To`)
dates and times for the work entry.

Expand Down Expand Up @@ -123,8 +109,8 @@ Time off conflicts

The most common work entry conflicts are for time off requests. Odoo automatically generates work
entries for specific time periods. When time off is requested after these work entries are
generated, it results in duplicate work entries for that employee (one for time off and another
for regular work).
generated, it results in duplicate work entries for that employee (one for time off and another for
regular work).

If there is a conflict because a time off request is in the system for the same time that a regular
work entry already exists, the time off request is entered in a :guilabel:`Time Off` field.
Expand Down Expand Up @@ -194,7 +180,7 @@ After conflicts are resolved, the affected work entries must be regenerated. Thi
specified work entries, and overwrites the previously conflicting work entries.

While :ref:`conflicts <payroll/conflicts>` *can* be resolved individually, if the conflicts are
caused from another application, such as **Planning** or **Attendances**, it is best practice to
caused by another application, such as **Planning** or **Attendances**, it is best practice to
correct the record in the application causing the conflict. The reason this method is recommended is
because, if the issue in the related application is **not** resolved, when work entries are
regenerated, the conflicts reappear.
Expand Down Expand Up @@ -227,6 +213,120 @@ finished, the pop-up window closes.
The **Payroll** app then pulls the new, corrected data form the **Planning** app, and recreates
the correct work entries for that employee. All conflicts for that employee are now resolved.

.. _payroll/work-entry-types:

Work entry types
================

When :ref:`creating a work entry <payroll/new-work-entry>` in the **Payroll** application, or when a
new time off type is created in the **Time Off** application, a work entry *type* needs to be
selected.

The **Payroll** app comes with nine preconfigured work entry types, and depending on the installed
:doc:`payroll localization <payroll_localizations>`, additional country-specific work entries may be
configured. If there is a need for additional work entry types, they can be :ref:`created
<payroll/new-work-entry-type>`.

To view the current work entry types available, navigate to :menuselection:`Payroll app -->
Configuration --> Work Entries --> Work Entry Types`.

Each work entry type has a code to aid in the creation of payslips, and to ensure all taxes and fees
are correctly entered.

.. note::
Depending on the installed localization, other sections and fields may appear on the form.

.. image:: work_entries/work-entry-types.png
:alt: List of all work entry types currently available for use, with the payroll code and color.

.. _payroll/new-work-entry-type:

New work entry type
-------------------

To create a new work entry type, go to :menuselection:`Payroll app --> Configuration --> Work
Entries --> Work Entry Types` and click :guilabel:`New`. Then, enter the information for the
following sections on the form.

General information section
~~~~~~~~~~~~~~~~~~~~~~~~~~~

- :guilabel:`Work Entry Type Name`: Enter a name for the work entry type. It should be short and
descriptive, such as `Sick Time` or `Training`.
- :guilabel:`Payroll Code`: Enter a code for the work entry type. This code appears with the work
entry type on timesheets and payslips. Since the code is used in conjunction with the
**Accounting** application, it is advised to check with the accounting department for a code to
use.
- :guilabel:`External Code`: Enter a code to use for exporting data to a third-party payroll
service. Check with the third-party being used to determine the :guilabel:`External Code` to enter
for the new work entry type.
- :guilabel:`Color`: Select a color for the particular work entry type. This color appears on the
work entry dashboard to aid in identifying work entry types.

.. note::
The **only** required fields for a work entry type is the :guilabel:`Work Entry Type Name` and
the :guilabel:`Payroll Code`.

Display in payslip section
~~~~~~~~~~~~~~~~~~~~~~~~~~

- :guilabel:`Rounding`: Select how the time entered for the work entry should be rounded. The
rounding method selected determines how the worked time on timesheet entries are calculated. The
options are:

- :guilabel:`No Rounding`: Work entries are not modified.
- :guilabel:`Half Day`: Work entries are rounded to the closest half day amount.
- :guilabel:`Day`: Work entries are rounded to the closest full day amount.

- :guilabel:`Rounding Type`: If either :guilabel:`Half Day` or :guilabel:`Day` is selected in the
:guilabel:`Rounding` field, this field appears. Select either :guilabel:`Up` or :guilabel:`Down`
to determine how the rounding is handled.

.. example::
The working time is set to an 8-hour work day (a 40-hour work week). An employee enters a time of
5.5 hours on a work entry.

If the :guilabel:`Rounding` is set to :guilabel:`No Rounding`, the work entry remains at 5.5
hours.

If the :guilabel:`Rounding` is set to :guilabel:`Half Day`, and the :guilabel:`Rounding Type` is
set to :guilabel:`Down`, the work entry is changed to 4 hours. If the :guilabel:`Rounding Type`
is set to :guilabel:`Up`, the work entry is changed to 8 hours.

If the :guilabel:`Rounding` is set to :guilabel:`Day`, and the :guilabel:`Rounding Type` is set
to :guilabel:`Down`, the work entry is changed to zero hours. If the :guilabel:`Rounding Type` is
set to :guilabel:`Up`, the work entry is changed to 8 hours.

Unpaid section
~~~~~~~~~~~~~~

- :guilabel:`Unpaid in Structures Types`: If the work entry type is for work that is *not paid*,
specify which pay structure the unpaid work entry type applies to, using the drop-down menu. Some
situations where work is logged on a payslip, but no compensation is given, such as unpaid
internships, unpaid training, or volunteer work.

Time off options section
~~~~~~~~~~~~~~~~~~~~~~~~

- :guilabel:`Time Off`: Tick this box if the work entry type can be selected for a time off request
or time off entry, in the **Time Off** application.

If :guilabel:`Time Off` is active, a :guilabel:`Time Off Type` field appears. This field has a
drop-down menu to select the specific types of time off, such as `Paid Time Off`, `Sick Time Off`,
or `Extra Hours`. Select the :guilabel:`Time Off Type` associated with the work entry type.

- :guilabel:`Keep Time Off Right`: Tick this checkbox if the work entry type associated with the
selected time off type allows for rolling over unused time off to the following year.

Reporting section
~~~~~~~~~~~~~~~~~

- :guilabel:`Unforeseen Absence`: Tick this box if the work entry type should be visible on the
unforeseen absences report.

.. image:: work_entries/new-work-entry-type.png
:alt: New work entry type form with all fields to be filled in.

.. seealso::
:doc:`payslips`

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions content/applications/hr/payroll/work_entry_analysis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ time period, as well as the :guilabel:`Variation` between the two, in a percenta
:alt: A pivot table comparing the work entries of the current month and the previous month.

.. note::
If no work entries for a specific :ref:`work entry type <payroll/work-entries>` are logged for
the time period, it does **not** appear on the report. That does **not** mean the work entry type
does not exist, or is not configured.
If no work entries for a specific :ref:`work entry type <payroll/work-entry-types>` are logged
for the time period, it does **not** appear on the report. That does **not** mean the work entry
type does not exist, or is not configured.

Additionally, if the default :guilabel:`Current month: (Month)(Year)` filter is removed from the
search bar, the :guilabel:`Comparison` column does **not** appear; there must be a time-frame
Expand Down
4 changes: 2 additions & 2 deletions content/applications/hr/time_off.rst
Original file line number Diff line number Diff line change
Expand Up @@ -475,8 +475,8 @@ Enter the following information on that new line:
- :guilabel:`Working Hours`: If the holiday should only apply to employees who have a specific set
of working hours, select the working hours from the drop-down menu. If left blank, the holiday
applies to all employees.
- :guilabel:`Work Entry Type`: If using the **Payroll** app, this field defines how the :ref:`work
entries <payroll/work-entries>` for the holiday appear. Select the work entry type from the
- :guilabel:`Work Entry Type`: If using the **Payroll** app, this field defines how the :doc:`work
entries <payroll/work_entries>` for the holiday appear. Select the work entry type from the
drop-down menu.

.. image:: time_off/holidays.png
Expand Down