Skip to Content
Author's profile photo Matt Fraser

BSI TaxFactory 10 Installation for SQL Server – Part 4

By now you have fully installed and configured your TaxFactory server, as detailed in the previous parts of this blog series:

  1. BSI TaxFactory 10 Installation/Upgrade for SQL Server
    1. Gathering materials (downloads) and installing SQL Server and SAP Gateway
  2. BSI TaxFactory 10 Installation for SQL Server – Part 2
    1. Loading the database and installing TaxFactory server
  3. BSI TaxFactory 10 Installation for SQL Server – Part 3
    1. Installing TaxFactory client (including Apache Tomcat) and loading the Data Set

Now it’s time to configure SAP to talk to TaxFactory. Unlike the previous parts of this series, this part is not database-platform-dependent.

SAP Configuration

RFC Destination

The first step is to define the RFC Destination that SAP will use to connect to TaxFactory. This setting is not transportable, so must be done separately in each SAP ERP system in your landscape (DEV, QAS, PRD, etc). If you have setup separate TaxFactory servers for DEV, PRD, etc, then you will want to ensure that you configure each RFC Destination appropriately.

There are two ways to do this, and they are equally effective. The SAP documentation will have you go through the IMG:

  • Transaction SPRO
    • SAP Reference IMG
      • Payroll
        • Payroll: USA
          • Tax
            • SAP/BSI Interface
              • Specify location of Tax Factory executable

Experienced Basis administrators will quickly recognize this as a link to transaction SM59, Configuration of RFC Connections, and that, of course, is the shortcut you can use to get here quickly. However, it is useful to remember this IMG path, as you will return to SAP/BSI Interface again shortly.

If you are upgrading from TaxFactory 9.0, you will already have an RFC Destination named BSI90-US-TAX. You cannot reuse this, but you can copy it as a template for the new destination. Alternatively, or for a new installation, expand and/or select the folder TCP/IP connections and click on the create button.

The name of your new destination must be BSI10-US-TAX. Connection Type T (TCP/IP Connection) should already be selected, but if not, select it. Enter a description of your choice (e.g. ‘BSI TaxFactory 10.0’), and set the following Technical Settings:

  • Activation Type:  Start on Explicit Host
  • Program:  <drive>:\<path>\tf10server.bat
  • Target Host:  <taxfactory_host>.<domain>.<com/org/…>
  • Save to Database as:  Hostname
  • Start Type of External Program:  Default Gateway Value
  • CPI-C Timeout:  Default Gateway Value
  • Gateway Host:  <taxfactory_host>.<domain>.<com/org/…>
  • Gateway service:  sapgw00

Save your changes and click Connection Test.

Confirm the selection of BSI Version 10.0 and click Execute.

The test will take a few seconds, and if all is working correctly you will see the following:

In the message list you may also see message code 2000 (“No company UT experience rate information for the California state UT tax was found…”). This is a normal result.

Various errors may occur at this point:

For more details on troubleshooting RPUBTCU0,and the TaxFactory connection and functionality in general, refer to Note 1910127 (FAQ: TaxFactory 10.0 Inst./Upgrade Troubleshooting).

This step is only relevant for a new installation; if you are upgrading from TaxFactory 9.0, even if you are doing a clean install on a new TaxFactory server, you may skip this step.

In transaction SA38, enter program RPUTTUU0 (Wage Type Update Program). Accept all the defaults on the selection screen, deselect Test Mode, and execute.

Specify Version in Customizing

Return to the IMG (transaction SPRO) and drill down into:

  • Payroll
    • Payroll: USA
      • Tax
        • SAP/BSI Interface
          • Specify BSI TaxFactory version for customizing settings

For country grouping 10, option BSITF, set the Value field to ‘V10’ via the drop-down selection. There should be no need to change the start or end dates. Save your changes, which will create a transport for import into downstream systems.

The next IMG activity, Specify BSI TaxFactory version for master data and tax calculation, only needs to be configured if you intend to use different releases of TaxFactory for different groups (company codes, etc). For most organizations, this can be left blank, in which case the version from the previous activity will take effect.

The final IMG activity, Specify level of messages to be returned, only needs to be configured if you intend to restrict the types of return messages coming from TaxFactory back to the payroll engine. Read the IMG documentation on the activity to determine whether this is appropriate for your requirements.

Apply TUBs

With TaxFactory 10.0, and depending upon your HRSP level, there are now two ways to apply Tax Update Bulletins to your SAP system. The traditional way is to download transport files from http://service.sap.com/tubs and import them to your system. The procedure for this is detailed in Note 1910128, and this has not changed from prior TaxFactory releases.

For most customers, you will download five transports for the most recent TUB available (all except the Incremental transport). The transports will have titles like:

  1. Tables T5UTN, T5UTT, BTXFORM, BTXAUTH and BTXTAXT
  2. Table BTXTAXC
  3. Table T5UTX
  4. Cumulative T5UTA, T5UTB, T5UTD, T5UTR and T5UTW
  5. Cumulative T5UTZ

