Skip to content

Commit 2d239cf

Browse files
committed
[IMP] Payroll: Updating contract templates
closes #14807 Signed-off-by: Lara Martini (larm) <[email protected]>
1 parent 1f52d06 commit 2d239cf

File tree

4 files changed

+117
-157
lines changed

4 files changed

+117
-157
lines changed

content/applications/hr/payroll.rst

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -61,142 +61,6 @@ Payroll
6161
- :guilabel:`Payslip PDF Display`: enable this option to show the payslip's PDF when the state is
6262
validated.
6363

64-
.. _payroll/work-entries-config:
65-
66-
Contracts
67-
=========
68-
69-
In order for an employee to be paid, they **must** have an active contract for a specific type of
70-
employment. Creating and viewing contract templates, and creating and viewing employment types, is
71-
possible from this section of the configuration header menu.
72-
73-
.. _payroll/contract-templates:
74-
75-
Templates
76-
---------
77-
78-
Contract templates are used when sending an offer to a candidate.
79-
The contract template forms the basis of an offer, and can be modified for specific candidates or
80-
employees, when necessary. If a contract template is created or modified in the *Payroll*
81-
application, the changes are also reflected in the *Recruitment* application.
82-
83-
.. important::
84-
To access contract templates, the *Salary Configurator* (`hr_contract_salary`) module **must** be
85-
:ref:`installed <general/install>`.
86-
87-
To view all the current contract templates in the database, navigate to :menuselection:`Payroll app
88-
--> Configuration --> Contracts: Templates`.
89-
90-
On the :guilabel:`Contract Templates` page, all current contract templates appear in a list view. To
91-
view the details of a contract template, click anywhere on the line to open the contract form. The
92-
contract template can be modified from this form. Proceed to make any desired changes to the
93-
contract.
94-
95-
To create a new contract template, click the :guilabel:`New` button. Then, enter the following
96-
information on the blank contract template form that appears:
97-
98-
- :guilabel:`Contract Reference`: enter a brief description for the template. This should be clear
99-
and easily understood, as this name appears in the *Recruitment* application, as well.
100-
- :guilabel:`Working Schedule`: select the desired working schedule the contract applies to from the
101-
drop-down menu. If a new working schedule is needed, create a :ref:`new working schedule
102-
<payroll/new-working-schedule>`.
103-
- :guilabel:`Work Entry Source`: select how the work entries are generated. Choices are either:
104-
105-
- :guilabel:`Working Schedule`: work entries are generated based on the selected working schedule.
106-
- :guilabel:`Attendances`: work entries are generated based on the employee's attendance, as they
107-
are logged in the *Attendances* application. Refer to the :ref:`Attendances
108-
<attendances/check-in>` documentation for information on checking in and out.
109-
- :guilabel:`Planning`: work entries are generated based on the employee's planning in the
110-
*Planning* application.
111-
112-
- :guilabel:`Salary Structure Type`: select the :ref:`salary structure type
113-
<payroll/structure-types>` from the drop-down menu.
114-
- :guilabel:`Department`: select the department the contract template applies to from the drop-down
115-
menu. If blank, the template applies to all departments.
116-
- :guilabel:`Job Position`: select the :ref:`job position <payroll/job-positions>` the contract
117-
template applies to from the drop-down menu. If blank, the template applies to all job positions.
118-
- :guilabel:`Wage on Payroll`: enter the monthly wage in the field.
119-
- :guilabel:`Contract Type`: select the type of contract from the drop-down menu. This list is the
120-
same as the :ref:`Employment Types <payroll/employment-types>`.
121-
- :guilabel:`HR Responsible`: select the employee responsible for validating contracts, using this
122-
template, from the drop-down menu.
123-
- :guilabel:`New Contract Document Template`: select a default document that a new employee has to
124-
sign to accept an offer.
125-
- :guilabel:`Contract Update Document Template`: select a default document that a current employee
126-
has to sign to update their contract.
127-
128-
.. image:: payroll/contract-template.png
129-
:align: center
130-
:alt: A new contract template form, with the fields filled in.
131-
132-
Salary information tab
133-
~~~~~~~~~~~~~~~~~~~~~~
134-
135-
- :guilabel:`Wage Type`: select either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage` from the
136-
drop-down menu.
137-
- :guilabel:`Schedule Pay`: using the drop-down menu, select how often the employee is paid. Options
138-
include :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`,
139-
:guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`,
140-
:guilabel:`Weekly`, or :guilabel:`Daily`.
141-
- :guilabel:`Wage`: enter the gross wage. The time period presented in this field is based on what
142-
is selected for the :guilabel:`Scheduled Pay` field. It is recommended to populate the
143-
:guilabel:`Yearly Cost (Real)` field *first*, since that entry updates this field automatically.
144-
- :guilabel:`Yearly Cost (Real)`: enter the total yearly cost the employee costs the employer. When
145-
this value is entered, the :guilabel:`Monthly Cost (Real)` is automatically updated.
146-
- :guilabel:`Monthly Cost (Real)`: this field is **not** editable. The value is automatically
147-
populated after the :guilabel:`Yearly Cost (Real)` is entered.
148-
149-
.. important::
150-
The :guilabel:`Schedule Pay`, :guilabel:`Wage`, and :guilabel:`Yearly Cost (Real)` fields are all
151-
linked. If any of these fields are updated, the other two fields automatically update to reflect
152-
the change. It is best practice to check these three fields if any modifications have been made,
153-
to ensure they are accurate.
154-
155-
.. image:: payroll/salary-information.png
156-
:align: center
157-
:alt: The salary information tab, with the fields filled in.
158-
159-
Pre-tax benefits and post-tax deductions
160-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161-
162-
Depending on the localization settings set for the company, the entries presented in this section
163-
either vary, or may not appear at all.
164-
165-
For example, some entries may pertain to retirement accounts, health insurance benefits, and
166-
commuter benefits.
167-
168-
Enter the monetary amounts or percentages to specify how much of the employee's salary goes to the
169-
various benefits and/or deductions.
170-
171-
.. _payroll/employment-types:
172-
173-
Employment types
174-
----------------
175-
176-
To view all the pre-configured employment types, navigate to :menuselection:`Payroll application -->
177-
Configuration --> Contracts: Employment Types`.
178-
179-
The employment types are presented in a list view on the :guilabel:`Employment Types` page.
180-
181-
The default employment types are :guilabel:`Permanent`, :guilabel:`Temporary`, :guilabel:`Seasonal`,
182-
:guilabel:`Interim`, :guilabel:`Full-Time`, :guilabel:`Part-Time`, and :guilabel:`Permanent`.
183-
184-
To make a new employment type, click the :guilabel:`New` button in the upper-left corner, and a
185-
blank line appears at the bottom of the :guilabel:`Employment Types` page.
186-
187-
On this new blank line, enter the name of the employment type in the :guilabel:`Name` column. If the
188-
employment type is country-specific, select the country using the drop-down menu in the
189-
:guilabel:`Country` column. If a country is selected, then the employment type is *only* applicable
190-
for that specific country.
191-
192-
To rearrange the order of the employment types, click the :guilabel:`six small gray boxes` icon to
193-
the left of the employment type :guilabel:`Name`, and drag the line to the desired position on the
194-
list.
195-
196-
.. image:: payroll/employment-types.png
197-
:align: center
198-
:alt: The employment types in the database by default, in a list view.
199-
20064
.. _payroll/work-entries:
20165

20266
Work entries

content/applications/hr/payroll/contracts.rst

Lines changed: 117 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Contracts
33
=========
44

55
Every employee in Odoo is required to have a running contract in order to be paid. A contract
6-
outlines the terms of an employee's position, their compensation, working hours, and any
7-
other relevant details pertaining to their compensation.
6+
outlines the terms of an employee's position, compensation, working hours, and any other relevant
7+
terms.
88

99
.. important::
1010
Contract documents (PDFs) are uploaded and organized using the **Documents** application, and are
@@ -54,20 +54,26 @@ Enter the following information in the top-half of the blank contract form:
5454
- :guilabel:`Contact Reference`: Type in the name or title for the contract, such as `John Smith
5555
Contract`. This field is **required**.
5656
- :guilabel:`Employee`: Using the drop-down menu, select the employee the contract is for.
57-
- :guilabel:`Contract Start Date`: Required. Defaults to the current date. To choose a different
58-
date, click into the field. In the popover calendar, select a different date.
59-
- :guilabel:`Contract End Date`: Optional. Select a date from the calendar popover, or leave blank
60-
for an indefinite contract.
57+
- :guilabel:`Contract Start Date`: Select the date the contract goes into effect. Contracts can be
58+
created retroactively, or be created to begin at a future date. The current date populates this
59+
required field by default, but can be modified.
60+
- :guilabel:`Contract End Date`: If the contract has a firm end date, enter the date in this field.
61+
Leave this field blank if the contract runs indefinitely, or until a new contract is made (when
62+
the employee has a change to their job title, salary, or benefits).
6163
- :guilabel:`Working Schedule`: Select one of the available working schedules the employee is
62-
expected to work, from the drop-down menu. If this field is left blank, this allows the employee
63-
to work as many or as few hours as desired every week, with no restrictions.
64+
expected to work, from the drop-down menu. The selected working schedule determines how :doc:`work
65+
entries <work_entries>` are generated, which determines the employees schedule and compensation.
66+
If this field is left blank, this allows the employee to work as many or as few hours as desired
67+
every week, with no restrictions.
6468

6569
.. tip::
6670
The :guilabel:`Working Schedule` drop-down menu displays all the working schedules for the
6771
selected company. To modify or add to this list, go to :menuselection:`Payroll app -->
6872
Configuration --> Working Schedules`. Click :guilabel:`New`, and create a new working schedule,
6973
or click on an existing working schedule and make edits.
7074

75+
.. _payroll/work-entry-source:
76+
7177
- :guilabel:`Work Entry Source`: Using the drop-down menu, select how the :doc:`work entries
7278
<work_entries>` are generated. This field is **required**. Click the radio button next to the
7379
desired selection. The options are:
@@ -129,7 +135,7 @@ employee is paid. Fill in the following fields in this tab:
129135
:guilabel:`Weekly`, or :guilabel:`Daily`.
130136
- :guilabel:`Wage`: Enter the amount the employee receives each pay period. The first field allows
131137
for a wage to be entered, the second field displays how often the pay is issued to the employee.
132-
The second field *cannot** be modified, and is updated when the :guilabel:`Schedule Pay` field
138+
The second field *cannot* be modified, and is updated when the :guilabel:`Schedule Pay` field
133139
changes.
134140
- :guilabel:`Yearly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule
135141
Pay` and :guilabel:`Wage` fields are entered. This amount is the total yearly cost for the
@@ -138,8 +144,8 @@ employee is paid. Fill in the following fields in this tab:
138144
correct if this field is modified.
139145
- :guilabel:`Monthly Cost (Real)`: This field automatically updates after the :guilabel:`Schedule
140146
Pay` and :guilabel:`Wage` fields are entered. This amount is the total monthly cost for the
141-
employer. This field **cannot** be modified, and is calculated based on the :guilabel:`Yearly
142-
Cost (Real)`.
147+
employer. This field **cannot** be modified, and is calculated based on the :guilabel:`Yearly Cost
148+
(Real)`.
143149

144150
.. figure:: contracts/salary-info.png
145151
:alt: The Salary Information tab filled out.
@@ -152,14 +158,8 @@ information (refer to the :doc:`country-specific localization document <payroll_
152158
more information), any part time work information, and notes. Fill out the following fields in this
153159
tab:
154160

