Skip to main content

πŸ‡¦πŸ‡Ή Austria

This document describes all necessary configuration for a compliant setup in Austria following the RSKV.

Local mode support

Local mode is currently not supported. Activating local mode is done at your discretion and risk. We strongly recommend conducting thorough testing of local mode before going live to ensure it aligns with your expectations.

If you require support for local mode in compliance countries, please submit a JIRA development ticket, namely a request for change.

For Austria, compliance configurations are currently supported via Fiskaly or A-trust.

Please expand configuration guidelines accordingly.

caution

Support for A-trust will not be provided for new on-boardings. Please use Fiskaly configurations.


Configurations using Fiskaly​

Fiskaly fees

When using Fiskaly, additional fees imposed by Fiskaly will apply.

In order to configure your store in Austria to be compliant using Fiskaly, the following configurations need to take place.


Warning

When configuring in a testing environment, Fiskaly will erase all organization units that you've synced every two weeks. Once deleted, there is no means of restoration, and you cannot resync it; instead, you must reconfigure it in EVA by creating new OUs with new fiscal stations and applying the configuration settings to that OU, along with the synchronization task. If you're in a production environment, there's no need to worry.

Settings​

The following settings should be set on the Austria container level. Setting values may vary per customer therefore, it will be supplied from our side at time of configuration.

SettingValueDescription
Auditing:ProviderFISKALY/ATSets the certified aspects.
Auditing:FiskalyManagement:ApiKeytest_9w8zrc4vg9p8fhexm72qiiz9jThe value will be provided by us (this is just a sample).
Auditing:FiskalyManagement:ApiSecretpBEcMM3HVOKUnT5bfmmy7hFIhBzUpsBOXf1SI5ztKEPThe value will be provided by us (this is just a sample).
Auditing:FiskalyManagement:Identifiera7270561-f350-4062-8a3b-e65c2c7b5d73This is the non-managed store ID from Fiskaly. The value will be provided by us (this is just a sample).
Auditing:Austria:FON:UserPIN***You will need to create this in the FinanzOnline Portal. For testing purposes any 5 characters can be used here.
Auditing:Austria:FON:UserID***You will need to create this in the FinanzOnline Portal. For testing purposes any 5 characters can be used here.
Auditing:Austria:FON:ParticipantID***You will need to create this in the FinanzOnline Portal. For testing purposes any 8 characters can be used here.
Auditing:FiskalyManagement:OrganizationPrefixEVAThe prefix text that will be shown before the store name (Organization unit) within Fiskaly. For example EVA - Wien Store
Auditing:GenerateTerminalTotalstrueTracks totals of your stations.
UniqueInvoiceNumberSequencetrueMakes sure EVA creates separate invoice chains.
Checking missed configuration(s)

Once you're done with all configuration steps. Make sure to run the service: AuditingValidateConfiguration which should return any step(s) that you may have missed or possibly undocumented.

Setting for Fiskaly offline​

Using this setting will simulate an offline Fiskaly scenario, and accordingly force transactions offline.

SettingValue
Auditing:Austria:Fiskaly:ForceOfflinetrue
Testing only

This setting is for testing purposes only.

Sicherheitseinrichtung ausgefallen

In test or live instances where Fiskaly is offline, the wording "Sicherheitseinrichtung ausgefallen" (depiocting a failed connection) will be printed on the receipt where normally the "Signature QR code" would be.

Settings for e-commerce​

For e-commerce in Austria, we adopt a Default auditing provider.

This approach allows for fully customizable invoice templates according to customer preferences. Moreover, the sequencing of documents will adhere to a specific format: OU ID - Sequential Number.

Please configure the following settings:

  • Auditing:Provider - DEFAULT
  • Auditing:UseOrganizationUnitSequence - true

Note that you must also have the stencil template for the non-certified invoice configured.

Fiskaly

There is no need for Fiskaly integration for E-com.

