Fiscalization

Describes setup and use of the Fiskaly, EFSTA, and Fiskaltrust fiscalization providers in POS Core.

The actual signing of receipt data does not take place directly in BE-POS, but is performed by the external providers Fiskaly, Fiskaltrust, and EFSTA. You therefore need an account with one of these three providers. We recommend the provider Fiskaly because no additional dependencies are required and the necessary account is provided by BE-terna.

Provider Modules Contact Portal
Fiskaly Germany sales@fiskaly.com https://dashboard.fiskaly.com/
EFSTA Germany, Austria, Italy office@efsta.eu https://portal.efsta.net/
Fiskaltrust France contact@fiskaltrust.fr https://portal.fiskaltrust.fr/

EFSTA Requirements

To link a cash register with EFSTA, it is first necessary to download an electronic fiscal register, EFR, from the following link: http://public.efsta.net/EFR/

The EFR must then be installed on every cash register. After that, the EFR setup can be opened in the browser via http://localhost:5618/. Under Profile, the badge of the company to be used must be specified. The badge can be viewed in the EFSTA portal in the company details. Under TSE, the TSE to be used must be specified, because EFSTA supports TSEs from various providers. Finally, we recommend setting the RN_TT checkbox so that each cash register uses its own data collection log and specifying HttpServer_AllowOrigin=* under Attributes so that the Business Central web client can communicate with the locally installed service. After that, the local EFR service must be restarted to complete the setup.

EFSTA requirements Click to enlarge

Fiscal Setup BE-POS

To set up the link between the cash register and the fiscal provider, use Setup → Fiscalization. This depends on the cash register setup.

Fiscal setup overview Click to enlarge

General

Fiscal setup general Click to enlarge

Field Description
Location Location code
Cash Register Cash register code
Provider Fiscalization provider
Module The country or fiscal module
Active Activates fiscalization
In Use Indicates that the fiscal cash register setup is in use
Ignore Warnings Ignores fiscal warnings during checkout
Default VAT Rate Specifies the default VAT
Signature Print Defines how the signature should be printed
Length of Print Line Defines the maximum number of characters per print line
Use Alternative Font Defines whether the printer’s alternative font should be used to print the signature, reducing the required space on the receipt
QR Code Size Defines the print size of the QR code. EPSON printers support values between 1 and 16
Request Timeout Defines the request timeout in milliseconds

Note: In Germany, currently only code printing is permitted.

Functions

Fiscal setup functions Click to enlarge

Field Description
Test Document Sends a test command to the respective interface
Zero Receipt Creates a receipt with the request to the TSE and the configured service
Test QR Code Sends a test QR code to the receipt printer

Fiskaly

For Fiskaly, the setup can be created automatically using the Initialize Fiskaly Setup function. Only the Fiskaly login data and the organization ID have to be specified, and an admin PIN of at least 6 digits must be assigned.

Fiskaly setup Click to enlarge

Field Description
Organization ID ID of your Fiskaly organization
Sub-Organization ID ID of the Fiskaly organization assigned to the location. Every location should have its own sub-organization
API Key Create an API key in your Fiskaly dashboard. The cash register uses the API key to access the assigned sub-organization
API Secret The secret that belongs to the API key. The cash register uses the API key to access the assigned sub-organization to which the key belongs
TSE ID The ID of your technical security equipment, TSE, in the Fiskaly cloud
Client ID The client ID belongs to this cash register. Every cash register should have its own client ID
PUK The admin PUK
PIN The admin PIN
Signing URI Defines the Sign API address. The cash register uses the Sign API to sign receipts
Management URI Defines the Management API address. The cash register uses the Management API address to create new sub-organizations, API keys, and client IDs
DSFinV-K URI Defines the DSFinV-K API address. The cash register uses the DSFinV-K API to transfer each transaction to Fiskaly in a standardized format
Transfer URI Defines the address for the transfer API of the Fiskaly ERiC interface
Registered for DSFinV-K Indicates whether the cash register has been registered for the Fiskaly DSFinV-K API

Initialization

  1. To initialize a new cash register setup, use the Initialize Fiskaly Setup action.

Initialization step 1 Click to enlarge

  1. In the next window, the values for API Key and API Secret are requested. These values are the same for every cash register and customer because they represent the connection to the BE-terna Fiskaly account and can only be obtained from the cash register provider BE-POS.

Initialization step 2 Click to enlarge

  1. This is followed by the display of the company data determined via the respective location or tenant.

Initialization step 3 Click to enlarge

  1. Next, the PUK, which is unique for each cash register, is displayed and a PIN with at least six digits is required, although the same PIN can be used for all cash registers. The PUK does not necessarily have to be noted because it can be viewed at any time via the password-protected admin data. Normally, these values are not needed; they serve only for admin identification of the interface.

Initialization step 4 Click to enlarge

  1. You are then asked whether the cash register should be registered for DSFINV-K, which is confirmed with Yes.

Initialization step 5 Click to enlarge

  1. Next, the DSFINV-K-relevant data is displayed, where only the brand & model of the hardware used still has to be added.

