Skip to Content
Product Information
Author's profile photo Carlos Accorsi

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.

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.

 

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.

Assigned Tags

      39 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Community,

      The following correction note has just been released: 3239725 (TAX: Taxes not calculated when positive Gross Wages are sent to the Reverse engine).

      This was an issue when the Gross Wages (GW) parameter was send as positive on the BSI Interface for the reverse calls. As BSI also requires the GW to be negative on such scenario, BSI Message 2028 was raised on the payroll log and no taxes were calculated.

      Note 3239725 has corrected this scenario and now the GW is also send as negative on the reverse calls, so the taxes are calculated as expected. Any feedback you have on this note, please let me know.

      Thank you,
      Carlos

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Community,

      The correction note 3225302 (TAX: No taxes calculated for employee with negative gross-up) has just been released to customers.

      It has corrected a bug on negative gross-up scenarios, since no taxes were calculated on such case. As a result, the taxable and taxes got higher than expected.

      Sincerely thanks,
      Carlos

      Author's profile photo Neeraj Ramashankar
      Neeraj Ramashankar

      Thanks Carlos for this detailed information. As we understand, the main note is released to meet the BSI new requirements where negative input wages are to be calculated exclusively by the Reverse engine and positive input wages are to be calculated exclusively by the Regular engine.

      3088446 – BSI: Updates to TaxFactory 11.0 reverse engine processing

      We are planning to implement this note as part of our yearly HR Support Pack upgrade which is due in the next week. Per the note By default, payroll will consider this option(BSIRS) as Perform split calls (ON). Also we are on Cyclic H, This means there is no additional configuration is needed? and after the note implementation we will be able to see the updated USTAX log to ensure the exclusive call for Negative and Postive wage?

      Please advise if my understanding is correct?

      Thanks so much, Have a good day!!

      Regards,
      Neeraj.

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Neeraj,

      Yes, you are correct.

      As per default BSIRS = ON, so after the application of note 3088446 in a system which already has Cyclic H installed, you should be able to see the deliveries of the Reverse Tax Engine with no additional configuration.

      Thank you,
      Carlos

      Author's profile photo Rosette Vaughn
      Rosette Vaughn

      Hi Carlos,

      I submitted below last week but under the TaxFactory 11.0 SAP Blog and realized I should have submitted it here.

      Thank you for letting me know about the Reverse Tax Engine blog link, very helpful.

      I had our Basis team check the 3 correction notes (3218134, 3239725 and 3225302) and the message(s) in Note Assistant: Note Browser in the implementation state section says - cannot be implemented.  Could this be part of the issue we’re having with the state refunds?

      Also, in the Reverse Tax Engine FAQs question #1:  it states, we still need to make sure that method ALLOW_NEG_TAXABLES of BAdI PC10_PAY0002 is implemented on your system, allowing negative values be considered.  I have not seen this in any of the notes and the BAdI is not in our system.

      Please advise of next steps.

      Tks,

      Rosette

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hi Rosette,

      At first, if the notes are in status "Cannot be implemented" in SNOTE on your system, I believe that they have already been delivered by Support Package.
      Therefore, there would be no need to implement them on the system, as their deliveries are already there.

      As per the BAdI, this is an old BAdI for negative taxables, as you can check on note 548804 (MSC: Negative taxables switch in Common Paymaster case).
      Its implementation is required for cases in which /5PY is negative, in order to allow negative values to be considered by the system. In case there's no scenario like that on your system, then it would not be necessary to implement the BAdI.

      Kind Regards,
      Carlos

      Author's profile photo Rosette Vaughn
      Rosette Vaughn

      Hi Carlos,

      Should I open an incident for the issue we're having where state withholding refund amounts changed after applying Cyclic 11.H and Service Packs 99 - B1?  Currently we're at a loss as to why this is happening.

      Before applying Cyclic 11.H and Service Pack notes 99 - B1, there were state refund amounts but after applying Cyclic 11.H and Service Pack notes 99 - B1, the amount of the state refund was much larger.

      Tks,

      Rosette

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hi Rosette,

      As I mentioned on the other blog, we are not aware of any side effect that note 3158436 may have caused so far, and my suggestion to you would be to check for the Reverse Tax Engine correction notes.

      If they are already in place and the issue persists, then we would have to take a further look on the scenario on your system, so on this case you can report it via an incident.

      Best Regards,
      Carlos

      Author's profile photo Aslam Rafiqi
      Aslam Rafiqi

      We just upgraded to SAP Support Pack SAPK-604I3IN but we don’t see BSIRS in table V_T5F99K2. Do we need to manually implement Note 3088446 and its correction Notes to be able to see BSIRS switch in V_T5F99K2 table?

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Aslam,

      If you are on support package 604 I3, there's no need to apply note 3088446 again as it has already been delivered on support package 604 H8.

      As you can check on the manual instructions of the note, it creates option BSIRS on views V_T5F99K0 and V_T5F99K1, so these are the ones expected to be updated after the application of the support package.
      As per view V_T5F99K2, this is a custom table which should be updated by the customer. If Option BSIRS is not kept on this view, the system will consider it as ON, as you can check on the FAQ 3 of this blog.

      Sincerely thanks,
      Carlos

      Author's profile photo Aslam Rafiqi
      Aslam Rafiqi

      Thanks Carlos, for your reply and now I understand but sorry it is very confusing since if BSRIS is active then why it has not put in V_T5F99K2 and turn the switch ON. If we are looking in the system, we don't know if the switch is ON or OFF. Thanks for your help.

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Aslam,

      I understand your frustration, but unfortunately this is how the system works on this case.
      The support package delivery will be on V_T5F99K0/V_T5F99K1 to then allow the customer to maintain BSIRS on V_T5F99K2 as per their needs, as this is a custom table.

      In case you would like an easy way to check on that, you can keep BSIRS as ON on view V_T5F99K2 with no further issues, since this is already delivered as ON, as explained on note 3088446.

      Thank you,
      Carlos

      Author's profile photo Jeff Wible
      Jeff Wible

      Carlos, we can cut and paste this into an incident but we were wondering if anyone else is experiencing this issue. We followed all of the configuration documentation as explained below but cannot seem to be able to generate the ET: 03 in the USTAX portion of the payroll schema.

      Here is what we have done:

      1. We applied the October CLC (B1) and activated the BADI from SAP Note 3088446 – Activate BAdI PC10_PAY0002 with ALLOW_NEG = X  (CLC B1 for SAP_HRCUS 608)Includes corrections notes: 3218134, 3239725 + 3225302

      2. Also configured:

      SM31 V_T5F99K2

      BSIRS = ON

      ADTMD = ON

      BSITF =  V11

       

      SM31 V_T596D

      TFEN – added with 01/01/2022 to 12/31/9999

       

      3, Testing:

      • Time Eval has been run thru 12/31/2022.
      • Pay 23-2022 On IT0015 I paid $1,500 as out of class.
      • Pay 24 regular pay
      • Pay 25-2022 the PERNR is on LOA without pay (action as well as IT2001 entered).
        • I also deleted IT0015 for the out of class pay of $1,500 retro from Pay 23-2022.
        • I was expecting BSI to send ET: 3 according to the note 3088446 but I got ET: 0.  The results in Pay 25-2022 shows a retro $1,500 and retirement being reversed.
      • Pay 26-2022 the employee is back from LOA and is paid their regular biweekly.
        • I allowed the system to automatically collect the claim for the out of class pay of $1,500.
        • I only see a slight difference in Federal Withholding
        • Never see the ET: 03 in my schema (USTAX – processing)

      Schema go to USTAX and open “process”.

       

      Expecting ET: 3

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Jeff,

      As detailed on the FAQ number 5 of this blog, you should also have negative inputs on the BSI Interface in order to perform a Reverse Tax Engine call and, therefore, achieve ET: 3. Could you please ensure that this is covered on your scenario?

      Best Regards,
      Carlos

      Author's profile photo Jeff Wible
      Jeff Wible

      Carlos, we did follow the FAQ and we do see the negative wages processed in the RT. The only concern is we don't see the NW or PW to create the ET =3. Maybe this is only for Off cycle processing?

       

       

       

       

       

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Jeff,

      If you don't have negative inputs on the BSI Interface, that explains why the ET is not set to 3.

      I guess the easiest way to test that is by maintaining an entry on IT0015 for a supplemental wage type, with a negative amount. That will provoke the PW to be negative so the Reverse Tax Engine will be called, and you should see ET: 3 on the BSI Interface.

      Thank you,
      Carlos

      Author's profile photo Alicia Robinson
      Alicia Robinson

      Carlos -

      We have not implemented the BADI yet because I'm worried how this is going to work in our system.

      Per Jeff's described steps above, he deleted an IT15 entry that was previously processed.  Would this not create the negative amount that needs to flow through the reverse engine? Or do we have to specifically enter a negative amount on the IT's to make this work?

      We have IT15 entries deleted quite frequently on a retro basis and this is what concerns me.

      Thanks,

      Alicia

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Alicia,

      There are multiple scenarios that would provoke a negative amount on the BSI Interface to then call the Reverse Tax Engine.
      I mentioned IT0015 just as an example of the easiest way I could think to achieve that as a test, but that's not required.

      Thank you,
      Carlos

      Author's profile photo Jeff Wible
      Jeff Wible

      Carlos, as Alicia pointed out below, we have tried IT0015 as a negative number and  also tried deleting an existing amount to create a negative amount.  It appears that quite a few experienced customers are unable to get this process to work, do you know of anyone who has successfully implemented and are using? So at this point we can enter an Incident, should we use PY-US-TX?

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Jeff,

      Have you handled negative amounts on your company before this update brought with Cyclic H (the new Reverse Tax Engine delivery)?

      If not, I believe that this may be something with the implementation of BAdI PC10_PAY0002. If this is not correctly implemented on the system, it won't handle negative amounts. Please check the parameter ALLOW_NEG on this BAdI. To allow negative taxables, the parameter ALLOW_NEG should return 'X' on your custom implementation.

      Sincerely thanks,
      Carlos

      Author's profile photo Jeff Wible
      Jeff Wible

      We have handled negative amounts, such as IT15 entries deleted frequently on a retro basis, over the years using just the standard Payroll driver and then the Off cycle process. I think the main question is how is the Reverse Tax engine supposed to change this process.

      Author's profile photo Jeff Wible
      Jeff Wible

      Carlos, we were able to produce the ET:3 using a negative value on the IT15 for a supplemental wage type. However, we never have had our end users enter negative values on IT15 so we are holding off on implementing this until such time as we find a specific reason to use it.

      Thanks, Jeff

      Author's profile photo Alicia Robinson
      Alicia Robinson

      Rosette Vaughn Neeraj Ramashankar -  Just curious if either of you have been able to make this work in your systems?

      Carlos Accorsi -  We do enter negative values on IT15 on a regular basis so I'm still struggling to understand the real purpose of the "reverse engine process".  What is this going to change in our payroll process?  If we implement the BADI and decide it is not working for us, do we just set BSIRS to "OFF" and that goes back to using ADTMD?

       

       

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Jeff and Alicia,

      The only thing that the new Reverse Tax Engine process has changed is how the system handles the negative amounts.
      Previously, both positive and negative amounts were handled together, but as from Cyclic H, BSI requires negative wages to be calculated exclusively by the Reverse Tax Engine while positive wages to be calculated exclusively by the Regular Tax Engine.

      On the system, the difference you'll notice will be on the payroll log, as there will be more BSI Interfaces generated, as they need to be splitted on the Regular and Reverse call.
      These splits are controlled by option BSIRS, which must be set to ON if Cyclic H has already been applied on the system. You can achieve that by explicit setting this value on V_T5F99K2, or doesn't maintaining BSIRS, as its default value is already ON.

      As per the use of option ADTMD, please check the FAQ number 4 of this blog for further details.

      Best Regards,
      Carlos

      Author's profile photo Rosette Vaughn
      Rosette Vaughn

      Hi Carlos,

      I've opened an incident with SAP to look at issue(s) we're having after applying service packs 99 thru B1. Incident# 816269.  Can you review incident and advise.

      Tks,

      Rosette

       

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hi Rosette,

      I took over the case and I'll proceed checking it with you.

      Thank you,
      Carlos

      Author's profile photo Rosette Vaughn
      Rosette Vaughn

      Thank you Carlos.  I look forward to working with you.  Please contact me via email with date and  time you're available.

      Rosette

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Community,

      The following correction note has just been released: 3255591 (BSI: Incorrect refund for negative additional payment in Reverse Tax Engine).

      Best Regards,
      Carlos

      Author's profile photo Matt Fraser
      Matt Fraser

      Carlos,

      Am I correct in interpreting that Note as being only applicable for employers with employees in California?

      Cheers,
      Matt

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Matt,

      The note is applicable for cases in which the Formula Number has been customized to a different value than its default one, and this check is not specific to California.
      I have brought that to the attention to the developers, and they will check the possibility to let the note more clear.

      Thank you,
      Carlos

      Author's profile photo Mitesh Kumar Jain
      Mitesh Kumar Jain

      Hi Carlos,

      We tried to replicate this scenario in our system. The issue of negative /401 and /701 is observed only for employees working in California. The same scenario for employees working in other states does not have a negative value.

      Thanks,
      Mitesh

      Author's profile photo Alicia Robinson
      Alicia Robinson

      Carlos -

      Have we confirmed if this is just for California or for if it impacts other states as well?  Per the note as of version 2 dated 11/03/2022 - it still states "for an employee working in California".

      I still have not been able to get this to work as the notes specify and would like to know someone who has this working as expected.  We have employees in almost all states and trying to figure out what is or isn't impacted.

      Thanks,

      Alicia

      Author's profile photo Mitesh Kumar Jain
      Mitesh Kumar Jain

      Alicia,

      We were able to replicate the scenario only for employees working in California as mentioned under the example in SAP note 3255591. We have implemented the note and the issue is resolved - /401 and /701 do not have negative values.

      Thanks!

      Author's profile photo Alicia Robinson
      Alicia Robinson

      Mitesh -

      In your testing was it just the changing of PC64 that made this work for you?  I did finally get it to work by doing this and if this PC isn't set to a formula it doesn't seem to have any impact.  We have a huge CA presence so just trying to make sure we don't create a nightmare for the last payroll of the year.

      Thanks!

      Author's profile photo Mitesh Kumar Jain
      Mitesh Kumar Jain

      We didn't have to change anything as the wage types are already set with a value 2 for PC64, so the symptom was already available in the system. Per my understanding of the symptom as mentioned in the note, this issue is only if wage types have a different formula number in PC64.

      Author's profile photo Hemanth Krishnakumar
      Hemanth Krishnakumar

      Hi Team,

       

      Please let me know when SAP will release a note to store Standard Occupation Classification (SOC) for all employees who work in state of Washington?

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Hemanth,

      This was delivered by SAP Note 3246223 (TR: Q3/2022 Functional Changes for U.S. Tax Reporter).
      Also, please use the U.S Tax Reporter Year End 2022 blog for Tax Reporter related queries.

      Thank you,
      Carlos

      Author's profile photo Brandyn Richmond
      Brandyn Richmond

      Hello -

      We continue to get message 2028 in the log even though option BSIRS is 'ON' in table V_T5F99K2. Are there any other culprits to check? What am I missing?

      TF 11.0.i   bulletin 109

      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

       

      Thanks,

      Brandyn

      Author's profile photo Carlos Accorsi
      Carlos Accorsi
      Blog Post Author

      Hello Brandyn,

      Are you on BSI Cyclic J?
      If yes, there was an issue on that on the past that could lead to scenarios like that. BSI has released a new version of Cyclic J and it should correct the scenario.

      Best,
      Carlos