@@ -166,57 +166,269 @@ Reporting section
166166 :align: center
167167 :alt: New work entry type form with all fields to be filled in.
168168
169- .. _payroll/working-times :
169+ Salary
170+ ======
170171
171- Working schedules
172- -----------------
172+ .. _payroll/structure-types :
173173
174- To view the currently configured working schedules, go to :menuselection: `Payroll app -->
175- Configuration --> Work Entries --> Working Schedules `. The working schedules that are available for
176- an employee's contracts are found in this list.
174+ Structure types
175+ ---------------
177176
178- Working schedules are company-specific. Each company **must ** identify each type of working schedule
179- they use. If the database is created for only one company, the company column is not available.
177+ In Odoo, structure types are used to identify group of people referring to the same payroll rules.
178+ A structure type contains specific options and a subset of structures that will be used according
179+ the situation.
180180
181- .. example ::
182- An Odoo database containing multiple companies that use a standard 40-hour work week needs to
183- have a separate working schedule entry for each company that uses the 40-hour standard work week.
181+ In Odoo, an employee's payslip is based on *structures * and *structure types *, which both affect how
182+ an employee enters timesheets. Each structure type is an individual set of rules for processing a
183+ timesheet entry, which consists of different structures nested within it. Structure types define how
184+ often an employee gets paid, the working hours, and if wages are based on a salary (fixed) or how
185+ many hours the employee worked (varied).
186+
187+ For example, a structure type could be `Employee `, and that structure type could have two different
188+ structures in it: a `Regular Pay ` structure which includes all the separate rules for processing
189+ regular pay, as well as a structure for an `End of Year Bonus ` which includes the rules only for the
190+ end of year bonus. Both the `Regular Pay ` structure and `End of Year Bonus ` structure are structures
191+ within the `Employee ` structure type.
192+
193+ The different :guilabel: `Structure Types ` can be seen by navigating to :menuselection: `Payroll app
194+ --> Configuration --> Salary: Structure Types `.
195+
196+ Two default structure types are configured in Odoo: :guilabel: `Employee ` and :guilabel: `Worker `.
184197
185- A database with five companies that all use a standard 40-hour work week needs to have five
186- separate 40-hour working schedules configured.
198+ Typically, :guilabel: `Employee ` is used for salaried employees, which is why the wage type is
199+ :guilabel: `Monthly Fixed Wage `, and :guilabel: `Worker ` is typically used for employees paid by the
200+ hour, so the wage type is :guilabel: `Hourly Wage `.
187201
188- .. image :: payroll/working-schedules .png
202+ .. image :: payroll/structure-type .png
189203 :align: center
190- :alt: All working schedules available to use currently set up in the database for the company.
204+ :alt: List of all currently configured structure types available to use.
205+
206+ .. _payroll/new-structure-type :
207+
208+ New structure type
209+ ~~~~~~~~~~~~~~~~~~
210+
211+ To make a new structure type, click the :guilabel: `New ` button, and a blank structure type form
212+ appears.
213+
214+ Proceed to enter information in the fields. Most fields are pre-populated, but all the fields can be
215+ modified.
216+
217+ - :guilabel: `Structure Type `: enter the name for the new structure type, such as `Employee ` or
218+ `Worker `.
219+ - :guilabel: `Country `: select the country that the new structure type applies to from the drop-down
220+ menu.
221+ - :guilabel: `Wage Type `: select what type of wage the new structure type uses, either
222+ :guilabel: `Fixed Wage ` or :guilabel: `Hourly Wage `.
223+
224+ If the type is to be used for salaried employees, who receive the same wage every pay period,
225+ select :guilabel: `Fixed Wage `.
226+
227+ If the type is to be used for employees, who receive wages based on how many hours they worked
228+ during a pay period, select :guilabel: `Hourly Wage `.
229+ - :guilabel: `Default Scheduled Pay `: select the typical pay schedule for the new structure type from
230+ the drop-down menu. Options are :guilabel: `Monthly `, :guilabel: `Quarterly `,
231+ :guilabel: `Semi-annually `, :guilabel: `Annually `, :guilabel: `Weekly `, :guilabel: `Bi-weekly `,
232+ :guilabel: `Bi-monthly `. This indicates how often this specific type of structure is paid out.
233+ - :guilabel: `Default Working Hours `: select the default working hours for the new structure type
234+ from the drop-down menu. All available working hours for the currently selected company appear in
235+ the drop-down menu. The default working hours that are pre-configured in Odoo is the
236+ :guilabel: `Standard 40 hours/week ` option. If the needed working hours do not appear in the list,
237+ a :ref: `new set of default working hours can be created <new-default-working-hours >`.
238+ - :guilabel: `Regular Pay Structure `: type in the name for the regular pay structure. It will be
239+ used as the default option when generating payslips.
240+ - :guilabel: `Default Work Entry Type `: For employees whose contracts is referred under this
241+ structure type, the main work entry type used for all period of work is defined here. It will
242+ commonly be set as **Attendance **,
243+ :guilabel: `Overtime Hours `, :guilabel: `Generic Time Off `, :guilabel: `Compensatory Time Off `,
244+ :guilabel: `Home Working `, :guilabel: `Unpaid `, :guilabel: `Sick Time Off `, :guilabel: `Paid Time
245+ Off `, :guilabel: `Out Of Contract `, :guilabel: `Extra Hours `, and :guilabel: `Long Term Time Off `.
246+
247+ To view all the options for the :guilabel: `Default Work Entry Type `, click the :guilabel: `Search
248+ More.. ` button at the bottom of the drop-down list.
249+
250+ Depending on the localization settings, this list may contain more options in addition to the
251+ default options.
252+
253+ .. image :: payroll/new-structure.png
254+ :align: center
255+ :alt: New structure type form to fill out when creating a new structure type.
256+
257+ .. _new-default-working-hours :
258+
259+ New default working hours
260+ ~~~~~~~~~~~~~~~~~~~~~~~~~
261+
262+ To make new default working hours, type the name for the new working hours in the :guilabel: `Default
263+ Working Hours ` field on the new structure type form. Click :guilabel: `Create and edit `. A default
264+ working hours form pops up. The default working hours form has two sections, a general information
265+ section and a tab listing out all the individual working hours by day and time. When the form is
266+ completed, click :guilabel: `Save & Close `.
267+
268+ - :guilabel: `Name `: type in the name for the new default working hours. This should be descriptive
269+ and clear to understand, such as `Standard 20 Hours/Week `.
270+ - :guilabel: `Company `: select the company that can use these new default working hours from the
271+ drop-down menu. Blank field means it's available for all companies.
272+ - :guilabel: `Average Hour Per Day `: the average hours per day field is auto-populated, based on the
273+ working hours configured in the :guilabel: `Working Hours ` tab. This entry affects resource
274+ planning, since the average daily hours affect what resources can be used, and in what quantity,
275+ per work day.
276+ - :guilabel: `Timezone `: select the time zone to be used for the new default working hours from the
277+ drop-down menu.
278+ - :guilabel: `Company Full Time `: enter the number of hours per week an employee would need to work
279+ to be considered a full-time employee. Typically, this is approximately 40 hours, and this number
280+ affects what types of benefits an employee can receive, based on their employment status
281+ (full-time vs part-time).
282+ - :guilabel: `Work Time Rate `: this percentage is auto-generated based on the entry for the
283+ :guilabel: `Company Full Time ` and the working hours configured in the :guilabel: `Working Hours `
284+ tab. This number should be between `0.00% ` and `100% `, so if the percentage is above `100% `, it is
285+ an indication that the working times and/or :guilabel: `Company Full Time ` hours need adjustment.
286+ - :guilabel: `Working Hours ` Tab: this tab is where each day's specific working hours are listed.
287+ When a new default working hour form is created, the :guilabel: `Working Hours ` tab is
288+ pre-populated with a default 40-hour week, with each day divided into three timed sections.
289+
290+ Every day has morning (8:00-12:00), lunch (12:00-13:00), and evening (13:00-17:00) hours
291+ configured, using a 24 hour time format.
292+
293+ To adjust any of these hours, click on the specific field to adjust, and make the adjustment using
294+ the drop-down menus, or in the specific case of the times, type in the desired time.
295+
296+ Keep in mind, working hours are company-specific, and cannot be shared between companies. Each
297+ company needs to have their own working hours set.
298+
299+ .. note ::
300+ If the working hours are not consistent each week, and the hours are on a bi-weekly schedule
301+ instead, click the :guilabel: `Switch to 2 week calendar ` button at the top of the new default
302+ working hours form. This changes the :guilabel: `Working Hours ` tab to display two weeks of
303+ working times that can be adjusted.
304+
305+ Structures
306+ ----------
191307
192- .. _payroll/new-working-schedule :
308+ *Salary structures * are the different situations an employee could be paid within a specific
309+ *structure *, and are specifically defined by various rules.
193310
194- New working schedule
195- ~~~~~~~~~~~~~~~~~~~~
311+ The amount of structures a company needs for each structure type depends on how many different ways
312+ employees are paid, and how their pay is calculated. For example, a common structure that could be
313+ useful to add may be a `Bonus `.
196314
197- To create a new working schedule, click the :guilabel: ` New ` button, and enter the information on the
198- form .
315+ To view all the various structures for each structure type, go to :menuselection: ` Payroll app -->
316+ Configuration --> Salary --> Structures ` .
199317
200- The fields are auto-populated for a regular 40-hour work week but can be modified. First, change the
201- name of the working time by modifying the text in the :guilabel: `Name ` field. Next, make any
202- adjustments to the days and times that apply to the new working time.
318+ Each :ref: `structure type <payroll/structure-types >` lists the various structures associated with
319+ it. Each structure contains a set of rules that define it.
203320
204- In the :guilabel: `Working Hours ` tab, modify the :guilabel: `Day of Week `, :guilabel: `Day Period `,
205- and :guilabel: `Work Entry Type ` selections by clicking on the drop-down menus in each column and
206- making the desired selection. The :guilabel: `Work From ` and :guilabel: `Work To ` columns are modified
207- by typing in the time.
321+ .. image :: payroll/salary-structure.png
322+ :align: center
323+ :alt: All available salary structures.
208324
209- .. note ::
210- The :guilabel: `Work From ` and :guilabel: `Work To ` times must be in a 24-hour format. For example,
211- `2:00 PM ` would be entered as `14:00 `.
325+ Click on a structure to view its :guilabel: `Salary Rules `. These rules define how the payslip will
326+ be computed for the employee.
327+
328+ .. image :: payroll/structure-regular-pay-rules.png
329+ :align: center
330+ :alt: Salary structure details for Regular Pay, listing all the specific Salary Rules.
331+
332+ Rules
333+ -----
334+
335+ Each structure has a set of salary rules used to compute the various amounts considered in the pay.
336+ These rules are configured by the localization and affect the computation of the salaries. Modification
337+ or creation of rules should only be done when necessary.
338+
339+ To view all the rules, go to :menuselection: `Payroll app --> Configuration --> Salary --> Rules `.
340+ Click on a structure (such as :guilabel: `Regular Pay `) to view all the rules.
341+
342+ To make a new rule, click :guilabel: `New `. A new rule form appears. Enter the following information
343+ in the fields.
344+
345+ Top section
346+ ~~~~~~~~~~~
347+
348+ - :guilabel: `Rule Name `: enter a name for the rule. This field is required.
349+ - :guilabel: `Category `: select a category the rule applies to from the drop-down menu, or enter a
350+ new one. This field is required.
351+ - :guilabel: `Code `: enter a code to be used for this new rule. This field is required.
352+ - :guilabel: `Sequence `: enter a number indicating when this rule is calculated in the sequence of
353+ all other rules.
354+ - :guilabel: `Salary Structure `: select a salary structure the rule applies to from the drop-down
355+ menu, or enter a new one. This field is required.
356+ - :guilabel: `Active `: enable this toggle, so the rule is available for use. Disable the toggle to
357+ continue to show it on the payslip, but skip the computation.
358+ - :guilabel: `Appears on payslip `: tick the checkbox to have the rule appear on employee printed
359+ payslip.
360+ - :guilabel: `View on Employer Cost Dashboard `: tick the checkbox to have the rule appear on the
361+ :guilabel: `Employer Cost ` report, located on the *Payroll * app dashboard.
362+ - :guilabel: `View on Payroll Reporting `: tick the checkbox to have the rule appear on payroll
363+ reports.
364+
365+ .. image :: payroll/new-rule.png
366+ :align: center
367+ :alt: Enter the information for the new rule on the new rule form.
368+
369+ General tab
370+ ~~~~~~~~~~~
371+
372+ Conditions
373+ **********
374+
375+ - :guilabel: `Condition Based on `: select from the drop-down menu whether the rule is
376+ :guilabel: `Always True ` (always applies), a :guilabel: `Range ` (applies to a specific range, which
377+ is entered beneath the selection), or a :guilabel: `Python Expression ` (the code is entered beneath
378+ the selection). This field is required.
379+
380+ Computation
381+ ***********
382+
383+ - :guilabel: `Amount Type `: select from the drop-down menu whether the amount is a :guilabel: `Fixed
384+ Amount `, a :guilabel: `Percentage (%) `, or a :guilabel: `Python Code `. Depending on what is
385+ selected, the fixed amount, percentage, or Python code needs to be entered next. This field is
386+ required.
387+
388+ Company contribution
389+ ********************
390+
391+ - :guilabel: `Partner `: if another company financially contributes to this rule, select the company
392+ from the drop-down menu.
393+
394+ Description tab
395+ ~~~~~~~~~~~~~~~
396+
397+ Provide any additional information in this tab to help clarify the rule. This tab only appears in
398+ the rule form.
399+
400+ Accounting tab
401+ ~~~~~~~~~~~~~~
402+
403+ - :guilabel: `Debit Account `: select the debit account from the drop-down menu the rule affects.
404+ - :guilabel: `Credit Account `: select the credit account from the drop-down menu the rule affects.
405+ - :guilabel: `Not computed in net accountability `: If checked, the amount of the rule will be show
406+ independantly from the Net Salary, to allow a better reporting in Accounting.
407+
408+ Other input types
409+ -----------------
410+
411+ When creating payslips, it is sometimes necessary to add other entries for specific circumstances,
412+ like expenses, reimbursements, or deductions. These other inputs can be configured by navigating to
413+ :menuselection: `Payroll app --> Configuration --> Salary --> Other Input Types `.
414+
415+ .. image :: payroll/other-input.png
416+ :align: center
417+ :alt: A list of other input types for payroll that can be selected when creating a new entry for
418+ a payslip.
419+
420+ To create a new input type, click the :guilabel: `New ` button. Enter the :guilabel: `Description `, the
421+ :guilabel: `Code `, and which structure it applies to in the :guilabel: `Availability in Structure `
422+ field.
212423
213- If the working time should be in a two-week configuration, click the :guilabel: `Switch to 2 weeks
214- calendar ` button in the top-left. This creates entries for an :guilabel: `Even week ` and an
215- :guilabel: `Odd week `.
424+ .. important ::
425+ The :guilabel: `Code ` is used in the salary rules to compute payslips. If the
426+ :guilabel: `Availability in Structure ` field is left blank, it indicates that the new input type
427+ is available for all payslips and is not exclusive to a specific structure.
216428
217- .. image :: payroll/new-working-schedule .png
429+ .. image :: payroll/input-type-new .png
218430 :align: center
219- :alt: New working schedule form.
431+ :alt: A new Input Type form filled in .
220432
221433.. _payroll/salary-attachment-types :
222434
@@ -496,6 +708,7 @@ form.
496708 - :doc: `payroll/contracts `
497709 - :doc: `payroll/salaries `
498710 - :doc: `payroll/work_entries `
711+ - :doc: `payroll/working_schedules `
499712 - :doc: `payroll/time_off_to_report `
500713 - :doc: `payroll/salary_attachments `
501714 - :doc: `payroll/payslips `
@@ -512,6 +725,7 @@ form.
512725 payroll/contracts
513726 payroll/salaries
514727 payroll/work_entries
728+ payroll/working_schedules
515729 payroll/time_off_to_report
516730 payroll/salary_attachments
517731 payroll/payslips
0 commit comments