Skip to end of metadata
Go to start of metadata

BSI stands for Business Software Incorporated.

BSI is a SAP partner that provides the US tax software engine that is used with SAP payroll driver.
The BSI website is

Latest information about TUBS delivered by SAP and how to apply them can be found at or

SAP Payroll and BSI integration overview.

When SAP Payroll calculates taxes, it transmits the relevant parameters to the TaxFactory server via remote function call (RFC). To enable communication between SAP Payroll and TaxFactory, you must therefore establish a corresponding RFC connection.

The TaxFactory server, which runs outside of SAP Payroll, must access its own tables before it can respond to the RFC. Consequently, it is necessary to establish the database connection between the TaxFactory server and the TaxFactory database, something that is usually done at the operating system level.

In general, the TaxFactory server can be run on any application server. If you choose to run the server on an application server that resides on a machine other than the database server, then you must ensure that the TaxFactory server can make a direct database connection from the application server machine to the TaxFactory database instance on the database server machine. This process sometimes requires additional setup time. Contact your database administrator for assistance.

It is also possible to run TaxFactory on a machine where no SAP application server is running. In this case, you would need to install an SAP Gateway on the machine where the TaxFactory server is to run. This setup is desirable if the TaxFactory server is not released for the platform on which you run your application server.

1. Non-Unicode to Unicode conversion of BSI DB.

If the customers need to convert their DB to Unicode, then they can very well do it. BSI officially doesn't support Unicode DB. But we have seen customers successfully doing the same. The steps they have to follow are to take a back up of the database before conversion. Convert the DB and then upload the backup on to the converted DB.

2. Specifying BSI version

BSI version has been integrated to the New SAP Switch concept. Refer to note 1519016 for further details.

3. RFC Destination (BSI80-US-TAX/BSI90-US-TAX)

a. Start on Application Server.
b. Start on Explicit Host

Make sure you have given the right IP and that customer has mentioned the right gateway.

4. How to activate the debug to check the errors in BSI TaxFactory:
  • If your company uses UNIX, change the file tfXXserver.csh to enable the debug option.
  • If your company uses Windows, use file tfXXserverdebug.exe instead of file tfXXserver.exe.
  • If your company uses AS/400, use the command line below:

CALL TF90 PARM('-a<Name>' '-g<Host>' '-x<Port>' '-o' '<File name>')

-a program ID e.g. own_host_name.program_name
-g Host name of the SAP gateway
-x service of the SAP gateway e.g. sapgw00
-o store debugging information in a text file

For further information please review the notes:

- BSI TF 9.0: 1469857 and 1469858.
- BSI TF 8.0: 1022656 and 1064089.
- SAP Knowledge Base Article: 1622938 - How to activate the debug feature to investigate errors with BSI TaxFactory connection .

Obs: XX meaning the BSI TaxFactory version you are using (80 or 90).

5. How to check a dataset in tax factory to read overrides that are setup.

Go to TaxFactory client -> Tech Tools -> Select change data set option -> You can change the dataset and click connect. If the dataset does not exist, then you need to maintain it.

In the Tax Factory Client go to Mapping, then tax codes: for every BSI code there needs to be an entry in names. You must maintain the SAP/ BSI tax code mapping for all the datasets and in particular for the current data set, it has to be maintained for ALL datasets individually.

6. Tax Locator - here you can find some use useful information about Tax Locator and how it works:

Tax Locator is a BSI product like Tax Factory. The Tax Locator installing information can be found in Notes 1370154 (TF 8.0) and 1484804 (TF 9.0).

The process of specifying the TaxLocator version has been integrated with the TaxFactory Switch concept. Refer to SAP Note 1519016 for detailed information about the new Switch concept, as well as how to specify the current version of TaxLocator and

7. BSI has delivered the latest TUB. When the respective SAP Note will be available?

SAP needs at least two working days to create a note for each TUB delivered by BSI. Please keep it in mind when BSI has delivered a new TUB and the respective SAP note is not right after delivered.

8. BSI 9.0 upgrade requires 8.0 upgrade?

Before upgrading to BSI TaxFactory 9.0, you will need to be up to at least BSI TaxFactory 8.0.P. This version will give you all the necessary tools to complete your migration. No regulatory bulletin released after TF8.0.P has been cyclic dependent, so you can continue to apply those as normal when they are released.

9. Is BSI v9.0 compatible with ECC 6.0 EHP5?

BSI TaxFactory 9.0 is compatible with EHP5 Support Package 4.

Note 1456418: BSI TaxFactory 9.0 - Phase I

In this session have the information of the release of support packages compatibility.

"Reference to Support Packages" in the central note released for BSI v9.0.

