Skip to Content
Author's profile photo Matt Fraser

BSI TaxFactory 10 Installation/Upgrade for SQL Server

By now most US Payroll customers have either upgraded their TaxFactory installations from 9.0 to 10.0, or (like me) are scrambling to do so before the November 30 deadline. Or, perhaps you’re installing TaxFactory for the first time and (like me) finding the documentation a bewildering array of conflicting and difficult-to-collate information. Take heart! This blog is for you.

Below I will detail the steps required, in order (something the documentation doesn’t seem to manage well), to get a new or upgraded TaxFactory 10 system running and connected to SAP Payroll. The scenario here is a standalone TaxFactory system, using Microsoft SQL Server as its database. However, in general the information should apply to other database platforms with minor adaptation. TaxFactory can also be installed on your SAP ERP system itself, sharing the same DBMS, and while that does simplify a few things, it is not my recommendation.

Due to the length of this topic (apologies!), it has been necessary to split the blog into four parts. Part 1 details the required preparations: gathering materials, installing and configuring SQL Server, and installing SAP Gateway. Part 2 continues with creating and loading the database and installing the TaxFactory server itself. Part 3 details the installation of the TaxFactory client and loading of the Data Set. Part 4 will discuss the required SAP-side configuration.


Gathering Materials

You will need to download or acquire a few items for the installation, so it is best to have them all ready to go. You’ll need approximately 10-11 GB to hold all the source files.

  1. DBMS and any service packs, cumulative updates, or hotfixes
    1. Here we are using Microsoft SQL Server 2012, with Service Pack 2 and Cumulative Update 2.
    2. When in doubt about which is the latest SP and CU for SQL Server, I find it helpful to refer to Microsoft SQL Server Version List.
  2. Microsoft JDBC Driver 4.0 for SQL Server (free download)
    1. Download Microsoft JDBC Driver 4.0 for SQL Server from Official Microsoft Download Center
  3. Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update
    1. You may or may not need this. Per various SAP Notes, such as 1676665, you may need to apply this Windows hotfix if you receive a particular error during the Gateway installation, so it doesn’t hurt to have it handy.
    2. Download Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update from Official Microsoft Do…
  4. SAP Standalone Gateway
    1. This does not need to match your ERP release, so you should use the latest and greatest. At this time, that is NetWeaver 7.4 SR2.
    2. Please note that this is not the same as NetWeaver Gateway, which is an add-on to an existing NetWeaver ABAP system.
    3. You will need Software Provisioning Manager (SWPM)
      1. -> Installations and Upgrades -> Browse our Download Catalog -> SAP NetWeaver and complementary products -> SAP NetWeaver -> SAP NETWEAVER 7.4 -> SOFTWARE PROVISIONING MGR 1.0 -> <platform, i.e. “Windows on x64 64bit”> -> SWPM10SPxx_x-xxxxxxxx.SAR
    4. You will need the Kernel 7.42 installation media (not the patch)
      1. Same path as above to SAP NETWEAVER 7.4 -> Installation and Upgrade -> <platform, i.e. “Microsoft Windows”> -> <DBMS, i.e. “Microsoft SQL-Server”> -> <DVD # for “SAP Kernel 7.42 <platform>”>.
    5. Extract both packages to a source folder using sapcar.
  5. SAP Initial Tax Mapping
    1. Navigate to -> TaxFactory 10.0 -> Initial Mapping -> Initial Mapping for TaxFactory 10.0 and download the file.
    2. Extract the file BTXTAXC.xml and save it on your workstation.
  6. SAP Tax Update Bulletins
    1. Depending on your ERP Support Package level, you may be able to synchronize your SAP tables directly from the TaxFactory system once it is installed. However, if you are not yet at a high enough HRSP, then you will still be doing this the old-fashioned way, downloading SAP transports and applying them to your system, in which case the process has not changed from prior TaxFactory releases.
    2. Navigate to -> TaxFactory 10.0 -> TUB Downloads -> TUB xxx – TUB xxx (latest available) -> TUB xxx (latest available).
    3. There will be six files. You need five. Download all except the “Incremental” update.
      1. Note, if you have made customizations to the files T5UTA, etc, then you may need to use incremental updates. This is beyond the scope of this current document, which assumes that you are using the tables as delivered and therefore can use cumulative updates to save time and effort.
    4. Extract the files and copy the “K” files to \usr\sap\trans\cofiles on your transport host, and the “R” files to \usr\sap\trans\data.
  7. Oracle Java Runtime Environment (JRE) for your server platform in 64-bit version (currently JRE 7 update 67)
    1. Note that by default will offer the 32-bit JRE, so I recommend using the manual download option at Java Downloads for All Operating Systems.
    2. Choose your OS and, if in Windows, the 64-bit option. Note that you are not concerned here with integrating the JRE into a browser, so it is not necessary to download the 32-bit version.
  8. Apache Tomcat 7
    1. Apache Tomcat – Apache Tomcat 7 Downloads
    2. Scroll down to Binary Distributions -> Core -> 32-bit/64-bit Windows Service Installer and download from that link.
  9. BSI TaxFactory
    1. Login to
    2. Click the big button for Download BSI TaxFactory 10.
    3. Select the latest Cyclic Bulletin (currently 10.0d).
    4. From the Downloads section, find your OS/DBMS/bit-width combination and click Download File. In our example, we need Windows 2008 thru 2012 and SQL Server 2005 thru 2012 64-bit. This is the server package.
    5. Above this section and on the right, click the link for TF10 Client Package for Windows and save the file.
    6. To the left of that, click the link for Download Master File.
      1. It is not generally necessary to download the cyclic data file nor any regulatory bulletins at this point, as the Master File includes the most recent cyclic and regulatory data. The filename will indicate the TUB level being installed, which should match the SAP TUB downloaded earlier. If not, be sure to download the SAP TUB that matches the BSI Master File.
    7. From the top menu, select Product Maintenance. Choose BSI TaxFactory as the product. Under Maintenance, select Maintain Machine Key.
      1. Click Add New Key. Confirm the correct release and platform, and enter your TaxFactory server’s hostname in all capitals (if it is a Windows host). Click Request Server Key.
      2. From the list of machine keys, find the one you just created (perhaps the only one in the list) and click Save as File. This will download a small file called machinekey.lic. Save it on your workstation’s hard drive.