Company​

When configuring your Austrian organization unit(s), a company needs to be attached. If there isn’t an Austrian company present yet, a new one can be created within Admin Suite under the Companies chapter. The following fields need be filled:

  • Name
  • VatNumber
  • RegistrationNumber
  • Address (VisitorAddress)
    • Street
    • HouseNumber
    • ZipCode
    • City
    • CountryID

Organization units​

Once a company is in place, you need to attach it to an organization unit.

Make sure the following fields are filled when creating an organization unit:

  • Name
  • BackendID (store number)
  • BranchNumber
  • Address
    • Street
    • ZipCode
    • City
    • CountryID
  • CompanyID
note

It is crucial that you have the CompanyID field filled when creating the organization unit. You can retrieve this ID from the Austrian company you created/have. This is the legal entity under which this OU/store is operating and will be referred to when filling in the details on the invoices and receipts.


Fiskaly Organization unit sync report​


In order to keep track of all the organization units that are being synced with Fiskaly and status of the sync, we've created an e-mail report.

To set this up a stencil configuration is required. Details as follows:

  • Stencil type: Template
  • Name: SyncStoresWithFiskaly
  • Destination: Mail
  • Content: Please copy and paste this in the content box

JavaScript
<html lang="en">
{#subject}German Fiskaly Sync{#/subject}
<head>
<title>Sync organization units</title>
<meta charset="utf-8" />
<style>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}

td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}

tr:nth-child(even) {
background-color: #dddddd;
}
</style>
</head>

<body>

<div class="container">
<h2>Hello, here is your syncronization task report:</h2>

<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Is synced</th>
<th>Failure message</th>
</tr>
</thead>
<tbody>
{{for SyncMessages}}
<tr>
<td>{{>OrganizationUnitID}}</td>
<td>{{>OrganizationUnitName}}</td>
<td>{{>IsSynced}}</td>
<td>{{>ReasonOfFailure}}</td>
<td></td>
</tr>
{{/for}}
</tbody>
</table>
</div>
</body>

The email will contain a list of every OU of type shop that is part of the Austrian container and its respective status within Fiskaly (true for success or false for fail). If the sync result is false, a failure reason will be provided to ease traceability.

note

The sync task needs to be setup in order for this sync report to run.

Create stations in EVA​

You can find steps on adding a new station here.

When creating a station, make sure the following mandatory fields are filled:

  • Station name.
  • The checkmark This station is a fiscal station and will be used for transactions needs to be checked if you want this station to be synced on Fiskaly.

Further, please leave the fields Proxy ID and Fiscal System ID empty, and station BackendID is optional.

danger

If a station is not marked as fiscal station or when the station is not synced to Fiskaly, you won't be able to create any transactions, and an error will be thrown back on our apps. Therefore, it is crucial that you check this box.

Tasks​

In order to sync all the EVA Organization Units to Fiskaly the follow task needs to be set up: EVA.Auditing.Austria.SyncAustrianOrganizationUnitWithFiskalyTask, this task can be scheduled to run daily or once.

Within the task the following settings can be set:

  • Name: A readable name for your task. Example: SyncAustrianOrganizationUnitWithFiskalyTask
  • Cron: A Cron of choice to let the task run at a certain interval. It’s recommended to let this task run daily.
  • ContainerID: If you want to sync all the stores from your container you can fill in the ID from your Austria container. It will sync all stores at once. This field is recommended if you want this task to run automatically every day.
  • ShopID: If you run this task once, you can add a specific Organziation Unit ID in here. For example to sync just one Organization Unit to Fiskaly. If you schedule this task to run daily, it's recommended to leave this field empty and only use the ContainerID field.
note

Please note that this task can only run, when the above EVA settings are present. An Organization unit needs to have a full address and needs to be of type shop. If one of these details are missing, the Organization Unit will not sync to Fiskaly & will show up in the sync report if the report is configured.

