Skip to main content

How To Configure German Fiscalisation (Epson TSE)

Fiscal Overview

For shared background, see Fiscal Overview.


Introduction

The fiscal approach in Germany is based around the use of a hardware device called a Technische Sicherheitseinrichtung (TSE), or in English a Technical Security Device. These devices can either be USB, network attached, or service based but in essence all perform the same function which is to sign and store each transaction in an inalterable form. Receipts for transactions must be offered to customers but the format of the receipt is not mandated. However, there are some mandatory fields that must be included, one of which is the signature produced by the TSE.

In the event of a TSE being broken or offline it is possible for the POS to continue trading. Receipts must show that the TSE is offline, and the transactions must be fiscalised once the TSE is back online. However, given that customers tend to run multiple POS in a store, Enactor recommend that an alternate POS is used where possible until the TSE can be brought back online, to avoid this complication.

Certification of the POS software is not required; only the TSE device itself requires certification.

note

Currently the Enactor solution supports Epson USB TSE devices. However, the interface for the TSE is specified by the authorities and therefore common, so Enactor do not foresee significant complexity in adding new devices or types of devices.

Work is ongoing at Enactor to support the Diebold Nixdorf network attached TSE which is capable of supporting up to 14 TSEs and therefore multiple POS and stores.


Configuration Overview

The following configuration changes are required and should be broadcast to all German devices in preparation for go live.

  1. Location - Configure the Fiscal Location Reference for each German location
  2. Tax Groups - Create German tax groups DE1, DE2, DE3
  3. Tax Scheme - Create the DE VAT tax scheme
  4. Tax Rates - Create German tax rates (Standard 19%, Reduced 7%, Other 0%)
  5. Tax Region - Create the DE tax region in the hierarchy
  6. Tax Group Tax Methods - Link tax groups to the tax scheme and rates
  7. Product Tax - Assign tax groups to products
  8. POS Terminal Template - Set fiscalisation type to Germany and configure receipts
  9. Account Credentials - Configure TSE driver credentials
  10. Process Connection - Configure the GermanyFiscalService process
  11. Privileges - Assign fiscalisation privileges to appropriate roles
  12. Menus - Create the fiscalisation menu on the POS

Location

Each location in Germany should have its Fiscal Location Reference configured within the Estate Manager and broadcast to the appropriate German devices.

Location Maintenance screen showing the Fiscal Location Reference field configured for a German location

Configure the Fiscal Location Reference for each German location in the Estate Manager. This value is required for fiscal transaction signing.

Tax Groups

The following tax groups should be configured and broadcast to the appropriate German devices.

Tax Group IDDescription
DE1DE Tax Group A
DE2DE Tax Group B
DE3DE Tax Group C

Tax Scheme

The following tax scheme should be configured and broadcast to the appropriate German devices.

Tax Scheme IDDescriptionPrice Include Tax
DEDE VATTRUE

Tax Rates

The following tax rates should be configured and broadcast to the appropriate German devices.

Tax Rate IDDescriptionDisplay CodePercentageFiscal Tax Rate Reference
DE_R1DE Standard 19%DE Standard 19%19%A
DE_R2DE Reduced 7%DE Reduced 7%7%B
DE_R3DE OtherDE Other0%C

Tax Region

If it does not already exist, a Tax Region for Germany should be created within the Tax Region Group Hierarchy. It should have the ID DE and the Name Germany. It is not necessary to configure an External Reference ID.

Tax Region Maintenance screen showing the DE tax region configured with the name Germany

Create a Tax Region with ID DE and Name Germany in the Tax Region Group Hierarchy.

Tax Group Tax Methods

The following tax group tax methods should be configured and broadcast to the appropriate German devices.

Tax Group IDTax Scheme IDDescriptionTax Rate
DE_1DEDE Standard 19%DE Standard 19%
DE_2DEDE Reduced 7%DE Reduced 7%
DE_3DEDE OtherDE Other

Product Tax

The following tax configurations should be configured against the products and broadcast to the appropriate German devices. The tax group can be defined to either configure the tax group directly or have a tax group by tax region.

Product Tax configuration screen showing tax group assignment options for a German product