Software Component Release Package Name

10. How to create the batch file

For windows scenarios the batch file should be set like the following example:

3   errors.txt in gateway working directory
4   C:
5   CD C:\BSI\
6   in same directory
7   tf90server.exe %*

- DSN = ODBC connection. Example = "TF90".
- UID = Tax Factory 9.0 Database user. Example: "TF90".
- PWD = Tax Factory 9.0 Database password. Example: "bsi".
- (Line 2) "TF90DB" =  Database's name.
- (Line 2) "TF90SCHEMADB" = Database Schema's name.
- (Line 5) Location of tf90server executable file (same place of bat

For UNIX like systems the batch file should be set like the following example:

# set execution environment for TaxFactory 9.0
# set oracle environment variables
# grant database rights to users who invoke this
setenv ORACLE_SID ORCL#Replace with your Oracle SID
setenv ORACLE_HOME /usr/sap/oracle/product#Replace with your
setenv LD_LIBRARY_PATH /usr/sap/oracle/product/lib#Replace with
# set the directory path for BSI
setenv BSI_DIR /usr/sap/{SID}/SYS/exe/run/#Replace with
appropriate path

# change directory to the TaxFactory server directory
cd /usr/sap/{SID}/SYS/exe/run #Replace with appropriate path
#set the TaxFactory default database connection
setenv DATABASE tf90/bsi@ORCL #Replace with your Oracle Connect
# for SAP trace debugging, uncomment below & see file error.txt
in same directory
# ./tf90server $1 $2 $3 -o error.txt
# else for usual operation
./tf90server $1 $2 $3
# end file

Further information can be found in note 1469857 (Installing TaxFactory 9.0, but not as an upgrade) under sections "TaxFactory 9.0 server on Windows" and "TaxFactory 9.0 server on Unix"

11. Checklist to solve SYSTEM_FAILURE dump

1) Firstly in Tax Factory 9.0 issues check system BAT file. This "batch program" is called by RFC connection and runs the Tax Factory Engine. The file should looks like the examples in item 10 (How to create the batch file) of this page.

2) The Tax Factory database user MUST has access to database and a valid password. You can test this in a lot of different ways:

2.a) Connecting directly to database with the Tax Factory Database User for testing purposes.

2.b) Testing the ODBC connection with the Tax Factory Database User[Normally the path is Control Panel - Administrative Tools - DataSources (ODBC).

2.c) Sometimes the dabatase does not allows database account logon (Only Windows Account logon), so it will not be possible to test connecting to database using the Tax Factory Database User. In this case you need to connect on database with an Windows Account Logon (with administration permission) and then check if the Tax Factory Database User exists, password is not wrong, user is not locked, user has all permissions to access the tables, etc.

3) The database's schema MUST be the same mentioned in the bat file. Normally you can check the database schema in the properties of the database (inside of your database program administration, for example SQL Enterprise Manager is the program for Microsoft SQL 2000 database).

4) The ODBC connection MUST has set the default database your BSI database.

5) Tax Factory Program must has created the "Data Set", like the following example:

  System ER5
  Client 110
  So the "Data Set" will be 110

More information please check note 1484771 section 17 (Q. What is a dataset in TaxFactory 9.0?).

6) The RFC Connection must target the BAT file and not the executable file and the RFC's name MUST be "BSI90-US-TAX".

7) Open the command line and try to run tf80server.exe directly. In case it doesn't work or give errors please check if your are using the correct file version for your platform. Another cause for the issue is the file can be corrupted.

8) The system user must has enough authorization for the BSI objects.

9) Check the thread and compare within your system.

12. We are migrating our systems to a different platform and are unable to download Tax Factory

When migrating for a different system platform (e.g. Solaris to RedHat) you will be unable to download the TaxFactory for the new platform until you change this information in your BSI account. In order to do that please get in touch with your SAP Account Executive.

  • No labels


  1. Unknown User (wyxlkxn)

    It seems that when payroll is run using the splitter in large number of jobs, BSI can get "overwhelmed" by too many RFC calls and cause a 'BSI system failure' code. Can someone confirm that and if so what is the limit, if any?


  2. Former Member

    Hi Jean-Louis, can I suggest that you post this question over on the forum, include a little more info, like how many employees you are running BSI for. I am not aware of any "limit" in running BSI, but I can look into it more for you.

  3. Unknown User (wyxlkxn)

    Hi Giselle,

    Thank you, I have posted my question on the HCM/HR forum. We were running 25 simultaneous jobs with each anywhere between 100 and 800 employees. We got 22 rejects for the same BSI system failure message. All those employees were reprocessed later on with no errors.