Generating exports​

To generate DEP7 (Datenerfassungsprotokoll / Data acquisition log) files from EVA, head over to the Financials module of Admin suite, and further to the Archive chapter.

Steps: Click on Create Audit, select the desired Organization unit, specify the year and a period (1 for January, 2 for February, and so forth), then click Create.


note

Leaving the Period field blank will generate the full year, or up until the close of the most recent (closed) financial period, whichever applies.

For example, you are generating the file on May 4, 2023, your input for the Year field is 2023, Period is left blank, and your financial period was closed on April 30, 2023. In this scenario, the DEP file will cover January 01, 2023 up until the close of the latest financial period i.e. April 30, 2023.

If a file has already been generated for a specific month, a file cannot be generated again for that same month.

For example, assume you close your financial periods on a monthly basis, so on 31 March, 30 April, and so forth. Now, you've successfully generated the DEP file for the month and financial period of April 2023 (Year: 2023 & Period: 4). Later, in the year 2024, you generate a DEP file for the year 2023 (Year: 2023 & Period: left blank). In this scenario, the DEP file will not include the month of April 2023 since that was already generated.

Stencil for Certified invoices​

For configuration and more details about Certified Invoices please refer to the general concepts section under Certified invoice stencil.

Sample PDF and thermal receipts

Creating a web user in FinanzOnline​

Please download this PDF and follow the steps to create a web user in FinanzOnline.

Configurations using A-trust​

Configurations using A-trust

danger

Support for A-trust will not be provided for new onboardings. Please use Fiskaly configurations.

In order to configure your store in Austria to be compliant using A-Trust, the following configurations need to take place.


Settings​

The following settings should be set on the most convenient level possible. In other words, if your organization structure has a country organization which houses all Austrian stores, then that's where they should go.

SettingValueDescription
Auditing:ProviderAUSTRIASets the certified aspects.
Auditing:GenerateTerminalTotalstrueMakes sure EVA will track totals for stations.
ATrust:Host***The host URL for the A-Trust a.sign application.
ATrust:Username***Your A-trust username.
ATrust:Password***Your A-Trust password.
Auditing:Austria:AESKey***AES key used to encrypt the transaction counter value.
Auditing:Austria:DEP:Host***The host URL for the e-Tresor DEP application.
Auditing:Austria:DEP:Username***Your e-Tresor DEP username.
Auditing:Austria:DEP:Password***Your e-Tresor DEP password.
UniqueInvoiceNumberSequencetrueMakes sure EVA creates separate invoice chains.
note

In a scenario where the A-Trust:Username value is correct but ATrust:Password isn't, your account becomes blocked on A-Trust after 5 invalid attempts.

Company​

When configuring your Austrian organization unit(s), a company needs to be attached. If there isn’t an Austrian company present yet, a new one can be created within Admin Suite under the Companies chapter. The following fields need be filled:

  • Name
  • VatNumber
  • RegistrationNumber
  • Address (VisitorAddress)
    • Street
    • HouseNumber
    • ZipCode
    • City
    • CountryID

Organization units​

Once a company is in place, you need to attach it to an organization unit.

Make sure the following fields are filled when creating an organization unit:

  • Name
  • BackendID (store number)
  • BranchNumber
  • Address
    • Street
    • ZipCode
    • City
    • CountryID
  • CompanyID
note

It is crucial that you have the CompanyID field filled when creating the organization unit. You can retrieve this ID from the Austrian company you created/have. This is the legal entity under which this OU/store is operating and will be referred to when filling in the details on the invoices and receipts.

Creating Stations​

Stations need to be created both in EVA and in FinanzOnline.

Creating stations in EVA​

You can find steps on adding a new station here.

When creating a station, make sure the following fields are filled in:

  • Station name.
  • The checkmark This station is a fiscal station and will be used for transactions needs to be checked.
note

