Zunächst nochmal eine kurze Basis-Info – was ist eine TSE?
„TSE“ ist die Abkürzung für „Technische Sicherheitseinrichtung“, ein Sicherheitsmodul, welches in/an elektronischen Registrierkassen eingesetzt werden muss und welches der lückenlosen und unveränderbaren Aufzeichnung aller Kassenvorgänge dient.
Die deutsche Kassensicherungsverordnung (KassenSichV) schreibt den Einsatz einer TSE ab 1. Januar 2020 vor.
Welche Fristen gelten?
Grundsätzlich setzt die KassenSichV voraus, dass Betreiber elektronischer Registrierkassen ab 1. Januar 2020 eine zertifizierte technische Sicherheitseinrichtung im Einsatz haben und verwenden. Da Anfang 2020 keine zertifizierte TSE auf dem Markt verfügbar war, erließ das Bundesfinanzministerium Anfang November 2019 eine Nichtbeanstandungsregelung.
Kassenbetreiber haben danach eine verlängerte Frist bis zum 30. September 2020 und werden in diesem Zeitraum nicht beanstandet, wenn sie die Bedingungen der KassenSichV nicht einhalten und somit nicht GoBD-konform wären. Aufgrund der aktuellen „Corona-Situation“ haben die meisten Bundesländer diese Frist nochmals verlängert, hier nochmal detaillierte Informationen dazu (WIKI 24132).
Kassenbetreiber stehen in der Verpflichtung, sich eigenständig so bald wie möglich um die Umrüstung ihrer Kassen zu bemühen. Für Registrierkassen, die aufgrund ihrer Bauart nachweisbar nicht umrüstbar sind, und zwischen 25. November 2010 und Ende 2019 gekauft wurden, gilt eine Übergangsfrist bis zum 31. Dezember 2022.
Mit der TSE werden Datensätze der Kasse gesichert, also mit einer Signatur gegen nachträgliche Manipulationen geschützt. Die abzusichernden Daten werden von der Kassensoftware an die TSE übergeben. Diese erstellt zu jedem Datensatz eine eindeutige Transaktion-ID, einen Zeitstempel und eine elektronische Signatur und gibt diese Werte an die Kasse zurück.
Die SofENGINE Kasse arbeitet mit der SWISSBIT TSE zusammen.
Sie müssen also diese Swissbit Hardware erwerben, um die Kasse gemäß Kassensicherungsverordnung betreiben zu können.
Hier können Sie das Zertifikat der TSE herunterladen, da es ggf. vom Finanzamt angefordert wird.
Die TSE ist als USB-Stick und SD-Karte verfügbar.
Über den LAN-Server von Swissbit ist eine Verteilung im Netzwerk möglich.
Genauere Informationen erhalten Sie bei Swissbit.
Achten Sie bei Erhalt der Hardware darauf, dass die Verpackung ungeöffnet, unbeschädigt und mit einem Siegel verschlossen ist.
Mit der Hardware erhalten übrigens Sie einige Aufkleber. Einen davon sollten Sie an der Kasse anbringen, um ggf. die Seriennummer schneller „bei der Hand“ zu haben, denn nicht immer ist der Stick direkt am Rechner an der Kasse angebracht.
WICHTIGER HINWEIS:
Der Stick kann theoretisch am Server für mehrere Kassen genutzt werden. Wir empfehlen dieses Vorgehen jedoch aktuell ausdrücklich nicht und haben diese Möglichkeit derzeit unterbunden. Von daher wird pro Kasse eine
TSE-Einheit benötigt.
Wenn mehr Erfahrungen vorhanden sind, könnte sich das ggf. noch ändern, aktuell sind wir der Ansicht, dass es sicherer ist, pro Kasse eine eigene TSE zu nutzen. Entsprechende Anfragen wie hier genau verfahren werden muss liegen dem BMF/BSI
von uns vor, leider bisher noch ohne Antwort.
Die SoftENGINE Kasse wird in den meisten Anwendungsfällen im Netzwerk in einer Terminal-Server-Umgebung eingesetzt werden. Der Stick ist also am Server anzustecken. Das ist auch insofern sicherer, dass niemand einfach den Stick abziehen und mitnehmen kann. Sollten Sie den Stick direkt an der Kasse anbringen müssen, sichern Sie ihn unbedingt durch ein entsprechend geeignetes Edelstahl-Sicherungskabel.
Ist der Stick angebracht, prüfen Sie im Windows-Explorer, ob dieser auch richtig erkannt wird.
Öffnen Sie nun die Basisdaten Ihres Kassensystems.
Im Menü „Einstellungen“ können Sie die Option aktivieren, dass die Kasse „TSE-konform“ genutzt werden soll.
Damit werden verschiedene Funktionen, wie beispielsweise Zahlmöglichkeiten umgestellt. So ist es beispielsweise nicht mehr erlaubt, beim Bezahlvorgang den Beleg auf Lieferschein oder Auftrag zu ändern. In diesem müsste der Beleg storniert und neu erfasst werden. Auch ist die Möglichkeit der Umwandlung eines bereits abgeschlossenen Beleges hinsichtlich der Zahlart ebenfalls mehr erlaubt (z.B. wenn die Karte des Käufers nicht funktioniert). Auch in diesem Fall muss der Vorgang storniert werden
Nach dieser Einstellung starten Sie im im Menü „Extras“ die Funktion „TSE-Stammdaten“.
Beim ersten Start wird noch keine TSE angezeigt, Sie müssen zunächst das System nach neuen TSEs durchsuchen.
Diese Funktion finden Sie im Menü „Allgemein“.