Initialization step 6 Click to enlarge

  1. The configuration is now complete and can be checked by creating a test document and a zero receipt.

Initialization step 7 Click to enlarge

  1. The final step is to activate the Fiskaly setup for the respective cash register setup. However, this should only be done immediately before commissioning, because after that no changes are possible and the respective cash register setup is permanently linked to the respective Fiskaly setup.

Initialization step 8 Click to enlarge

Actions

The following actions are available for Fiskaly.

Fiskaly actions Click to enlarge

Initialize Fiskaly Setup

Creates a new client and TSE for this cash register setup and, if necessary, a new sub-organization. This action is described in detail in the Initialization section above.

Change Fiskaly Branch Data

This action can be used to view and change the branch data of the assigned Fiskaly sub-organization. Confirm the login data first. The branch data is then displayed.

Fiskaly branch data login Click to enlarge

Fiskaly branch data Click to enlarge

TSE Export

Using TSE Export, all individual transactions of the TSE can be exported and downloaded as a ZIP archive. The data to be exported can be filtered to a specific period.

Fiskaly TSE export Click to enlarge

Register for DSFinV-K

This can be used to register the Fiskaly client for the DSFinV-K interface, through which completed cash register closings, including all receipts and Fiskaly signatures, are transferred either via a job queue or manually. When registering, it is mandatory to specify the hardware manufacturer and model. If the Fiskaly client is already registered for the DSFinV-K interface, this action can be used to change the registration data.

DSFinV-K registration Click to enlarge

DSFinV-K File Export

The DSFinV-K file export downloads all cash register closings transferred to Fiskaly for this Fiskaly client in the specified period as a ZIP archive. The data contained in the ZIP archive corresponds to the format of the DSFinV-K interface.

DSFinV-K file export Click to enlarge

Deactivate TSE

This action deactivates the TSE of the current Fiskaly client.

Show Admin Data

After the password has been entered successfully, this action displays the admin PUK and PIN.

Show admin data Click to enlarge

Fiskaly Notification to Tax Office

Fiskaly notification to tax office Click to enlarge

Reporting the cash register data to the tax office is done with the fiscal provider Fiskaly via the Submission API. A prerequisite for the report is that all cash registers to be reported already have an active Fiskaly TSE. Only then can an end device be reported to the tax office.

Notification of the Taxpayer

The Taxpayer action retrieves the taxpayer data stored in Fiskaly and opens the setup card. If no data has yet been stored in Fiskaly, the card is prefilled with the data from the company information.

Taxpayer Click to enlarge

Please check the data for correctness and completeness. The 13-digit Elster tax number can be determined from the combination of federal state and tax number using various tools and websites. When closing the input form, if data has changed or if no data has yet been transmitted to Fiskaly, a prompt is displayed asking whether the data should be sent to Fiskaly. If the transmission is successful, the input form closes without a message; a notification is displayed only in the event of an error.

Taxpayer transmission Click to enlarge

Notification of Branches

The Branches action retrieves the branch data stored in Fiskaly, corresponding to the locations, and opens the setup list. If no data has yet been stored in Fiskaly, the data is prepared from the location data. The branch list shows only those branches that have at least one cash register with an active TSE.

Branches Click to enlarge

Please check the address data for correctness and completeness. If a branch is closed, this must be reported by means of an updated notification with a filled closure date. When the dialog is closed, all records for which the Send Data checkbox is active are transmitted to Fiskaly. If the transmission is successful, the branch list closes without a message; only error cases display a notification.

Notification of Client Additional Data

The Client Additional Data action retrieves the clients stored in Fiskaly, corresponding to the cash registers, and opens the setup overview. If no data has yet been stored in Fiskaly, the overview is prefilled with the DSFinV-K data stored in Fiskaly for this cash register. The fields Software, Software Version, Type, Acquisition Date, and Commissioning Date are also prefilled for new cash registers.

Client additional data Click to enlarge

Please check the data for correctness and completeness. When the input form is closed, all records for which the Send Data checkbox is active are sent to Fiskaly. If the transmission is successful, the form closes without a message; a notification is displayed only in the event of an error.

Notification to the Tax Authority

With the Transfers action, the cash register data can be reported to the tax authority and all transfers can be managed. Under Start, transfers can be prepared, created, and checked. The ERiC/Elster Notification group contains the actions with which the previously created transfers can be sent to the tax authority. The actions in both groups are arranged so that they can be executed from left to right.

Transfers Click to enlarge

