Reverse Tax Engine – Payroll USA
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.
3088446 – BSI: Updates to TaxFactory 11.0 reverse engine processing.
3218134 – TAX: Reverse engine log being displayed incorrectly.
3239725 – TAX: Taxes not calculated when positive Gross Wages are sent to the Reverse engine.
3225302 – TAX: No taxes calculated for employee with negative gross-up.
3255591 – BSI: Incorrect refund for negative additional payment in Reverse Tax Engine.
FAQ – Frequently Asked Questions
1. How is the Reverse Tax Engine activated on the system?
As soon as note 3088446 is applied on your system, the Reverse Tax Engine is activated by default. However, you still need to make sure that method ALLOW_NEG_TAXABLES of BAdI PC10_PAY0002 is implemented on your system, allowing negative values be considered.
2. Is the Reverse Tax Engine mandatory to be used?
The Reverse Tax Engine should be used in BSI TaxFactory 11.0 in scenarios with negative amounts. Also, the splits of the BSI Interface between the Regular Tax Engine and Reverse Tax Engine is required as of BSI TaxFactory 11.0 Cyclic H.
3. Which is the start date to be used in view V_T5F99K2 for option BSIRS?
This option controls if the splits between the Reverse Tax Engine and Regular Tax Engine will happen or not. Note that these splits are required as of BSI TaxFactory 11.0 Cyclic H. By default, BSIRS is delivered 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.
4. Should I have option ADTMD activated on view V_T5F99K2?
As detailed on note 3088446, configuration option BSIRS has precedence over configuration option ADTMD. On another words, if BSIRS is active (default setting), payroll will split the calls and will use the Reverse Tax Engine regardless of how ADTMD is configured.
5. How can I achieve ET: 3 on the BSI Interface?
As from the new Reverse Tax Engine delivery, this will be achieved automatically if 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). Otherwise, the system will send ET: 0.
6. BSI Messages 2026 (NO TAXES HAVE BEEN CALCULATED. TAX ADJUSTMENTS CONTAINING NEGATIVE PAY PERIOD WAGES OR PAYMENTS MUST BE PROCESSED THROUGH THE PROCESSREVERSETAXES API CALL) and 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) are raised on the payroll log, why?
Please check if option BSIRS from view V_T5F99K2 is turned OFF. As from BSI TaxFactory 11.0 Cyclic H, this should not be maintained as OFF. You should either keep it as ON, or don’t maintain BSIRS on view V_T5F99K2 , since this is delivered as ON by default.
7. No taxes are calculated in a scenario in which /5PY is negative, is it correct?
Yes. The behavior the system takes regarding negative values for the technical wage type /5PY (Good Money) has not changed due the Reverse Tax Engine. This means that no taxes are calculated by the system if /5PY holds a negative amount.
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.