How to automatically generate Bonus to Payroll based on User Defined Formula every year?

You can defined an User-Defined Formula in Employee Class to automatically generating Bonus amount to employee by Employee Class every year.

In Employee Class, Auto Bonus tab

When Enable Auto Bonus is checked, HRPro will calculate the Year End Bonus/Double Pay/13th month salary according to the Formula defined and release at the Auto Bonus Release Month.

Auto Bonus Pay Type - The Pay Type that the Bonus will be released to, options are Bonus, Double Pay and Pay Type 1 to 15.

Auto Bonus Cover Period - The Payroll Periods that the Formula referring to.

Auto Bonus Release Month - The period that the payroll batch included that year end bonus amount (e.g. if it is 2, then the Bonus will be calculated and included in February Payroll Batch). Available values are 1 to 12 and Month of Contract End Date.

Exclude Employees with less than 1 year of service - No bonus if less than 1 year of service

Exclude Employees before Probation End Date - No bonus if Probation End Date is before bonus cover period end date.

Formula - Refer to User Defined Formula to define the formula.

These Five variables are specially designed for Auto Bonus

[BonusAverageRegardedWages] - Using the statutory Average Month Wage to calculate the bonus. The Regarded Month is based on Auto Bonus Cover Period.

[BonusLastBasicWages] - Read the Basic Salary in Salary Info or Appointment History (depending on the option Consider Appointment History). If it is consider Appointment History, the Auto Bonus Cover Period is respected.

[BonusAverageBasicWages] - Read all Basic Salary figures in Appointment History tab within the Auto Bonus Cover Period, average and return the result. Valid only Consider Appointment History is turned on.

[BonusEmploymentDays] - Number of Employment Days within the Cover Period

[BonusElapseDays] - Number of Calendar Days within the Cover Period (usually it is 365 except when the Bonus Cover Period covered Feb 29 of leap year, then it is 366)

e.g. [BonusLastBasicWages] * [BonusEmploymentDays] / [BonusElapseDays]