Configure the Tax Group for each product. You can set the tax group directly or define a tax group by tax region.

POS Terminal Template

The POS Terminal Template used by all devices in Germany must be configured to have the Fiscalisation Type set to Germany. Currency should be set to Euros and Locale to German.

POS Terminal Template General tab with Fiscalisation Type set to Germany, Currency set to Euros, and Locale set to German

Set Fiscalisation Type to Germany, Currency to Euros, and Locale to German.

The primary Receipt should be set to Fiscal 44 Standard Receipt and the No Sale Receipt should be set to Fiscal No Sale 44 Col.

POS Terminal Template Receipts tab with Receipt set to Fiscal 44 Standard Receipt and No Sale Receipt set to Fiscal No Sale 44 Col

Set the primary Receipt to Fiscal 44 Standard Receipt and No Sale Receipt to Fiscal No Sale 44 Col.

The Print Tax Details on Receipt flag within the Printing > Flags tab should be ticked.

POS Terminal Template Printing Flags tab with Print Tax Details on Receipt ticked

Tick Print Tax Details on Receipt on the Printing > Flags tab to include tax breakdown information on fiscal receipts.

Within the Tax section the Tax Region should be set to Germany and the Tax Scheme to the German tax scheme configured in the previous section.

POS Terminal Template Tax tab with Tax Region set to Germany and Tax Scheme set to DE

Set Tax Region to Germany and Tax Scheme to the German scheme (DE) configured in the previous section.

Account Credentials

The following Account Credentials should be configured and broadcast to the appropriate German devices.

Download the latest TSE driver from https://www.fiscal-community.com/downloads and install it. At the time of writing: EpsonTSEDriver_1.0.5.0-4415.

  1. Plug the TSE into the POS.

  2. Run the driver setup file contained within the Zip file obtained from the Epson website.

  3. Start the driver if it does not automatically start.

  4. A small padlock will appear in the task bar (the padlock may be yellow at this point which is not an issue).

Windows task bar showing the Epson TSE driver padlock icon in the system tray

After installing and starting the TSE driver, a padlock icon appears in the Windows task bar. The padlock may appear yellow initially.
  1. Double click the padlock which will bring up the following screen.

Epson TSE Monitor main screen showing device status information

Double-click the padlock icon to open the Epson TSE Monitor tool.
  1. From this screen click the TSE Info tab to bring up the following:

Epson TSE Monitor TSE Info tab showing device details and the tsePublicKey value

Click the TSE Info tab to view device details. The tsePublicKey value displayed here is required for account credentials configuration.
  1. From this screen click Export which will bring up Notepad containing the necessary values. Capture the value for tsePublicKey. For example:

BGpY9XWPgSkXduIpbgUIcpBUKrj8xQQVaqOnGjErf2ja+Gla/Se2NuaRmc63fJjwqSG6gzhvt40l3dlsq7iK33h6bhR2kI7zvmVHwsZN+zE4spf9jzLqm19DRXjOcrdthw==

General Tab

ConfigurationValue
Account Credential IDFISCAL_GERMANY
NameFiscal Key Store
Use System KeyTRUE

Other Properties

Property NameTypeValue
PUBLIC_KEYStringValue from TSE (tsePublicKey)
SIG ALGORITHMStringSHA256
ADMIN_PINStringA 5-digit PIN of your choosing
HOST_IPString127.0.0.1
PORTString8009
PUKStringA 6-character alphanumeric password of your choosing
SECRET_KEYStringEPSONKEY
USER_PINStringA 5-digit PIN of your choosing
warning

These values must not be changed once the TSE is initialised. Changing them could result in the TSE becoming blocked. In the case of the PUK, changing it could result in a permanent block on a production device.


Process Connection

Within the POS Process Connection Diagram, locate the GermanyFiscalService Connected Process as shown below:

POS Process Connection Diagram showing the GermanyFiscalService connected process

Locate the GermanyFiscalService connected process in the POS Process Connection Diagram.

Update the Class Name and the Account Credentials ID in the SecurityModuleService as shown below:

  • Class Name: com.enactor.peripherals.tse.driver.epson.impl.EpsonSecurityModule
  • Account Credentials ID: FISCAL_GERMANY

