Sample Configuration for Salary Sacrifice

This is a sample solution to administer salary sacrifice for employees who might want to use it partially, fully, or abstain from it.

  • Set up regular and irregular earnings

    To do this, you must configure the Standard Earnings element that feeds all the balances including Pensionable Earnings.

  • Set up salary sacrifice element
    • Create the Salary Sacrifice element using the earnings element templates and ensure that it contains an input value of Employee Reduction Percentage.
    • The priority of the salary sacrifice earnings element should be such that it runs after all other earnings elements. You can define this in the Elements task.
    • The Salary Sacrifice element must be an Earnings element.

    • The Pay Value must be negative. Here's a recommended calculation that you can use:

      Pay_Value = round (<Element_Name>Pensionable Earnings_ASG_RUN * Employee Reduction Percentage / 100, 2) * -1
    • Apart from the usual balances, the element must feed these balances:
      • Pensionable Earnings
      • Taxable Pay
      • NIable Pay
      • Own primary balance, which is referenced by the corresponding pension deduction fast formula. In this example, it is Earning Sacrifice for Pension1.

Configure Pension Element

The pension element already contains values for the employee and employer contribution percentages. However, you might have employees with more than one pension scheme, and only one pension scheme is subject to salary sacrifice. Ensure you reduce the salary by the reduction percentage applied to the pensionable earnings that's subject to salary sacrifice. It should not apply to all the pensionable earnings applicable to both pension schemes.

The Pension element feeds all the usual balances for the classification.

The Salary Sacrifice contribution is not recorded as an Employee Contribution, but as an Employer Contribution. The fast formula needs adjusting:

You can edit the fast formula to reference the Earnings Sacrifice for Pension1 _PTD or _RUN balance. If this does not equal zero implying this employee has contractually agreed to a salary sacrifice reduction, the employee contribution is reduced by the salary sacrifice already made as shown here:

Employee_Contribution = 
GREATEST(0, (ROUND(employee_pensionable_earnings * (employee_pension_Contribution_percentage / 100),2))
 - (-1 * Earnings Sacrifice For Pension1_RUN))
Note: This approach implies that the employee % includes the Salary Sacrifice %. This also allows the employee to make an additional pension contribution, over and above the salary Sacrifice contribution. If there is such an additional employee contribution, it is posted to the usual balances. This represents an additional employee contribution in addition to the Salary Sacrifice contribution.

The Employee Contribution should feed either Pre-Tax Pension Contributions or Post Tax Pension Contributions if it’s a voluntary contribution, to ensure the Full Payment Submission (FPS) is correct. The Employee Contribution must negatively feed Taxable Pay, but not NIable Pay.

The Employer contribution consists of two components:

  • The usual calculation of the Employer Contribution.
  • The value of the balance Earnings Sacrifice for Pension _RUN * -1 (to convert it to a positive additional employer contribution).
    • This value (made of two components) is posted to the usual balances

Additionally, you might require a separate balance of just the salary sacrifice pension contribution. This could be an additional balance, fed by an additional input value created using the element template manually. You can then reference this in reports for pension deduction and reconciliation purposes, for example, balance Employer Sacrifice Contribution.

Additional Considerations

The recommended solution makes the following assumptions:

  • The element entry for salary sacrifice is available only if the employee has agreed to undertake salary sacrifice. You must manually create the element entry, there's no automated mechanism to create the entry.
  • If the element entry for salary sacrifice is present, the employee is enrolled, and the deduction is taken for this period. In rare cases with auto-enrol and opt-out, the person might be removed from the pension scheme, but the salary sacrifice is still taken. You can address this by:
    • Amending the Salary Sacrifice formula to check the enrolment status of the employee. In case the person is contributing to more than one pension scheme, a named pension scheme could be used. An additional input value can hold this.
    • Having a further element for all employees regardless of their enrolment status that runs after pension deductions are complete to check that the balance value ‘Earnings Sacrifice For Pension _RUN’ = Employer Sacrifice Contribution_RUN. Raise an error if they don’t balance.
    • Additionally, instead of just a Percentage for salary sacrifice reduction, you might want to have the option of a further input value to hold an absolute amount of deduction to be taken each period. You must maintain this value in case if earnings changes or payroll frequency changes.