SQL Server

Install and configure SQL Server much as you would for an SAP installation. We will not go into detail here about installing SQL Server, except to highlight a few important points.


TaxFactory, like SAP, requires a case-sensitive collation. The SQL Server default, however, is case-insensitive. The SAP default of SQL_Latin1_General_CP850_BIN2 will work, however, for a standalone installation BSI recommends SQL_Latin1_General_CP1_CS_AS. Note that this is very similar to the SQL Server default of SQL_Latin1_General_CP1_CI_AS, so you must pay close attention at this step.

Authentication Mode

In prior releases TaxFactory required Mixed Mode (SQL Server authentication and Windows authentication). This is no longer the case, so in this example we will choose Windows authentication mode. Also, per SAP’s recommendation, we will add the local host’s Administrators group to the list of SQL Server administrators.

Other items for the installation and configuration of SQL Server can be as per SAP’s recommendations or your organization’s standards. In general, I recommend to set Lock Pages in Memory (Note 1134345), to configure 1/3 of the physical RAM for SQL Server usage, and to set Max Degree of Parallelism to 1 (Note 1702408), just as you would for an SAP central instance.

SAP Gateway

If you install TaxFactory onto your ERP application server, a standalone gateway will not be required. However, if you install TaxFactory as a standalone system, as outlined in this blog, then you will need a gateway to provide the RFC connection from your ERP application to the TaxFactory server executable. Fortunately, installing a standalone gateway is a quick and relatively painless process.

The gateway does not require any database resources. However, as with all SAP installations, it does require a unique System ID, or SID, and two user accounts for the service and administration, plus one global group for the users. If you perform the installation as a Domain Admin, SWPM will create the user accounts for you. It is also possible to use local users instead of domain users, but generally speaking SAP advises to create domain users.

If you do not have a Domain Admin user account to perform the installation, you will need to create, or have your network administrator create on your behalf, the group and users. This is described in full in the gateway installation guide, which is found at -> Installation & Upgrade Guides -> SAP NetWeaver -> SAP NetWeaver 7.4 -> Installation -> 3 – Installation – Standalone Engines -> Installation: Gateway for SAP NetWeaver 7.1 or Higher.