SecurityModuleService configuration with Class Name set to EpsonSecurityModule and Account Credentials ID set to FISCAL_GERMANY

Set Class Name to com.enactor.peripherals.tse.driver.epson.impl.EpsonSecurityModule and Account Credentials ID to FISCAL_GERMANY.
info

This change will need to be broadcast or copied to the relevant German POS devices.


Privileges

The following privileges will need to be configured and broadcast to the appropriate German devices. It is recommended that a store manager be the only role with these privileges since for the most part they permit the configuration and setup of a new TSE.

tip

The exception to this may be LoginAsTimeAdminAllowed and AuthorisesLoginAsTimeAdmin, which may be required in the general operation of the POS as the TSE may require the time to be set if it is powered off for a prolonged period.

Privilege IDPackage
enactor.pos.InitialiseDeviceAllowedPosFiscalisation
enactor.pos.AuthorisesInitialiseDevicePosFiscalisation
enactor.pos.LoginAsAdminAllowedPosFiscalisation
enactor.pos.AuthorisesLoginAsAdminPosFiscalisation
enactor.pos.LoginAsTimeAdminAllowedPosFiscalisation
enactor.pos.AuthorisesLoginAsTimeAdminPosFiscalisation
enactor.pos.RegisterPosAllowedPosFiscalisation
enactor.pos.AuthorisesRegisterPosPosFiscalisation

At an appropriate point within your German POS menu structure (suggested on the Admin menu), a fiscalisation menu with the following 5 items will need to be configured and broadcast to the German POS devices. This menu will be used to facilitate initialising the TSE and setting the time on the device.

POS Menu Configuration showing the fiscalisation menu with five TSE management items

Create a fiscalisation menu on the POS Admin menu with the five TSE management items listed below.
EventIDButton Label
Fiscal_TSE_InitialiseFiscal_TSE_InitialiseInitialise TSE
Fiscal_TSE_Login_AdminFiscal_TSE_Login_AdminLogin as Admin
Fiscal_TSE_Login_TimeAdminFiscal_TSE_Login_TimeAdminLogin as Time Admin
Fiscal_TSE_Register_POSFiscal_TSE_Register_POSRegister Pos
Fiscal_TSE_UpdateTimeFiscal_TSE_UpdateTimeUpdate Time

POS Menu Configuration showing the completed fiscalisation menu with all button labels configured

The completed fiscalisation menu should contain all five items as shown. Save and broadcast the menu to all German POS devices.

Initial TSE Setup

Once all configuration has been broadcast to the POS, perform the following steps to initialise the TSE:

  1. On the POS, navigate to the fiscalisation menu created in the previous step.

  2. Click the Initialise TSE button on the fiscalisation menu.

    • The POS will prompt "Operation Completed Successfully" - click OK.
  3. Click the Login as Admin button on the fiscalisation menu.

    • The POS will prompt "Operation Completed Successfully" - click OK.
  4. Click the Register POS button on the fiscalisation menu.

    • The POS will prompt "Operation Completed Successfully" - click OK.
  5. Click the Login as Time Admin button on the fiscalisation menu.

    • The POS will prompt "Operation Completed Successfully" - click OK.
  6. Click the Update Time button on the fiscalisation menu.

    • The POS will prompt "Operation Completed Successfully" - click OK.
note

On occasion it is possible that the POS will prompt for the time to be updated on the TSE. If this should happen, repeat steps 1, 5 and 6.

At this point it should be possible to complete fiscal transactions on the POS. When observing the details in the Epson TSE Monitor tool it should show the device as Initialised, as shown below.

Epson TSE Monitor showing the TSE device status as Initialised

After completing the initialisation steps, the Epson TSE Monitor should show the device as Initialised.

Receipt Requirements

The format of the receipt is not prescribed by the German authorities although receipts should be provided to customers and there are some requirements that must be met.

The following are required to be shown on the receipt:

Required Receipt DetailsAdditional Requirements
Company name and addressTax totals per VAT rate
Date the receipt was issuedTSE transaction number
Transaction start and end timeAmount per payment method
Item namesSignature counter
QuantitiesSignature value
Total priceSerial number of the TSE
Item prices