Es kann nach TSE-Einheiten welche direkt lokal eingesteckt sind gesucht werden,
oder nach TSE-Einheiten welche mit einem LAN-Server verbunden sind.
Je nach gewählter Option erscheint ein entsprechender Dialog.
LAN-Server:

Lokale Suche:
Wird eine TSE gefunden, dann erscheint diese in der Liste der TSEs.
Die TSE muss nun noch einer Kasse zugeordnet werden. Sie öffnen dazu die Stammdaten der Kasse und finden dort im Menü „Tools“ die Funktion „TSE Zuordnen“.
Es wird automatisch ein Assistent gestartet, der Sie durch die notwendigen Schritte der Einrichtung begleitet. Mit „Weiter“ geht es zum nächsten Schritt.
Die verfügbaren TSEs werden angezeigt, wählen Sie den betreffenden aus, wenn Sie mehr als eine TSE verbunden haben.
Legen Sie eine Admin-PIN, eine TimeAdmin-PIN und eine Admin-PUK fest.
Die Admin-PIN benötigen Sie zum Anmelden und für Änderungen auf Administratorenebene.
Geben Sie diese 3mal falsch ein, ist die Anmeldung gesperrt.In diesen und einigen anderen Fällen benötigen Sie die Admin-PUK, ein Art „Super-PIN“.
Achtung: wenn Sie die Admin-PUK nicht mehr kennen, lässt sich die TSE nicht mehr verwenden. Achten Sie also unbedingt darauf, diese PUK irgendwo sicher und wiederauffindbar abzulegen.
Die TimeAdmin-PIN benötigen Sie zum Setzen der Uhrzeit der TSE.
Die PINs sind 5-stellig und die ADMIN-PUK 6-stellig vorzugeben.
Nach dem klick auf „Weiter“ wird die TSE geprüft und eine Verbindung hergestellt.
Danach ist die Kasse mit der TSE verknüpft und kann verwendet werden.
In den Kassenstammdaten wird die TSE angezeigt.
Bei einem Update des Kassensystems auf eine neue Version sollten Sie nochmals die Einstellung des BON-Drucks prüfen. Die TSE-Daten werden aktuell nur bei Verwendung des Formulars 028 ausgegeben.
Beim Kassiervorgang sollten nun die TSE- und Transaktionsdaten mit auf dem BON ausgegeben werden:
Besonderheiten:
- Die TSE-Einheit benötigt nach jedem „Stromverlust“ (zB. durch Herunterfahren des PCs) oder spätestens nach 25 Stunden einen „Self-Test“. Dieser wird im Normalfall beim Start der Kasse autom. durchgeführt inkl. Hinweis. Sollte es während des aktiven Betriebs der Kasse dazu kommen, erscheint eine entsprechende Hinweismeldung. Ein Self-Test dauert maximal 60 Sekunden. Sollte der Self-Test nicht erfolgreich sein (oder manuell abgebrochen werden), kann diese TSE-Einheit nicht für den laufenden Kassenbetrieb genutzt werden. Der Kassenbetrieb kann zwar fortgesetzt werden, jedoch werden keine Belege signiert!
- Die TSE-Einheit verlangt nach jedem „Stromverlust“ erneut eine „Anmeldung eines Users“. Falls notwendig, kommt während des Betriebs der Kasse autom. ein PIN-Fenster, in der die Eingabe des PINs für den User „Time-Admin“ notwendig ist.
- Beim Ausfall der TSE-Einheit während des laufenden Betriebes wird auf dem BON die
Information „TSE-EINHEIT AUSGEFALLEN“ ausgedruckt, sowie in der Protokolldatenbank ein Eintrag vorgenommen. - Die Frist für eine neue TSE-Einheit wenn diese während des laufenden Betriebes ausfällt, ist im Anwendungserlass zu
§ 146a AO Pkt. 7. wie folgt festgelegt:
kann die Kasse bei Ausfall der TSE weiterbetrieben werden, wenn der TSE-Ausfall auf dem Bon ersichtlich ist, der
TSE-Ausfall zur Kasse dokumentiert wird und unverzüglich Maßnahmen zur Behebung der Ausfallursache getroffen
werden. - Die Daten die auf dem Stick gespeichert werden, werden von der BüroWARE nicht ausgelesen.
Diese sind im falle einer Steuerprüfung selbst per TAR-Export (bspw. im Kassenstamm) zu exportieren. - Thema Datensicherung des Kunden beim Partner Vor-Ort einspielen.
– Die Daten die auf dem Stick gespeichert werden, sind im Falle einer Datensicherung nicht notwendig.
– Die Verbindung zur TSE-Einheit sollte gekappt werden, da ansonsten beim testen/prüfen der Daten
Fehlermeldungen erscheinen.
Funktionseinschränkungen innerhalb der Kasse durch die TSE
Leider gibt es aufgrund der Gesetzlichen Vorgaben einige Einschränkungen innerhalb der Kasse wodurch
diverse Module/Vorgänge nicht mehr möglich sind, da zum Abschluss eines BON Daten in die TSE
geschrieben werden, welche nachträglich NICHT mehr geändert werden dürfen.
- Zahlart nachträglich ändern
- Einen BON von heute korrigieren
- Einen BON nachträglich Stornieren (hier alternativ die BON-Retoure verwenden)
- Beleg Parken/Holen über mehrere Kassen hinweg
Aufgrund der noch nicht final abgeschlossener Informationslage zu dem Thema TSE/KassensichV2020 kann sich
daran ständig etwas ändern. Uns fehlen derzeit auch noch wichtige Informationen vom BMF/BSI sodass es hier
ggf. noch zu Änderungen kommen kann, wenn uns diese Vorliegen.
Eine sehr Informative Seite zu diesem Thema im Allgemeinen findet man unter www.dfka.net
Eine Liste der möglichen Fehlercodes, die die TSE zurückgibt:
0 ERR_NOERROR,
1 ERR_INVALID_PARAMETER,
2 ERR_NO_CARD,
3 ERR_IO,
4 ERR_TIMEOUT,
5 ERR_OUTOFMEM,
6 ERR_INVALID_RESPONSE,
7 ERR_STORE_FULL,
8 ERR_RESPONSE_MISSING,
9 ERR_EXPORT_NOT_INITIALIZED,
10 ERR_EXPORT_FAILED,
11 ERR_INCREMENTAL_EXPORT_INVALID_STATE,
12 ERR_INCREMENTAL_EXPORT_NO_DATA,
13 ERR_POWER_CYCLE_DETECTED,
14 ERR_FIRMWARE_UPDATE_NOT_APPLIED,
15 ERR_THREAD_START_FAILED,
16 ERR_NETWORK,
17 ERR_CMD_NOT_SUPPORTED,
18 ERR_LAN_INVALID_API_TOKEN,
19 ERR_NETWORK_TIMEOUT,
20 ERR_CONNECTION_FAILED,
21 ERR_FROM_CARD_FIRST,
22 ERR_UNKNOWN,
23 ERR_NO_TIME_SET,
24 ERR_NO_TRANSACTION_IN_PROGRESS,
25 ERR_INVALID_CMD_SYNTAX,
26 ERR_NOT_ENOUGH_DATA_WRITTEN,
27 ERR_TSE_INVALID_PARAMETER,
28 ERR_TRANSACTION_NOT_STARTED,
29 ERR_MAX_PARALLEL_TRANSACTIONS,
30 ERR_CERTIFICATE_EXPIRED,
31 ERR_NO_LAST_TRANSACTION,
32 ERR_CMD_NOT_ALLOWED,
33 ERR_TRANSACTION_SIGNATURES_EXCEEDED,
34 ERR_NOT_AUTHORIZED,
35 ERR_MAX_REGISTERED_CLIENTS_REACHED,
36 ERR_CLIENT_NOT_REGISTERED,
37 ERR_EXPORT_UNACKNOWLEDGED_DATA,
38 ERR_CLIENT_HAS_UNFINISHED_TRANSACTIONS,
39 ERR_TSE_HAS_UNFINISHED_TRANSACTIONS,
40 ERR_TSE_NO_RESPONSE_TO_FETCH,
41 ERR_NOT_ALLOWED_EXPORT_IN_PROGRESS,
42 ERR_WRONG_STATE_NEEDS_PUK_CHANGE,
43 ERR_WRONG_STATE_NEEDS_PIN_CHANGE,
44 ERR_WRONG_STATE_NEEDS_ACTIVE_CTSS,
45 ERR_WRONG_STATE_NEEDS_SELF_TEST,
46 ERR_WRONG_STATE_NEEDS_SELF_TEST_PASSED,
47 ERR_FWU_INTEGRITY_FAILURE,
48 ERR_FWU_DECRYPTION_FAILURE,
49 ERR_FWU_WRONG_FORMAT,
50 ERR_FWU_INTERNAL_ERROR,
51 ERR_FWU_DOWNGRADE_PROHIBITED,
52 ERR_TSE_ALREADY_INITIALIZED,
53 ERR_TSE_DECOMMISSIONED,
54 ERR_TSE_NOT_INITIALIZED,
55 ERR_AUTHENTICATION_FAILED,
56 ERR_AUTHENTICATION_PIN_BLOCKED,
57 ERR_AUTHENTICATION_USER_NOT_LOGGED_IN,
58 ERR_SELF_TEST_FAILED_FW,
59 ERR_SELF_TEST_FAILED_CSP,
60 ERR_SELF_TEST_FAILED_RNG,
61 ERR_FWU_BASE_FW_ERROR,
62 ERR_FWU_FWEXT_ERROR,
63 ERR_FWU_CSP_ERROR,
64 ERR_EXPORT_NONE_IN_PROGRESS,
65 ERR_EXPORT_RETRY,
66 ERR_EXPORT_NO_DATA_AVAILABLE,
67 ERR_CMD_NOT_FOUND,
68 ERR_SIG_ERROR,
69 ERR_FROM_CARD_LAST,
70 ERR_CARD_NOT_SAME,
71 ERR_ERRNOTFOUND
















