Historic Rates

Historic rates is a function that retrieves a datetracked money value and recalculates it according to different time-dimensions (converting a daily wage to hourly). Historic rates is primarily for use in FastFormulas. You can use it to determine employee payments at the rate that existed when the work was done, rather than at the current rate. For example: If you pay your employees in arrears, you can calculate the value of the arrears payment.

Historic rates apply to notional rates only and not to actual rates

Example

An employee may earn $50 an hour. Assuming a 40 hour work week, their notional rate would be $2000 a week. However, that employee might have only worked 10 hours during a particular week. Therefore, their actual rate for that week would be $500.

Historic rates are the values of a specific element or combination of elements, based on a specified time dimension, at a specified date. You can vary the rate according to different factors, such as:

Rate Type Information

For most rate calculations, a single element provides the pay rate. However, some rate calculations are the sum of multiple elements. For example: A holiday rate could be basic pay (held as a progression point) plus shift allowance (an input value) plus bonus (a global value). A rate type is a grouping of elements that comprise a single pay rate.

Different rate types can use the same element. For example: A rate type for holiday and another for sickness can both use the same basic pay element.

Use the Historic Rate - Rate Type element EIT to store the rate type name and description against each element. You create additional rate types by adding values to the lookup type PQP_RATE_TYPE.

Element and Contract Attribution

To calculate pay using historic rates, use the GET_HISTORIC_RATE function in your payroll formula. This function returns the rate. The parameters for the function are:

For sample formulas using this function, see: Sample Rates History Formula

The function uses attribution at two levels to calculate the correct values:

Note: The Contract level is available only if your localization has enabled it.

Element Attribution Information

Use the Historic Rate - Element Attribution (an element EIT) to store the following information against each element that has a historic rate:

Example

For example, assume an assignment has an element entry for a Salary element and the element has the following attribution:

Time dimension = Hourly, Source = Grade Rate, Qualifier = Grade Rate 1

The function can retrieve the salary from Grade Rate 1 at any time and convert the time dimension from hours to annual or another dimension.

If you store rates for this payment using more than one grade rate or scale rate, you can use wildcards to enable you to select the latest value in the Qualifier field. For example: If the rate for salary can be held in Sal Scale Rate 1 or Sal Scale Rate 2, you can make the wildcard entry Sal Scale Rate % in the Qualifier field. The historic rates function then retrieves the value with the latest effective date.

Contract Table

The Contract Table is available only to those localizations that have enabled it. The structure of this table is defined by the localization. The user must specify the values.

Mexico only: This table is defined and maintained by the localization. It is not available to users.

Use the PQP_CONTRACT_TYPES predefined user-defined table to store the following information about your employee contract details:

Value Definition
Annual Hours Number of contract annual hours. Use this figure in the conversion of the derived rate to an output time dimension of "H" (Hourly Rate). Also use Annual Hours as a required figure when calculating Full Time Equivalent (FTE).
Days Divisor Number of contract days in a year. This divisor is normally 365. Use it in the conversion of the derived rate to an output time dimension of "D" (Daily Rate).
Period Divisor Number of periods per year used to calculate an output time dimension of "P" (Periodic Rate). Use a divisor that corresponds to the working hours shown on the Assignment window. For example: Weekly working hours have 52 as the Period Divisor. Also use Period Divisor as a required figure when calculating Full Time Equivalent (FTE).
Weekly Payroll Divisor Number of periods per year, such as 52. Use the weekly payroll divisor to convert a periodic value into an annual value when Periodic - Payroll Frequency is the time dimension for the element, and the payroll is weekly or bi-weekly.
Monthly Payroll Divisor Number of periods per year, such as 12. You use the monthly payroll divisor to convert a periodic value into an annual value when you select Periodic - Payroll Frequency as the time dimension for the element and the employee has a payroll frequency of Calendar Month, Lunar Month, Bi-Month, Quarter, Semi-Year, or Year.

When you have entered the required information to the PQP_CONTRACT_TYPES table, you can also add the following:

Value Definition
Overtime Annual Hours Number of annual hours used to calculate an output time dimension of "O" (Overtime Hourly Rate).
Annual Term Time Hours Calculates the adjustment value for the derived rate. If you enter a value for this column, and for the Annual Hours column, this adjusts the derived rate by a factor of Annual Term time Hours divided by Annual Hours.
Employment History Factor Value the function uses to adjust the historic rate for length of service. There are five bands within this category. For each of band you can define the following:
  • Service History Band Lower Limit: Minimum number of years service required to qualify for this adjustment factor.

  • Service History Band Upper Limit: Maximum number of years applicable for this adjustment factor.

  • Service History Band Adjustment Factor (%): Percentage factor by which the function increments the derived rate.


The historic rates function uses this information about each contract type to convert values held for one time dimension to another dimension. For example: If a rate is held hourly and needs to be returned as a daily rate, the function calculates an annual value by multiplying the rate by Annual Hours, then divides this by the Days Divisor.

Time Dimensions

Time dimensions are closely tied to contracts. If you have a time dimension, you must use contract types. If you are doing a conversion between two time dimensions, you must refer to a contract.

You define source time dimensions in the PQP_TIME_DIMENSIONS extensible lookup type. Whenever you add a new dimension to this lookup, you must also make a corresponding entry in the PQP_TIME_DIMENSION_FACTORS lookup type. This corresponding entry ensures that your output time dimensions map correctly to the annualization factor in the PQP_CONTRACT_TYPE user table.

PQP_TIME_DIMENSIONS

Code Meaning Description
A Annual Annual
D Daily Daily
H Hourly Hourly
P Periodic Periodic
PAY Periodic - Payroll Frequency Periodic - Payroll Frequency

PQP_TIME_DIMENSION_FACTORS

Code Meaning Description
A Reserved Per Annum Frequency Annual
D DAYS DIVISOR Daily
H ANNUAL HOURS Hourly
O ANNUAL OVERTIME Overtime Hourly
P PERIOD DIVISOR Periodic - Contract Period
PAY Reserved Pay Period Frequency Periodic - Pay Period Frequency.

The GET_HISTORIC_RATE function converts the element rate into an annual rate before converting to the given output time dimension. Therefore, not all output time dimensions need a corresponding source time dimension. For example, you can retrieve the overtime hourly rate (time dimension "O") without defining a rate with a source frequency of Overtime Hourly.

See: Setting Up Custom Time Dimensions for Historic Rates