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:
- BSI TaxFactory 10 Installation/Upgrade for SQL Server
- Gathering materials (downloads) and installing SQL Server and SAP Gateway
- BSI TaxFactory 10 Installation for SQL Server – Part 2
- Loading the database and installing TaxFactory server
- BSI TaxFactory 10 Installation for SQL Server – Part 3
- 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
- SAP/BSI Interface
- Tax
- Payroll: USA
- Payroll
- SAP Reference IMG
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:
- Communication failure
- This usually indicates that your RFC Destination is not correctly configured in SM59.
- System failure
- This usually indicates a problem connecting to the database or data set. Ensure that your ODBC DSN on the TaxFactory server is working correctly, and ensure that your Data Set (in the TaxFactory client) has the same name as your SAP client number. See Parts 2 and 3 of this series (BSI TaxFactory 10 Installation for SQL Server – Part 2, BSI TaxFactory 10 Installation for SQL Server – Part 3)
- System hangs with no response during RPUBTCU0
- This could be an issue with the ODBC driver on the TaxFactory server. See Part 2 of this series (BSI TaxFactory 10 Installation for SQL Server – Part 2).
- RPUBTCU0 completes without error, but no taxes are calculated
- This usually indicates that the SAP-BSI tax code mapping is not correct in your Data Set. See Load Initial Tax Mapping in Part 3 of this series (BSI TaxFactory 10 Installation for SQL Server – Part 3).
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).
Create Tax Related Wage Types
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
- SAP/BSI Interface
- Tax
- Payroll: USA
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:
- Tables T5UTN, T5UTT, BTXFORM, BTXAUTH and BTXTAXT
- Table BTXTAXC
- Table T5UTX
- Cumulative T5UTA, T5UTB, T5UTD, T5UTR and T5UTW
- 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.
HI Matt,
This is excellent info, thanks!
Brandyn
You're welcome, and thank you!
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.
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
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.
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
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
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
Hi Matt
Thank you for the response, we will go through the notes and advise if any problems.
Regards
Jaco Nel
Great info.
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?
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