Payroll Processor
The payroll processor allows to group employees/contractors, especially with different regulations.
The main attributes are:
- Type - Weekly or Monthly
- First Day of Week (defaults to Sunday if not defined)
- Overtime min hours/week (default, can be overwritten in Resource)
- Default - for Resources which do not have a Payroll Processor assigned
You can also define here a cut-off date (close date) for Time and Expense entries.
Payroll Period
You need to define your payroll periods with a
- unique name
- payroll processor
- start date
- end date
The Date Range should not overlap and be in sync with the Timesheet range (week start). If this is not the case, the first applicable (not closed) payroll period will be used. Once you closed a payroll period, you can create a new one for the same date range - e.g. for late Timesheets or adjustments.
You can define parallel Payroll Periods for different user groups - e.g. US and Canadian employees.
Payroll Codes
You can define multiple payroll codes which are used as summary levels in the Payroll Periods. For the normal time, you would not select any of the indicators. For Holiday and Vacation, it is best practice to create Projects, so that users can use the normal Timesheet entry to specify off-time. Alternatively, you could also use Activity Types, but you should make sure that the payroll codes used in Projects and Activity Types are consistent.
Payroll Code Priorities
You can define the payroll code in different parts of the system. This is the priority hierarchy to derive the payroll code:
- Activity Type
- Project
- Resource
- User
- Custom Setting - Payroll Settings (fallback)
Payroll Reporting Flow
After Timesheets have been entered and approved, the Payroll Periods needs to be updated. This can be done manually in the Payroll Period via the Update Period button - or via a scheduled Apex Class (PayrollUpdate).
If you have Overtime rules, you would run the overtime calculation via the Calculate Overtime button after you closed the period. You can (re) run the overtime calculation multiple times - also before you close the period to validate the calculation.
Users (and their Managers) can view their reported hours in the Payroll View tab by selecting the payroll period.
Payroll Summary
The Payroll Summary is a reporting entity. It summarizes the values Daily by
- Payroll Period, User and
- optionally Project / Phase / Line / Activity Type / Rework / Billable.
You set the summary level in the Custom Settings in "Payroll Settings" for Summary. Note that changes are effective for new transactions. To change existing summaries, you need to recalculate the period.
Payroll Entry
This is the underlying entity for Payroll View and allows how to summarize the entries - by
- Payroll Period, User, Payroll Code and
- optionally Project / Phase / Line / Activity Type / Rework / Billable.
You set the summary level in the Custom Settings in "Payroll Settings" for Entry. Note that changes are effective for new transactions. To change existing entries, you need to recalculate the period.
Payroll Setup Steps (Basic)
Payroll Processor
- Create at least one (default) Payroll processor. The main selection here is the week start day (changing the week start day with existing data may result in inconsistent reporting)
- Specify the weekend days for overtime calculation (if used) - Weekend days can be overwritten by Resource
Payroll Type
- Create a Payroll type for all time categories you report to the Payroll System
- Typical values are: Salaried (Exempt), Hourly
- Depending on your setup, you may have just one PTO (Paid Time Off) or differentiate it, e.g. PTO Planned (Vacation), PTO Unplanned, (Sick leave), Statutory Holidays, ...
Project
- Create a Project (or Project Line) for all PTO (Paid Time Off) options, e.g. Vacation, Sick, Holiday, ... and link it to the corresponding Payroll Type.
Resource
- For each resource, select the Payroll Processor (if more than one)
- and the default Payroll Code (e.g. Salaried, Hourly)
Payroll Period(s)
- Create your Payroll Period(s).
- Click on Process Period- or on the individual steps
- Update Period - Entry/Summary Overtime - Entry/Summary Limit
Payroll Setup Steps (Overtime)
This sets up overtime calculations for Hourly employees.
Payroll Type
- Create an Overtime Payroll Type with the Overtime Type Credit for each type of overtime (multiplier).
- i.e. you may have normal overtime and overtime on weekends. - Update the e.g. Hourly Payroll Type with the Overtime Payroll Type
- i.e. the type of work which then Overtime is calculated - Create an Overtime Payroll Type with the Overtime Type Debit. This is the use of the accrued overtime.
Resource
- Optionally enter the Overtime min hours/week - e.g. 40
- The entry on Resorce overwrites the Overtime min/week value on the Payroll Processor
Time Entry (Project, Activity Type)
- Enter the hours eligible for overtime referencing a project (or Activity Type) that is linked to the work Payroll Type (linking to the Overtime). A user would not enter directly the Overtime Payroll codes
setup Payroll Periods, etc. & run calculate overtime
Payroll Setup Steps (Limit)
Salaried (exempt) employees are not paid overtime. Sometimes, the Payroll System requires that only 40 hours are reported. In this case, the reported hours are capped for reporting (and booked to a different Payroll Code).
Payroll Code
- Create a Payroll Code for Limit
Resource
- In Payroll Period Limit, enter the max hours to be reported, e.g. 40
- Select the Payroll Code for Limit
- Optionally, you can book these hours to a 'management hours' project - create the Project/Phase/Line and reference it in the Resource Field Payroll Period Limit
Payroll Period Processes
The general processes are
- Update Payroll Period (i.e. create Payroll Entry and Summary records from approved TE Items for the timeframe)
- Reset Payroll Period (i.e. delete all Payroll Entry and Summary records)
Then there are processes that apply only to the Payroll Entry or Payroll Summary records
- Calculate Overtime (based on the info on Resource/Payroll Processor)
- Limit Time (cap time, e.g. to 40h for salaried employees)
and
- Process Period (which runs Reset, Update, Calculate Overtime for Entry/Summary and Calculate Limit for Entry/Summary) -- you may only run this if all the steps are calculated in this sequence.