For this blog, we will assume that you have chosen a SID of TFP for your TaxFactory gateway. Therefore, the AD global group will be SAP_TFP_GlobalAdmin, and the domain users will be SAPServiceTFP and tfpadm. Do not, however, use either of these accounts for the installation of the gateway. Note that if you do pre-create the users, they should both have the same password, and the password should be set to never expire. If your organization’s policy requires unique passwords for the two users, there will be an option in the installation to accommodate this, but by default sapinst will assume the same password for both.


In your source folder on your server, you should by now have extracted the SWPM and kernel packages that you downloaded earlier. If not, do so now into separate subfolders (in our example, \source\swpm and \source\kernel). Execute \source\swpm\sapinst.exe.

In part 1, Choose Option, drill into SAP Installation Master -> SAP NetWeaver 7.4 Support Release 2 -> MS SQL Server -> SAP Systems -> Standalone Engines -> Gateway -> Gateway.

Click Next. If this is the first time you’ve installed an SAP system on this server (which is likely), you should momentarily see a message box stating SAPinst needs to log you off in order to reliably continue the installation. This is because sapinst is adding certain required OS permissions to your user account and it is necessary to logout and in again to activate them. Click OK.

Log back in to the server console again. Sapinst will automatically restart with the same options as before, bringing you to part 2, Define Parameters. Enter your chosen System ID (SID; in our example ‘TFP’) and the drive onto which you wish to install the gateway executables.

Click Next. On the next screen enter the location for your kernel source files. Note that sapinst asks for “Kernel NW740 SR2,” but by this it means the 7.42 kernel.

Click Next. Sapinst will confirm the correct kernel files, and then on the next screen show a summary of the chosen parameters. If you need to make any revisions, select the relevant checkbox and click Revise, or click Show Detail to see (and revise) more details about the installation. Otherwise, if everything looks correct, click Next.

The installation will proceed at this point and should only take a minute or two. When it is complete you should see a message box to that effect. Optionally follow the feedback link, or click OK.

Troubleshooting msiexec or vcredist error

It might happen that SWPM or sapinst fails with an error message: “Running msiexec failed with return code 1603: Fatal error during installation. Commandline was msiexec.exe /norestart /L /vcredist_x64.logvcredist_64.msi /qn.” If this occurs, apply the Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update that you downloaded earlier, and then restart sapinst.

Configuring secinfo.dat

By default your new gateway will still refuse connections from external systems, so there is one piece of configuration you must do. You must create a secinfo.dat file and place it in the appropriate folder, with the appropriate parameters defined inside. This file doesn’t exist until you create it.

A full discussion of the available parameters for secinfo.dat are beyond the scope of this blog, but are discussed at length in Note 1425765. You will need to adapt the file according to the needs of your organization, but something like thefollowing will work for purposes of enabling TaxFactory to be called from your ERP system.

Create the file in the folder \usr\sap\SID\Gxx\data. The first line of the file must be:


The second line should begin with “P” (for “Permit”), then have entries for TP, HOST, USER, and USER-HOST. TP points to the TaxFactory server batch file, which you will create later. HOST is the fully-qualified hostname of your TaxFactory server. USER is the calling username, and USER-HOST is the hostname or IP address of your ERP system (you may use wildcards if the call may come from several systems). So, this line will follow this pattern:

P TP=<drive>:\BSI\TaxFactory\server\tf10server.bat HOST=<TaxFactory Host>.<domain> USER=* USER-HOST=<IP address or range>

So, if you will be installing TaxFactory onto your E: drive on the server “taxfactory,” and all of your SAP servers are using internal IP addresses in the 10.50.15.x subnet, for instance, your file might look like this:


P TP=E:\BSI\TaxFactory\server\tf10server.bat USER=* USER-HOST=10.50.15.*

Please note that the keywords (TP, HOST, etc) are case-sensitive and must be capitalized.

Save the file, logout and login again as ‘sidadm,’ and use SAPMMC to restart the gateway. In the process list, right-click on gwrd.EXE and choose Developer Trace. In the trace file, look for the line “GwIInitSecInfo: secinfo version = 2”. If you see this, then the gateway correctly read your secinfo.dat file. If you do not, you may have misformatted the file, or you may have saved it in the wrong folder.

