Reverse Tax Engine – Payroll USA

Hello Community,

This blog post is intended to provide information on the Reverse Tax Engine enhancement recently delivery for Payroll USA.

The system had to be improved as BSI now requires negative input wages to be calculated exclusively by the Reverse Tax Engine while positive input wages to be calculated exclusively by the Regular Tax Engine.

The intention is to keep this blog post up to date with any new information we have on this topic, as well as tips and best practices. Feel free to use it as an open space to start any discussion you have on the given topic.

Main Note

3088446 – BSI: Updates to TaxFactory 11.0 reverse engine processing.

Correction Notes

3218134 – TAX: Reverse engine log being displayed incorrectly.
3225302 – TAX: No taxes calculated for employee with negative gross-up.

Setting the Reverse Tax Engine on the system

The Reverse Tax Engine is controlled by option ADTMD from view V_T5F99K2:

One import point to mention is on the Start Date to set for this option. Since the Reverse Tax Engine should be used even on retroactive scenarios, the start date should be set as 01/01/1800, as shown above.

The Reverse Tax Engine is mandatory to be used on BSI TaxFactory 11.0 on scenario with negative amounts. Further instructions on that can be found on KBA 2984562 (Reverse Tax Engine TaxFactory 11.0).

Also, the new delivery made by note 3088446 has introduced the splits that the system will do between the Reverse Tax Engine and Regular Tax Engine. This is required as of BSI TaxFactory 11.0 Cyclic H.

These splits are controlled by option BSIRS from view V_T5F99K2. By default, this option is delivery as ON, which means that it is not necessary to keep it on view V_T5F99K2 to enable the splits. The use for this option is just if you wish to turn off the splits for some specific reason, while your system has not been updated to Cyclic H yet. On this case, the start date may be set as 01/01/1800. Also, as soon as Cyclic H is applied on your system, you should either remove the entry for option BSIRS on view V_T5F99K2 or change it to ON. Otherwise, BSI will raise errors and not compute any tax on scenarios with negative amounts.

Understanding how the Reverse Tax Engine behaves on the system

The Reverse Tax Engine should be used on BSI TaxFactory 11.0 in scenarios with negative amounts. On another words, it will be called if option ADTMD is turned ON on view V_T5F99K2 and the BSI Interface has a negative input, that is, a negative Net Wage (NW) or at least one Tax Type with a negative Pay Period Wage (PW).

On the BSI Interface, that’s easily identified as the system will send the parameter ET: 3, as shown bellow:

On this example, you can see that the the NW parameter holds a negative amount, which explains why the system is calling the Reverse Tax Engine and sending the parameter ET: 3 on the BSI Interface.

In scenarios with just positive amounts in which the Reverse Tax Engine is not used, the system will call the Regular Tax Engine and send the ET parameter as ET: 0, as you can see it here:

There are scenario in which you will see the following BSI Messages raised on the payroll log:

  • 2026 NO TAXES HAVE BEEN CALCULATED. TAX ADJUSTMENTS CONTAINING NEGATIVE PAY PERIOD WAGES OR PAYMENTS MUST BE PROCESSED THROUGH THE PROCESSREVERSETAXES API CALL
  • 2028 INPUT PAY PERIOD WAGES/EARNINGS MUST NOT BE GREATER THAN ZERO. REVERSE TAX ENGINE CANNOT ACCURATELY CALCULATE GROSS RESULTS FOR A TAX ADJUSTMENT USING POSITIVE INPUTS

These messages are raised when there are negative inputs to be handled, but option ADTMD from view V_T5F99K2 is turned OFF. So, please make sure to keep it activated.

Conclusion

The Reverse Tax Engine enhancement has changed the way the system handles negative inputs and may be used in many different business scenarios. As the new delivery for the splits is required to be used as from BSI TaxFactory 11.0 Cyclic H, it is important to understand how it has changed the system’s behavior.

By this blog post, I’m hoping I could make this delivery easier to understand, as well as providing you some valuable tips. In case you have any questions, feel free to post it here.