Registrierkassenpflicht Österreich: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) (→Prüfsoftware zum Prüfen des Datenerfassungsprotokolls DEP aus Kiribati) |
Admin (Diskussion | Beiträge) (→Prüfsoftware zum Prüfen des Datenerfassungsprotokolls DEP aus Kiribati) |
||
Zeile 172: | Zeile 172: | ||
5. Batchfile Beispiel: "C:\Program Files (x86)\Java\jre1.8.0_91\bin\java" -jar C:\vfpprog\kiribati\Registrierkassenpflicht_AT\regkassen-demo-1.0.0\regkassen-demo-1.0.0\regkassen-verification-depformat-1.0.0.jar -i C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\test.json -c C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\cryptographicMaterialContainer.json -o C:\temp | 5. Batchfile Beispiel: "C:\Program Files (x86)\Java\jre1.8.0_91\bin\java" -jar C:\vfpprog\kiribati\Registrierkassenpflicht_AT\regkassen-demo-1.0.0\regkassen-demo-1.0.0\regkassen-verification-depformat-1.0.0.jar -i C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\test.json -c C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\cryptographicMaterialContainer.json -o C:\temp | ||
6. Die Datei cryptographicMaterialContainer.json muss auf das verwendete Zertifikat angepaßt werden. | 6. Die Datei cryptographicMaterialContainer.json muss auf das verwendete Zertifikat angepaßt werden. | ||
+ | |||
{ | { | ||
"base64AESKey" : "+A1Efn3HA4lk+mXPP/PJXfvtr2lRK0d+D7Q6+O3IeRQ=", | "base64AESKey" : "+A1Efn3HA4lk+mXPP/PJXfvtr2lRK0d+D7Q6+O3IeRQ=", | ||
Zeile 182: | Zeile 183: | ||
} | } | ||
} | } | ||
+ | |||
base64AESKey=AES-Schlüssel | base64AESKey=AES-Schlüssel | ||
+ | |||
certificateOrPublicKeyMap=ZertifikatsseriennummerHex | certificateOrPublicKeyMap=ZertifikatsseriennummerHex | ||
+ | |||
signatureCertificateOrPublicKey=oRequest.get('Signaturzertifikat') | signatureCertificateOrPublicKey=oRequest.get('Signaturzertifikat') | ||
Version vom 15. Januar 2017, 07:48 Uhr
Bitte beachten Sie auch die Bedienungs- und Programmieranleitung zur Registrierkasse
Inhaltsverzeichnis
- 1 Links
- 2 Allgemein
- 3 Einstellungen
- 4 Beleg
- 5 Anwendungsfälle
- 5.1 Inbetriebnahme der Kasse
- 5.2 Melden bei FinanzOnline
- 5.3 Erstellen von Stornobelegen
- 5.4 Erstellen von Traininsbelegen
- 5.5 Erstellen eines Nullbelegs (Jahres- Monats- Tagesbeleg, Sammelbeleg nach Ausfall, Schlussbeleg etc.)
- 5.6 Ausfall der Sicherheitseinrichtung
- 5.7 Sicherheitseinrichtung wechseln
- 5.8 Exportieren des DEP Protokolls
- 5.9 Prüfsoftware zum Prüfen des Datenerfassungsprotokolls DEP aus Kiribati
- 6 QR Code
- 7 Kasse Rechte
- 8 Technisch
Links
Registrierkassensicherheitsverordnung (RKSV)
Festlegungen des BMF zu Detailfragen der Registrierkassensicherheitsverordnung (RKSV)
Informationen Bundesministerium für Finanzen
Informationen Wirtschaftskammer Österreich
Handout Registrierkassen Technischer Teil Wirtschaftskammer Österreich
FAQ-Arbeitskreis-Kassensoftware Wirtschaftskammer Österreich
Allgemein
Alle Registrierkassen in Österreich müssen ab dem 1.1.2017 mit einer entsprechenden Sicherheitseinrichtung versehen sein. Kiribati.Cash Registrierkassen werden mit Produkten von A-Trust ausgestattet. Zum Einsatz kommen derzeit wahlweise ein Gemalto USB Stick oder ein Kartenlesegerät von Gemalto IDBridge CT40 mit entsprechender Chip Karte. Zudem wird auch noch eine mobile Version ohne SmartCard, basierend auf der Technologie der Handy-Signatur, bereitgestellt.
Alle Barzahlungen sind zu signieren. Barzahlungen sind auch
1. Bankomat- bzw. Kreditkartenzahlungen,
2. Zahlungen mit Gutscheinen, Bons und Geschenkmünzen,
3. Elektronische Zahlungsformen mittel Mobiltelefon, PayLife Quick.
Für jede Registrierkasse ist zudem ein elektronisches Datenerfassungsprotokoll (DEP) notwendig. Die Zahlungen werden protokolliert und sind auf Verlangen den Finanzbehören zur Verfügung zu stellen.
Das Protokoll gibt es in zwei Varianten unter der Schaltfläche "Berichte":
1. Als Excl bzw. CSV Datei für Ihre Kontrolle
2. Im JSON Format, als maschinenlesbare Datei.
Eingabestationen können beliebig viele an eine Registrierkasse angeschlossen sein. Zum Signieren der Belege steht zumindest eine sicherer Sicherheitseinrichtung zur Verfügung. Verschiedene Unternehmen/Einrichtungen können sich weder eine Registrierkasse noch eine sichere Signaturerstellungseinheit teilen. In Kiribati.Cash erhält jede Eingabestation eine Signiereinheit.
Einstellungen
Einstellungen Kiribati Kasse
Kassen-ID: Innerhalb eines Unternehmens muss die Kassenid pro Registrierkasse eindeutig sein. Diese ist frei wählbar. Die ID sollte nicht zu lang sein. Kiribati gibt einen eindeutigen Namen vor. Die ID sollte keine Umlaute, Unterstriche und generell keine Sonderzeichen enthalten. Beispiel: KIRI-ML0ZNF4G
AES-Schlüssel: Mit diesem Verschlüsselungsverfahren wird der Summenspeicher des Beleges verschlüsselt. Der AES-Schlüssel muss bei der Registrierung der Kasse bei FinanzOnline mit angegeben und darf dann nicht mehr verändert werden.
Einstellungen Kiribati Endgerät
Sicherheitseinrichtung: A-Trust REGISTRIERKASSE chip oder A-Trust REGISTRIERKASSE mobile
Zertifikat der Signiereinrichtung: Derzeit unterstützt das System nur die Variante A-Trust REGISTRIERKASSE chip.
ID: Kennzeichen des Zertifikatsaustellers
Nummer: Seriennummer des Zertifikats
'Nummer Hexadecimal': Hexadecimal-Kodierung der Seriennummer
Gültigkeit: Gültigkeitsdauer des Zertifikats
Beleg
Wie Beleg ab 1.1.2016 und zusätzlich:
KassenIdentifikations-Nr.
Uhrzeit mit Sekunden
Aufsplittung des Betrags nach Steuersätzen
QR-Code oder alphanumerischer Code
Handelsübliche Bezeichungen der Ware oder der Dienstleistungen.
Beispiel des BMF.
Branche | Zulässige Warenbezeichnung nach §11 UStG | Zulässige Warenbezeichnung nach §132a BAO | keine zulässige Warenbezeichnung nach §132a BAO |
Gastronomie | Frittatensuppe
Wiener Schnitzel mit Pommesfrittes Apfelstrudel |
Suppe
Schnitzel Strudel |
Vorspeise
Hauptspeise Nachspeise |
Anwendungsfälle
Inbetriebnahme der Kasse
- a.sign Client in der Version aktuellen Version installieren
- COM Schnittstelle installieren c:\Windows\SysWOW64\regsvr32.exe asignRKCom.dll
- Schaltfläche "Sicherheitseinrichtung testen" klicken. Der Vorgang kann bis zu 15s dauern. Sollte bei der mobilen Version keine Rückmeldung kommen, geben Sie zum Test folgendne Link als Adresse ein: https://hs-abnahme.a-trust.at/RegistrierkasseMobile/v2/u123456789/Certificate. Sollte folgende Meldung kommen 'Vergewissern Sie sich unter „Extras“ > „Internetoptionen“ > „Erweitert“ > „Einstellungen“ > „Sicherheit“, dass das TLS- und das SSL-Protokoll aktiviert sind.', stellen Sie bitte die Werte entsprechend ein. Wenn erfolgreich, dann
- Kassen-ID festlegen oder die vorgeschlagene Nummer übernehmen
- Schaltfläche "AES-Schlüssel erzeugen" klicken. Im Feld AES-Schlüssel wird gesperrt der AES-Schlüssel angezeigt. Mit Klick auf die Checkbox "Anzeigen" kann der Klartext des AES-Schlüssels angezeigt und uch in die Zwischenablage (zur Verwendung in FinanzOnline) angzeigt werden.
- Zertifikat auslesen (Dieser Vorgang muss an ALLEN Endgeräten durchgeführt werden.
- Wenn alle Endgeräte eingerichtet sind, Schaltfläche "Sicherheitseinrichtung testen" klicken.
- Wenn alle Endgeräte eingerichtet sind, Schaltfläche "Startbeleg generieren" klicken. Mit diesem Beleg wird ein Nullbeleg mit 0 EURO Zahlungswert erstellt. Das ist der sogenannte "Startbeleg". Der QR Code auf dem Startbeleg wird mit der Finanzapp gescannt werden und an Finanzonline übermittelt. Nachdem der Startbeleg erstellt wurde kann die Kassen-ID und der AES-Schlüssel nicht mehr geändert werden.
Melden bei FinanzOnline
In Arbeit ...
Erstellen von Stornobelegen
Weiterhin können, in noch nicht gedruckten Belegen, Positionen storniert werden. Ein bereits gedruckter Beleg kann allerdings ab sofort nicht mehr geöffnet, geändert und gedruckt werden. Stornobelege gibt es somit nicht mehr. Es werden immer neuer Belege als Gutschriftbelege erstellt werden müssen.
Erstellen von Traininsbelegen
Auch Trainingsbelege müssen in das Datenerfassungsprotokoll. Nachdem es aber in Kiribati-Cash keine Trainingsbelege gibt, entfällt dieser Punkt. Trainingsuser können nur das Tippen ohne Belegerstellung testen.
Erstellen eines Nullbelegs (Jahres- Monats- Tagesbeleg, Sammelbeleg nach Ausfall, Schlussbeleg etc.)
Monatlich muss ein Monatsbeleg erstellt werden. Auf diesem wird der laufende Kassensaldo ausgegeben. Dieser Beleg ist lediglich aufbewahrt werden. Er wird vom System automatisch generiert.
Dieser wird am 1.Januar des neuen Jahres automatisch generiert und für das Scannen mit der Finanzonline bereitgehalten werden.
Ausfall der Sicherheitseinrichtung
In Arbeit ...
Sicherheitseinrichtung wechseln
In Arbeit ...
Exportieren des DEP Protokolls
In Arbeit ...
§7 Abs 3 RKSV Die Daten des Datenerfassungsprotokolls sind zumindest vierteljährlich auf einem elektronischen externen Medium unveränderbar zu sichern.
Diese Sicherung ist gemäß §132 BAO aufzubewahren
A-Trust bietet hierzu den e-Tresor an: 4€ pro Monat bzw. € 48 pro Jahr je ausgestelltem Zertifikat (Datenerfassungsprotokoll)
Prüfsoftware zum Prüfen des Datenerfassungsprotokolls DEP aus Kiribati
1. Java installieren
2. Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 installieren
3. Download und entpacken von regkassen-demo-release-1.0.0.zip (siehe https://github.com/a-sit-plus/at-registrierkassen-mustercode/releases).
4. Export des DEP Protokolls aus Kiribati.
5. Batchfile Beispiel: "C:\Program Files (x86)\Java\jre1.8.0_91\bin\java" -jar C:\vfpprog\kiribati\Registrierkassenpflicht_AT\regkassen-demo-1.0.0\regkassen-demo-1.0.0\regkassen-verification-depformat-1.0.0.jar -i C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\test.json -c C:\vfpprog\kiribati\Registrierkassenpflicht_AT\example-output-1.0.0\open_system\TESTSUITE_TEST_SZENARIO_1\cryptographicMaterialContainer.json -o C:\temp 6. Die Datei cryptographicMaterialContainer.json muss auf das verwendete Zertifikat angepaßt werden.
{
"base64AESKey" : "+A1Efn3HA4lk+mXPP/PJXfvtr2lRK0d+D7Q6+O3IeRQ=", "certificateOrPublicKeyMap" : { "36085455" : { "id" : "36085455", "signatureDeviceType" : "CERTIFICATE", "signatureCertificateOrPublicKey" : "MIIFHDCCAwSgAwIBAgIENghUVTANBgkqhkiG9w0BA..." } }
}
base64AESKey=AES-Schlüssel
certificateOrPublicKeyMap=ZertifikatsseriennummerHex
signatureCertificateOrPublicKey=oRequest.get('Signaturzertifikat')
QR Code
Der QR Code wird auf Bondruckern automatisch mit angedruckt. Derzeit zu Testzwecken auch der Code im Klartext in OCR Schrift. Zudem wird der Bondruck erweitert um die Kassen-ID. Diese wird ergänzt mit der Nummer des Endgerätes (Terminal-ID)
Die alternativen DINA4 Ausdrucke müssen überarbeitet werden:
Quittungszeile
ALT: 'Q U I T T U N G '+czahlungsweise+" Kasse #"+ALLTRIM(STR(ekasse_bon.eka_bon_terminal_record))
NEU: 'Q U I T T U N G '+czahlungsweise+" Kasse "+cKassenid+"#"+ALLTRIM(STR(ekasse_bon.eka_bon_terminal_record))
Belegzeile
ALT: "Beleg "+PADL(ALLTRIM(STR(ekasse_bon.eka_bon_record)),10,"0")+" "+DTOC(DATE())+" "+TIME()
NEU: "Beleg "+PADL(ALLTRIM(STR(ekasse_bon.eka_bon_record)),10,"0")+" "+DTOC(ekasse_bon.eka_bon_datum)+" "+allt(ekasse_bon.eka_bon_zeit)
Damit auch der QR-Code gedruckt wird, muss ein Picture/OLE Control mit den Eigenschaften Control-Source=cQrCodeFile und dem Controls-Sourcetyp=Expression or variabel name eingefügt werden.
Kasse Rechte
Weiterhin wichtig. Die Benutzer der Endgeräte dürfen KEINE Setup Rechte bekommen.
Technisch
Die Belege werden signiert und mit dem vorigen Beleg verkettet. Nachfolgend eine kurze Beschreibung, wir die Daten für die Erstellung des maschinenlesbaren Codes erzeugt werden. Die Signaturerstellung erfolgt nach dem JSON Web Signature (JWS) Standard. Die Klartextdaten des Signaturformat für Signierung durch Signaturerstellungseinheit kann wie folgt ausschauen:
R1-AT1_KIRI-ML0ZNF4G_29652_2016-05-06T09:53:43_1,00_2,00_3,00_4,00_5,00_lf+ZlGOplN52k9Qu4p3rng==_1A9C0F_MbRhdWt+CF8=
Erläuterung
R1-AT1=Registrierkassenalgorithmuskennzeichen. Dieses Kennzeichen definiert die verwendeten Algorithmen und den Zertifizierungsdiensteanbieter. "R"=Fixes Präfix+"N"=Index des verwendete Algorithmen+Fixes Trennzeichen+'-'+"C"=Länderkennung des ZDAs+"M" fürIndex für verwendeten ZDA innerhalb der gegeben Länderkennung nach ISO 3166 startend mit 1.
KIRI-ML0ZNF4=Kassen-ID. Die Kassenidentifikationsnummer die für die Registrierung der Kasse in Finanzonline verwendet wird. Die Bezeichnung entspricht einer beliebigen Zeichenkette die UTF-8 kodiert wird.
29652=Belegnummer. Nummer des Belegs. Alphanumerischen Zeichenkette die UTF-8 kodiert wird.
2016-05-06T09:53:43=Beleg-Datum-Uhrzeit im IS8601 Format ohne der Angabe der Zeitzone angegeben (JJJJ-MM-TT’T’hh:mm:ss, z. B. 2016-05-05T14:23:34). Es wird immer von österreichischer Lokalzeit (CET/MEZ) ausgegangen.UTF-8 kodiert.
1,00=Betrag-Satz-Normal. Summe der Brutto-Werte mit dem Steuersatz „Normal“. Ist keine Position mit diesem Steuersatz im Beleg vorhanden, so wird der Wert 0,00 eingetragen.
2,00=Betrag-Satz-Ermaessigt-1. Summe der Brutto-Werte mit dem Steuersatz „Ermaessigt-1“. Ist keine Position mit diesem Steuersatz im Beleg vorhanden, so wird der Wert 0,00
3,00=Betrag-Satz-Ermaessigt-2. Summe der Brutto-Werte mit dem Steuersatz „Ermaessigt-2“. Ist keine Position mit diesem Steuersatz im Beleg vorhanden, so wird der Wert 0,00
4,00=Betrag-Satz-Null.Summe der Brutto-Werte mit dem Steuersatz „Null“. Ist keine Position mit diesem Steuersatz im Beleg vorhanden, wird der Wert 0,00 eingetragen.
5,00=Betrag-Satz-Besonders. Summe der Brutto-Werte der Belegpositionen des zu verarbeitenden Belegs mit dem Steuersatz „Besonders“. Ist keine Position mit diesem Steuersatz im Beleg vorhanden, wird der Wert 0,00 eingetragen.
lf+ZlGOplN52k9Qu4p3rng=BASE64-kodierter Wert des verschlüsselten AES256 Umsatzzähler der Kasse.Der Umsatzzähler wird in €-Cent Beträgen ermittelt. Bei Startbelegen wird der Umsatzzähler auf den Wert 0 gesetzt und verschlüsselt.
1A9C0F=Zertifikat-Seriennummer. Hexadezimal kodierte Seriennummer des Zertifikats.
MbRhdWt+CF8=Sig-Voriger-Beleg. Verkettungswert der die Bindung zum vorigen Beleg herstellt. Beim Startbeleg wird der Verkettungswert über die Kassen-ID gebildet.