Optionally a QR code with the above details can also be included and Enactor supports this where it is also supported by the printer.

Within the POS Terminal Template there is a receipt available named Fiscal 44 Standard Receipt which meets all of the above requirements. Although a retailer can choose to customise the receipt to meet their needs, this should form a good starting point that contains all of the mandatory information. An example of this receipt is shown below.

Example Fiscal 44 Standard Receipt showing company details, items, tax totals, TSE transaction number, signature value, and QR code

An example of the Fiscal 44 Standard Receipt which includes all mandatory German fiscal information. Retailers can customise this receipt template to meet their specific needs.

Digital Interface (DSFinV-K)

As well as the above requirements, the German legislation has a requirement to be able to export data from the POS system. This is in addition to the export function provided by the TSE itself.

info

"Digital interface of the financial administration for cash register systems (DSFinV-K) - The provision of the secured application and log data is for the purposes of carrying out external tax audits or cash register checks alone is not sufficient, since not all the necessary data is included in the logging by the TSE."

This export function is provided within the Estate Manager and will produce an export in the defined CSV format along with the XML schema document that defines the CSV export file structure.

note

This report is dependent on day ends having been run at the POS, as the day end action is used to group transaction data into trading days within the report. Transactions for which a day end has not been run will not appear in the report output. Transactions spread over multiple days but with only a single day end will be grouped into a single trading day that is longer than 24 hours.


Configuring the EM for Data Export

The functionality to produce this report is not enabled in the Estate Manager by default but can be enabled with the following steps.

Login to the EM as a user with the Administrator role and navigate to Menu Maintenance. Filter the list of Menus as shown below then edit the Default Menu for the Web Maintenance Menu Set for the Administrator role.

Menu Maintenance screen filtered to show the Default Menu for the Web Maintenance Menu Set for the Administrator role

Filter the Menu Maintenance list to locate the Default Menu for the Web Maintenance Menu Set for the Administrator role.

Expand the Operations folder.

Menu Maintenance editor showing the expanded Operations folder

Expand the Operations folder to view its contents.

If it does not exist, create a new fiscalisation folder under Operations with the following configuration:

ConfigurationValue
IDFiscalisation_Id
Folder LabelFiscalisation
Image URLfiscalisation.svg

Menu Maintenance editor showing the new Fiscalisation folder configuration with ID, label, and image URL

Create a new folder under Operations with ID Fiscalisation_Id, label Fiscalisation, and image URL fiscalisation.svg.

Add a new folder to the Fiscalisation folder with the following configuration:

ConfigurationValue
IDFiscalisation_Exports
Folder LabelFiscalisation Exports

Menu Maintenance editor showing the new Fiscalisation Exports subfolder configuration

Create a Fiscalisation Exports subfolder with ID Fiscalisation_Exports.

Add a new Execute Process item into the Fiscalisation Exports folder with the following configuration:

ConfigurationValue
Application Process to RunCSV Data Exporter
IDMaintenance/CSVDataExporter
Item LabelCSV Data Exporter
Item Message IDCSV_DATA_EXPORTER
Item Message BaseCSVDataExports/CSVDataExportMessages
Image URLreports.svg

Save the menu changes and verify the menu item in the Operations menu on the EM.

Estate Manager Operations menu showing the Fiscalisation section with the CSV Data Exporter item

Verify that the Fiscalisation Exports menu item with the CSV Data Exporter appears in the Operations menu.

Exporting Data

From the new menu in the EM, click the Fiscal CSV Data Exporter button.

CSV Data Exporter screen showing the export form with date range, location, device, and fiscalisation type fields

Click the Fiscal CSV Data Exporter button to open the export form.

Provide the required Start and End date as well as the Location and Devices the export is required for. Fiscalisation Type should be set to Germany. Then click Export.

This will create a scheduled job which will produce the export data in the defined format. Once this scheduled job has completed, the CSV export will be available for download as a Zip file from the File Download application within the EM.

File Download application showing the completed fiscal CSV export Zip file available for download

Once the scheduled export job has completed, download the CSV export Zip file from the File Download application.