<continued at BSI TaxFactory 10 Installation for SQL Server – Part 2>

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo J. Pazahanick
      J. Pazahanick

      Nice job with this Matt. 

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

      Thanks! Of course, it's the next bit that most people seem to have trouble with, from what I've seen in the forums. Hopefully will have that finished tomorrow.

      Author's profile photo J. Pazahanick
      J. Pazahanick

      To be honest I have been a bit disappointed in BSI 10.0 as I think the new "user interface" is worse than the old one and have had few customers struggle to get it implemented.

      The good news is for Employee Central Payroll customers SAP is responsible for the upgrade. The bad news is that they are still running BSI 9.0 so they might have to read your blog 🙂

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

      It's definitely true that the new client interface is significantly more complex and error-prone to install, and that seems to be an area that many people are having issues. Once it's done, however, actually using the interface is pretty easy, and I'm growing to like it. It takes a little getting used to for someone familiar with the older 7.x, 8.x, or 9.x client, but at the end of the day seems to have more functionality, and is much easier to use from a workstation (in the past, I never installed the client on a workstation, so instead I would remote console to the server itself to manage it). I'm not looking forward to having to maintain yet another vendor product (Apache Tomcat) that I'm not familiar with managing and don't know the security (etc) concerns, but so far it seems fairly benign.

      Now if I could just get more of what I write to fit in a single blog! I keep losing the last bits, and that's when I realize I need to stop, publish, and continue in another part. I really thought this would all fit in a single blog post originally. Silly me. 🙂

      Author's profile photo Former Member
      Former Member

      Hi Matt,

      Just a question does the above steps the same for upgrading from BSI 9.0.X to BSI 10.0.X?

      To me it seems like the upgrade is the same as the installation except that customers already using BSI 9.0 have to backup the data sets and restore after the installation.



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

      Hi Lungisani,

      Yes, most of the steps apply the same whether installing or upgrading. In our case, we are technically upgrading, but as we're moving to all new hardware for TaxFactory, we're doing it as a clean install.



      Author's profile photo Former Member
      Former Member

      Thanks Matt,

      I am my case am doing an upgrade from BSI 9 to BSI 10 and the part that is not clear is that  when I read the upgrade documenation its seems that I have to create a TF10 database and its own OBDC connection.Then populate TF10 database,install the TF10 client.

      I have taken backups of my TF90 dataset so once am done loading all required files on TF10 I will then restore TF90 datasets to TF10 and update the bulletins/tubs if neccessary.this should compete the upgrade  .

      Please correct me if am wrong.

      I had thought that BSI will give a way to change TF90 schema to TF10 schema but that does not seem to be the case.



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

      That's correct. Each new release of TaxFactory requires a new database. I have done the upgrade from TF7 to 8, 8 to 9, and now am working on 9 to 10. This is so far the most complex of the upgrades, however. We don't have any customization in the TF data sets, so the only 'custom' data to restore is SAP's initial tax code mapping.

      Author's profile photo Former Member
      Former Member

      Thanks Matt

      Author's profile photo Gaurav Sinha
      Gaurav Sinha

      Does BSI Taxfactory also runs with SAP ASE as underlying database?

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

      Hi Gaurav,

      ASE isn't listed among the certified ODBC drivers that TaxFactory supports, but that list is pretty old so I wouldn't consider it necessarily as authoritative. The technical installation guide published by BSI does mention installation of JDBC/ODBC drivers for Sybase, so this would imply that ASE could be supported.

      Otherwise, the official list is SQL Server, Oracle, DB2, MaxDB, and AS400.



      Author's profile photo Gaurav Sinha
      Gaurav Sinha

      Thanks Matt,

      How can I access the technical installation guide?

      'am interested to explore any recommended best practises for configuring or optimizing Sybase ASE on BSI TaxFactory .... to support prospective SAP customers, as a database/BASIS administrator

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

      You will need to contact BSI about that. The guide is available on their website, but you must have a valid customer or partner logon to the site to get to it.

      However, if that's your role, to provide support for your BSI customers, then you should probably have partner-access to BSI's documentation.

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

      Try opening a Customer Incident on component XX-PART-BSI-TFY to request access. That should go straight to BSI customer service.