Action Description
Prepare Transfers Creates one transfer per branch. Note: There may be only one transfer per branch that does not have the status Transfer Successful. All created transfers are prefilled with the taxpayer data. Please check this data for correctness.
Create Transfers This transmits prepared transfers to Fiskaly. If the status is faulty after a transfer has been updated, the validation XML file can be downloaded via Retrieve ERiC/Elster Validation XML in order to inspect the relevant errors. After correcting the errors, the failed transfer should be removed via Delete Transfer, and a new transfer should be prepared and sent.
Check Transfer Updates the status of an existing transfer.
Retrieve ERiC/Elster Validation XML In the event of an error, this can be used to download the ERiC/Elster validation XML file that contains the corresponding error messages.
Retrieve Transfer Preview PDF If the transfer has the status Validation Successful, the summary of the data must be downloaded as a PDF via Retrieve Transfer Preview PDF and checked manually, because this document contains the data that will be sent to the tax authority. Once the data has been checked, the notification to ERiC/Elster can be made in the next step via the actions in the ERiC/Elster Notification group.
Delete Transfer Deletes a failed transfer.
Retrieve Transfer XML Downloads the transfer in XML format.

ERiC/Elster notification Click to enlarge

Action Description
Send Notification Sends a successful checked transfer to the tax authority. The status of the send process can be updated via Check Notification. Depending on the status, error handling may be required via Retrieve Notification XML.
Check Notification Updates the status of a sent notification.
Cancel Notification Cancels the sending process to the tax authority. This is only possible within a very short period between creation of the notification and before processing of the notification by the tax authority, status Transfer Pending.
Retrieve Notification XML Downloads the ERiC/Elster notification XML file. This action can only be used in the event of an error.
Retrieve Notification PDF This action can only be executed for transfers that were successfully sent to the tax authority, status Transfer Successful. The downloaded notification PDF should be stored with or added to the procedural documentation.

Notification status Click to enlarge

EFSTA

Before EFSTA can be set up, the electronic fiscal register, EFR, must first be installed locally on the PC. After that, the URL to the EFR can be stored under Request URI with the suffix /register.

EFSTA setup Click to enlarge

Field Description
Location ID Location code
Cash Register Setup ID Cash register code
Request URI Specifies the request address
Request URI Reprint Specifies the request address for reprint
Request URI Text Print Specifies the request address for text printing
Request URI Display Specifies the request address for the customer display
Request URI Drawer Specifies the request address for the drawer

Note: All information about EFSTA can be found in the EFSTA manual.

EFSTA Italy via Fattura PA

Fattura PA Click to enlarge

Fattura PA is the abbreviation for Fatturazione elettronica verso la Pubblica amministrazione and refers to the format used in Italy for electronic invoice exchange between companies.

The Fattura PA setup can be used to define how the export of Fattura PA files should be carried out.

Fattura PA setup Click to enlarge

Setup

Field Description
Active Activates the option to enter invoice data at the cash register and creates a job queue entry for the automatic export of XML files to Azure BLOB storage.
Fattura PA Numbers Specifies the number series for creating the invoice data records. This number is also included in the XML file name.
ABS Storage Account Specifies the name of the Azure storage account.
ABS Access Key The access key for the storage account.
ABS Export Container The name of the container in which the Fattura PA XML files are stored.

Fiskaltrust

Note: This module supports the French fiscalization requirements. To use Fiskaltrust for France, login credentials and a locally running service are required. The credentials and the service can be generated after signing in to the Fiskaltrust portal for France.

Setup

Setup in the Fiskaltrust portal

  1. Create a location.
  2. Create Rest Helper, signature creation unit, and queue, and assign the signature creation unit to the queue.

Fiskaltrust portal step 2 Click to enlarge

  1. Create a CashBox: description and location must be stored here.

Fiskaltrust portal step 3 Click to enlarge

  1. Link: In the CashBox configuration, the queue and the helper must be selected.
  2. Update the configuration and download the ZIP file for installation.

Fiskaltrust portal step 5 Click to enlarge

Installation of the local service

  1. Extract the folder from the included ZIP file. The ZIP file should not be blocked. To check this, right-click the ZIP file and choose Properties. The file can then be extracted via the context menu.
  2. Open PowerShell: Search for PowerShell via the start menu and start the application as Administrator to open the PowerShell console with administrator rights.
  3. Navigate to the installation directory: Use the cd command followed by the path to the installation directory, the extracted folder, of the service in which the executable file is located. You can then use the dir command to check that the file exists and that it is the correct directory.
  4. Execute the installation command: To start the installation, call install-service.cmd.
  5. Check the installed service: Search for Services via the start menu. The service can be found under fiskaltrust-… If it is not started, it must be started.

Fiskaltrust local service Click to enlarge

Setup in the cash register software

The data obtained from the Fiskaltrust portal is now entered into the corresponding fields.

Fiskaltrust cash register software 1 Click to enlarge

Fiskaltrust cash register software 2 Click to enlarge

Field Description
Cashbox ID This is the link between the fiscalization unit and the cash register. It is displayed in the Fiskaltrust portal.
Access Token Required to ensure valid access to the locally running service.
Base URL Specifies the request address of the local service.

The data should be checked here after the CashBox has been set up correctly:

Once the configuration is complete, it can be checked by creating a test document and a zero receipt.

Fiskaltrust test document Click to enlarge

First use

If the setup is complete and the test receipt is successful, proceed with the following instruction. To create a valid start receipt, a POS process must be started. After that, all posted receipts are marked with a fiscalization signature.