Import them into your working client in the above order. Note that transports 4 and 5 include client-dependent table contents that can normally only be imported into Client 000, which then must usually be copied into your working client. However, if you have not customized these tables, there is an easier way. Import them directly into your working client by setting the import option Ignore Non-Permitted Table Class. This is only necessary for the last two of the five transports; the others can all be imported to your working client normally, or are client-independent.

Synchronize Payroll Tax Data

Beginning with HRSP 600.A6, 604.72, and 608.01, and if you have at least TaxFactory 10 TUB 19 imported, it becomes possible to synchronize the TUB data directly from your TaxFactory server (after applying the Regulatory Bulletins there) into your SAP tables, thus bypassing the need to download and import the above transport files. Beginning in Spring 2015 this will become the only supported mechanism for applying TUBs to your SAP system, however, for the moment it remains optional. For more information see Note 1975742. Also note that there are currently four correction Notes released for this functionality: 1984911, 1992315, 1992697, and 2009438.

Further Information, and Important Notes

The most important Notes for reference while installing, upgrading, and/or configuring TaxFactory are:

  • 1905340: Installing TaxFactory 10.0
  • 1910127: FAQ: TaxFactory 10.0 Installation/Upgrade Troubleshooting

Additionally, the following SCN resources are very helpful:

  • BSI Tax Factory 10.0, by HEMANTH JAMITHIREDDY
    • Good information about using the new web-based TaxFactory client, and some of the more detailed custom configuration that some customers may require (overrides, etc).
  • BSI Tax Factory 10.0, by Graziela Dondoni
    • Ongoing discussion thread in which Graziela announces new or upcoming changes for TaxFactory, and customers and consultants ask and answer questions. The thread is currently at 32 pages in length, which can make it difficult to search and browse, but I recommend following it (click Track in Communications) to remain up-to-date.