All payment types must have a category, otherwise the payment can't be correctly mapped, and Ship Orders would fail.

Creating EVA stations in FinanzOnline​

When creating stations, these should also be registered in FinanzOnline as a 'Registrierkasse'. To do so properly, fill the KassenID field with a combination of OrganizationUnitID and StationID.

E.g. if OrganizationUnitID = 13 StationID = 236, fill KassenID in FinanzOnline with 13.236.

Taking stations into use​

Before a station can be used, we need to register a StartBeleg. When creating the station in EVA and adding a thermal printer to it, EVA will print the related document automatically. This document and the QR-code on the receipt should be checked with the BMF application.

Closing down stations​

When closing down stations, we need to register a Schlussbeleg. After deleting the station in EVA, a related document will automatically print, which can then be checked with the BMF application.

Tasks​

To comply with RSKV requirements, the following tasks need to be set up from Admin 1.0 under Management β†’ Tasks.

TaskSubtypeInterval
EVA.Auditing.PrintLegalDocumentTaskGeneratorYearlyControlDocumentYearly interval
EVA.Auditing.PrintLegalDocumentTaskGeneratorMonthlyControlDocumentMonthly interval
EVA.Auditing.PrintLegalDocumentTaskGeneratorStationInitializationDocument-
EVA.Auditing.PrintLegalDocumentTaskGeneratorStationClosingDocument-

Periodic documents​


There's two legal documents that need to be generated periodically;

  • MonatsBeleg
  • JahresBeleg

As mentioned before under tasks, these should be set up with the correct interval. Generally, those are generated at the very beginning of the month/year. The task generates the documents, stores it, and in turn makes a QR code of it (the QR code is what's scanned using the government app) that is retrievable by an Admin user via the Fiscal archiving β†’ Control documents.


Special documents​


Finally, there are two special documents for special situations.


Controlbeleg​

A control document can be requested during a tax audit or other legal store checks. This document can be printed from the Companion App at any time. To do so, go to the Information tab. There you will find a button called Print control document.


Sammelbeleg​

Whenever the A-Trust security device in your store loses connection, EVA will include the phrase "Sicherheitseinrichtung ausgefallen" on every receipt that's printed. When the connection is restored, you are legally obliged to print a SammelBeleg. This will be automatically printed when the connection is restored.


Generate audit file (DEP files)​


To generate DEP7 (Datenerfassungsprotokoll / Data acquisition log) files from EVA, head over to the Audit files chapter of Admin Suite.

Steps: Click on Create Audit, select the desired Organization unit, specify the year and a period (1 for January, 2 for February, and so forth), then click Create.

note

Leaving the Period field blank will generate the full year, or up until the close of the most recent (closed) financial period, whichever applies.

For example, you are generating the file on May 4, 2023, your input for the Year field is 2023, Period is left blank, and your financial period was closed on April 30, 2023. In this scenario, the DEP file will cover January 01, 2023 up until the close of the latest financial period i.e. April 30, 2023.

If a file has already been generated for a specific month, a file cannot be generated again for that same month.

For example, assume you close your financial periods on a monthly basis, so on 31 March, 30 April, and so forth. Now, you've successfully generated the DEP file for the month and financial period of April 2023 (Year: 2023 & Period: 4). Later, in the year 2024, you generate a DEP file for the year 2023 (Year: 2023 & Period: left blank). In this scenario, the DEP file will not include the month of April 2023 since that was already generated.


Stencils​

The following Stencils are important for a compliant setup in Austria;

CertifiedInvoice​

For configuration and more details about Certified Invoices please refer to the general concepts section under Certified invoice stencil for thermal &/or PDF . A separate stencil is required to set up the email in which a certified invoice would be attached to. Configurations for such stencil can be found under Email invoice stencil.

Sample PDF and thermal receipts

NulBelegen​

No special settings need to be applied to create the zero document, as they use the same stencil template as regular receipts.