155-
- :guilabel:`Contract Template`: Using the drop-down menu, select a contract template to use when
156-
making an offer to an applicant.
157-
158-
.. note::
159-
Contract templates are typically created through the **Payroll** app configuration menu, and
160-
stored in the **Documents** app. To view the contract templates, and to create new ones,
161-
navigate to :menuselection:`Payroll app --> Configuration --> Templates`.
162-
161+
- :guilabel:`Contract Template`: Using the drop-down menu, select a :ref:`contract template
162+
<payroll/contract-template>` to use when making an offer to an applicant.
163163
- :guilabel:`Originated Offer`: This field automatically populates with the original offer sent to
164164
the employee. This field is **not** modifiable, and is only populated if applicable.
165165
- :guilabel:`Part Time`: Tick the checkbox if the contract is for part time work. Once enabled, a
@@ -209,8 +209,8 @@ templates are uploaded, modified, and stored.
209209

210210
.. important::
211211
The :guilabel:`PDF Template` fields are only visible if the **Sign** app is installed, along with
212-
the :guilabel:`hr_contract_salary` and :guilabel:`hr_contract_salary_payroll`
213-
:doc:`modules <../../general/apps_modules>`.
212+
the :guilabel:`hr_contract_salary` and :guilabel:`hr_contract_salary_payroll` :doc:`modules
213+
<../../general/apps_modules>`.
214214