Assigned Tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Brandyn Richmond
      Brandyn Richmond

      HI Matt,

      This is excellent info, thanks!

      Brandyn

      Author's profile photo Matt Fraser
      Matt Fraser
      Blog Post Author

      You're welcome, and thank you!

      Author's profile photo Clifton Morris
      Clifton Morris

      Hi, Can you check on the instructions above for importing TUBS?  The procedure I have is nearly the opposite for the clients given in the instruction.  For example, is it ok to import "Cumulative T5UTA, T5UTB, T5UTD, T5UTR and T5UTW" into the gold client (or the productive client)?  Note 1910128 says to import that one into client 000.

      Author's profile photo Matt Fraser
      Matt Fraser
      Blog Post Author

      Hi Clifton,

      I did actually have the TUB transports listed in the wrong order by mistake. I have updated the list so everything is now correct.

      It is absolutely fine to import the Cumulative transports to your productive or working client, unless you have customized entries in these tables. If you have customized entries, you will need to follow the procedure outlined in Note 1910128 for Incremental tax data updates, and not use the cumulative tables at all. You will need to import the incremental update to client 000 and then use the table compare tool to copy the relevant entries from client 000 to your productive client.

      Usually, however, you will not have custom entries in these tables and can use the cumulative transports. Again, the Note says to import to client 000 and then use table compare to get the data into your productive client, but I have outlined a much easier method. I have been using this method for many years now, and it works extremely well.

      Regards,

      Matt

      Author's profile photo Henry Leung
      Henry Leung

      Hi Matt,

      After the order has been corrected, have you also updated the statement "transports 4 and 5 include client-dependent table contents"?  The note says BTXTAXC & T5UTX are client-dependent.

      Author's profile photo Matt Fraser
      Matt Fraser
      Blog Post Author

      Hi Henry,

      The statement remains correct.

      You are right in that BTXTAXC and T5UTX are also client-dependent, however these tables do not have the restriction against importing into clients other 000. It is only the "Cumulative Tax Data Update" tables (T5UTA, etc, and T5UTZ) that have this restriction, and which therefore you must use the Ignore Non-Permitted Table Class import option to import them into your working client.

      Regards,

      Matt

      Author's profile photo Former Member
      Former Member

      Hi Matt,

      We have done the installation of TF10 and had some issues. Then we found these papers of yours and checked our actions and followed them through. However we no have the following issue. When I run RPUBTCU0 I get the following errors

      Sorry, BSI connection is not configured correctly One or more taxes are not calculated.

      4003 THERE IS NO INFORMATION ON FILE TO PROCESS THE CA AUTHORITY.   NO RESULTS HAVE BEEN RETURNED FOR THE PLANS USING THIS AUTHORITY.

      4003 THERE IS NO INFORMATION ON FILE TO PROCESS THE FED AUTHORITY.   NO RESULTS HAVE BEEN RETURNED FOR THE PLANS USING THIS AUTHORITY

      1200 THERE IS NO INFORMATION ON FILE TO PROCESS THE CA TAX.   NO RESULT HAS BEEN CALCULATED FOR THIS TAX.  BE SURE THAT THIS TAX CODE

      1200 THERE IS NO INFORMATION ON FILE TO PROCESS THE FED TAX.   NO RESULT HAS BEEN CALCULATED FOR THIS TAX.  BE SURE THAT THIS TAX COD

      According to the basis consultant all the steps in you paper was executed.

      Your assistance would be appreciated

      regards

      Louis de Kock

      Author's profile photo Matt Fraser
      Matt Fraser
      Blog Post Author

      Hello Louis/Jaco,

      If you run RPUBTCU0 and it connects but calculates no taxes, this most likely indicates that you didn't apply the SAP-BSI tax code mapping (BTXTAXC.xml). This error is described in the troubleshooting Note that I linked (1910127: FAQ: TaxFactory 10.0 Inst./Upgrade Troubleshooting) as problem/solution 8, and the procedure (and a copy of the file to download) is in Note 1910129 (TUB: TaxFactory 10.0 inst. requires tax code mapping file). I also describe the procedure in Part 3 of this blog series, under Load Initial Tax Mapping, and how to obtain the file in Part 1, under Gathering Materials bullet point 5.

      So, apply (or reapply) the initial tax code mapping file to your BSI dataset and try again. Also make sure that you are applying the mapping to the dataset that has the same name as your client (001, 100, 300, etc).

      Regards,

      Matt

      Author's profile photo Former Member
      Former Member

      Hi Matt

      Thank you for the response, we will go through the notes and advise if any problems.

      Regards

      Jaco Nel

      Author's profile photo Former Member
      Former Member

      Great info.

      Author's profile photo Senthil Murugan
      Senthil Murugan

      Matt,

      We are at Cyclic 0 Reg Bullet in 110, our DEV and QA systems works fine, in Production we get the below error, The RFC works fine but the Sync tool HRPAYUS_SYNC_TAX_DT doesn't work gives program error at RFC_HRUS_TF_VERSION_10.

       

      4 - Installing function RFC_HRUS_RET_TAXABILITY
      4 - Installing function RFC_HRUS_RET_WAGE_LIMITS
      4 - Installing function RFC_HRUS_RET_MAP_TCO_COUNTY
      36 - Server correctly started!

      36 - +---------------------------------------------------------------------+
      36 - | WAITING FOR REMOTE CALLS |
      36 - +---------------------------------------------------------------------+
      50 - Remote function has been correctly executed

      50 - +---------------------------------------------------------------------+
      50 - | WAITING FOR REMOTE CALLS |
      50 - +---------------------------------------------------------------------+
      51 - Remote function has been correctly executed

      51 - +---------------------------------------------------------------------+
      51 - | WAITING FOR REMOTE CALLS |
      51 - +---------------------------------------------------------------------+
      52 - Remote function has been correctly executed

      52 - +---------------------------------------------------------------------+
      52 - | WAITING FOR REMOTE CALLS |
      52 - +---------------------------------------------------------------------+
      53 - Remote function has been correctly executed

      53 - +---------------------------------------------------------------------+
      53 - | WAITING FOR REMOTE CALLS |
      53 - +---------------------------------------------------------------------+
      55 - Remote function has been correctly executed

      55 - +---------------------------------------------------------------------+
      55 - | WAITING FOR REMOTE CALLS |
      55 - +---------------------------------------------------------------------+
      4371 - COMMUNICATION_FAILURE has been sent to backend: RFC_COMMUNICATION_FAILURE - connection closed without message (CM_NO_DATA_RECEIVED)

      4371 - ******************** DISCONNECTING FROM BSI DATABASE ******************
      4371 - BSI Dataset is not connected
      4371 - BSI Datasource is not connected
      4371 - Closing RFC connection...
      4371 - Unable to close RFC connection: RFC_INVALID_HANDLE - An invalid handle was passed to the API call

       

      we reached out to BSI, they say its SAP's issue and SAP says its BSI issue, can you please share your thoughts?

      Author's profile photo Matt Fraser
      Matt Fraser
      Blog Post Author

      Hi Senthil,

       

      I’m not sure how much help I can provide you here. Does RPUBTCU0 work correctly? If not, have a look at Note 1910127, specifically points 3, 4, and 5, about RFC communication failures. Are you certain that the Support Pack level is the same in all your environments, and that you have applied all the same Notes? Was the sync tool working in PRD before, and then became broken after applying a particular update? Or is this the first time you’re trying to get it to work?

       

      Have a look through all the Notes listed for the sync tool in Note 2082725, and also through the blogs https://blogs.sap.com/2015/03/13/synchronize-payroll-tax-data/ and https://blogs.sap.com/2016/01/21/bsi-taxfactory-cyclic-j-and-the-new-rfc-wrapper/ to make sure you’ve correctly followed all the implementation steps.

       

      When submitting a Customer Incident to SAP about this, use component PY-US-BSI. That should directly involve BSI engineers in supporting your Incident.

       

      Otherwise, I recommend raising this as a separate Question in the forums, using tags HCM Payroll and HCM Payroll USA.

       

      Cheers,
      Matt