215215
.. figure:: contracts/signatories.png
216216
:alt: The Signatories tab with the roles specified for signing.
@@ -279,6 +279,102 @@ After all required parties have signed the contract, the status changes to :guil
279279

280280
All status changes happen automatically as the document is signed.
281281

282+
.. _payroll/contract-template:
283+
284+
Contract templates
285+
==================
286+
287+
Contract *templates* eliminate the need to configure new contracts every time an employee is
288+
hired.
289+
290+
Having multiple contract templates allows for faster contract creation for different types of
291+
employment positions that are commonly filled, such as full time, part time, seasonal, etc.
292+
293+
Contract templates are created through the **Payroll** app configuration menu, and stored in the
294+
**Documents** app.
295+
296+
.. important::
297+
To access contract templates, the **Salary Configurator** (`hr_contract_salary`) module **must**
298+
be :ref:`installed <general/install>`.
299+
300+
To view all contract templates, navigate to :menuselection:`Payroll app --> Configuration -->
301+
Templates`.
302+
303+
The :guilabel:`Contract Templates` page lists all existing templates. Click a template line to open
304+
and edit it.
305+
306+
To create a new contract template, click the :guilabel:`New` button. Then, enter the following
307+
information on the blank contract template form that appears:
308+
309+
- :guilabel:`Contract Reference`: Enter a brief description for the template. This should be clear
310+
and easily understood, as this name appears in the **Recruitment** application, as well.
311+
- :guilabel:`Working Schedule`: Select the desired working schedule the contract applies to from the
312+
drop-down menu. If a new working schedule is needed, create a :ref:`new working schedule
313+
<payroll/new-working-schedule>`.
314+
- :guilabel:`Work Entry Source`: Select :ref:`how the work entries are generated
315+
<payroll/work-entry-source>`.
316+
- :guilabel:`Salary Structure Type`: Select the :ref:`salary structure type
317+
<payroll/structure-types>` from the drop-down menu.
318+
- :guilabel:`Department`: Select the department the contract template applies to from the drop-down
319+
menu. If blank, the template applies to all departments.
320+
- :guilabel:`Job Position`: Select the :ref:`job position <payroll/job-positions>` the contract
321+
template applies to from the drop-down menu. If blank, the template applies to all job positions.
322+
- :guilabel:`Contract Type`: Select the type of contract from the drop-down menu. This list is the
323+
same as the *employment type*.
324+
- :guilabel:`Wage on Payroll`: Enter the monthly wage in the field.
325+
- :guilabel:`HR Responsible`: Select the employee responsible for validating contracts, using this
326+
template, from the drop-down menu.
327+
328+
.. image:: contracts/contract-template.png
329+
:alt: A new contract template form, with the fields filled in.
330+
331+
Salary information tab
332+
----------------------
333+
334+
- :guilabel:`Wage Type`: Select either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage` from the
335+
drop-down menu.
336+
- :guilabel:`Schedule Pay`: Using the drop-down menu, select how often the employee is paid. Options
337+
include :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`,
338+
:guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`,
339+
:guilabel:`Weekly`, or :guilabel:`Daily`.
340+
- :guilabel:`Wage`: Enter the gross wage. The time period presented in this field is based on what
341+
is selected for the :guilabel:`Scheduled Pay` field. It is recommended to populate the
342+
:guilabel:`Yearly Cost (Real)` field *first*, since that entry updates this field automatically.
343+
- :guilabel:`Yearly Cost (Real)`: Enter the total yearly cost the employee costs the employer. When
344+
this value is entered, the :guilabel:`Monthly Cost (Real)` is automatically updated.
345+
- :guilabel:`Monthly Cost (Real)`: This field is **not** editable. The value is automatically
346+
populated after the :guilabel:`Yearly Cost (Real)` is entered.
347+
348+
.. important::
349+
The :guilabel:`Schedule Pay`, :guilabel:`Wage`, and :guilabel:`Yearly Cost (Real)` fields are all
350+
linked. If any of these fields are updated, the other two fields automatically update to reflect
351+
the change. It is best practice to check these three fields if any modifications have been made,
352+
to ensure they are accurate.
353+
354+
.. image:: contracts/salary-information.png
355+
:alt: The salary information tab, with the fields filled in.
356+
357+
Benefits and deductions
358+
~~~~~~~~~~~~~~~~~~~~~~~
359+
360+
Depending on the :doc:`payroll localization <payroll_localizations>` for the company, the entries
361+
presented in this section either vary, or may not appear at all. For example, some entries may
362+
pertain to retirement accounts, health insurance benefits, and commuter benefits.
363+
364+
Enter the monetary amounts or percentages to specify how much of the employee's salary goes to the
365+
various benefits and deductions.
366+
367+
Signatories tab
368+
---------------
369+
370+
This tab outlines which documents the employee must sign to either accept a new offer or an updated
371+
contract.
372+
373+
- :guilabel:`New Contract PDF Template`: Select the default document that a new employee has to sign
374+
to accept an offer.
375+
- :guilabel:`Contract Update PDF Template`: Select the default document that a current employee has
376+
to sign to update their contract.
377+
282378
.. seealso::
283379
- :doc:`../../productivity/documents`
284380
- :doc:`../../productivity/sign`

0 commit comments

Comments
 (0)