DATEV Kassenarchiv online: Unterschied zwischen den Versionen
Armin (Diskussion | Beiträge) (→TSE) |
Armin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 73: | Zeile 73: | ||
wird der automatische upload aktiviert | wird der automatische upload aktiviert | ||
== Auswertung der Warengruppen deaktivieren == | |||
Über folgenden Schalter in der Config kann der Detaillierungsgrad in der Datev Übergabe verändert werden: | |||
<dict> | |||
<key>element</key> | |||
<string>setting</string> | |||
<key>name</key> | |||
<string>dsfinvkWG</string> | |||
<key>value</key> | |||
<string>NO</string> | |||
</dict> | |||
== Informationen von Datev an den Steuerberater == | |||
https://apps.datev.de/help-center/documents/1007229 | |||
== Fehleranalyse == | == Fehleranalyse == | ||
* Fehlerprotokolle | * Fehlerprotokolle | ||
In der Datei '''datevOut_Error.txt''' im Dokumente Order der roc.Kasse werden die Schritte der Datevschnittstelle protokolliert. | In der Datei '''datevOut_Error.txt''' im Dokumente Order der roc.Kasse werden die Schritte der Datevschnittstelle protokolliert. | ||
Ab Version 1.57 heist die Datei: '''datevLog.txt''' | |||
=== Die Verbindung zu Datev funktioniert nicht: === | |||
Ein Fehlergrund kann sein das die Uhrzeit falsch eingestellt ist. | |||
Insbesondere wenn die iPad Zeit nicht automatisch mit der Zeit synchronisiert wird. | |||
In der Datei datevLog.txt kommt folgender Eintrag: | |||
''Authorization error: Issued at time is more than 600 seconds before or after the current time'' | |||
LÖSUNG: | |||
# '''Einstellungen → Allgemein → Datum & Uhrzeit''' | |||
# '''“Automatisch einstellen” EIN''' | |||
# '''Zeitzone korrekt''' (Deutschland: Europe/Berlin) | |||
# Danach: '''Gerät neu starten''' (ja, wirklich – manchmal “hängt” die Uhrzeit im Hintergrund) | |||
=== Datev Schnittstelle bei Datev nicht richtig gebucht === | === Datev Schnittstelle bei Datev nicht richtig gebucht === | ||
| Zeile 93: | Zeile 127: | ||
Prüfen ob in der '''tse_zertifikate.plist''' ein leerer Eintrag ohne '''TSEserialNumber''' befindet und diesen <dict> Block ggf. entfernen | Prüfen ob in der '''tse_zertifikate.plist''' ein leerer Eintrag ohne '''TSEserialNumber''' befindet und diesen <dict> Block ggf. entfernen | ||
=== SCHEMAVIOLATION LAND === | |||
SCHEMAVIOLATION;"/cash_point_closing/head/company/address/country_code: does not have a value in the enumeration [""ALA"", ""AFG"", ""ALB"", ""DZA"", ""ASM"", ""AND"", ""AGO"", ""AIA"", ""ATA"", ""ATG"", ""ARG"", ""ARM"", ""ABW"", ""AUS"", ""AUT"", ""AZE"", ""BHS"", ""BHR"", ""BGD"", ""BRB"", ""BLR"", ""BEL"", ""BLZ"", ""BEN"", ""BMU"", ""BTN"", ""BOL"", ""BIH"", ""BWA"", ""BVT"", ""BRA"", ""IOT"", ""BRN"", ""BGR"", ""BFA"", ""BDI"", ""KHM"", ""CMR"", ""CAN"", ""CPV"", ""CYM"", ""CAF"", ""TCD"", ""CHL"", ""CHN"", ""CXR"", ""CCK"", ""COL"", ""COM"", ""COD"", ""COG"", ""COK"", ""CRI"", ""CIV"", ""HRV"", ""CUB"", ""CYP"", ""CZE"", ""DNK"", ""DJI"", ""DMA"", ""DOM"", ""ECU"", ""EGY"", ""SLV"", ""GNQ"", ""ERI"", ""EST"", ""ETH"", ""FLK"", ""FRO"", ""FJI"", ""FIN"", ""FRA"", ""GUF"", ""PYF"", ""ATF"", ""GAB"", ""GMB"", ""GEO"", ""DEU"", ""GHA"", ""GIB"", ""GRC"", ""GRL"", ""GRD"", ""GLP"", ""GUM"", ""GTM"", ""GIN"", ""GNB"", ""GUY"", ""HTI"", ""HMD"", ""HND"", ""HKG"", ""HUN"", ""ISL"", ""IND"", ""IDN"", ""IRN"", ""IRQ"", ""IRL"", ""ISR"", ""ITA"", ""JAM"", ""JPN"", ""JOR"", ""KAZ"", ""KEN"", ""KIR"", ""PRK"", ""KOR"", ""KWT"", ""KGZ"", ""LAO"", ""LVA"", ""LBN"", ""LSO"", ""LBR"", ""LBY"", ""LIE"", ""LTU"", ""LUX"", ""MAC"", ""MKD"", ""MDG"", ""MWI"", ""MYS"", ""MDV"", ""MLI"", ""MLT"", ""MHL"", ""MTQ"", ""MRT"", ""MUS"", ""MYT"", ""MEX"", ""FSM"", ""MDA"", ""MCO"", ""MNG"", ""MSR"", ""MAR"", ""MOZ"", ""MMR"", ""NAM"", ""NRU"", ""NPL"", ""NLD"", ""ANT"", ""NCL"", ""NZL"", ""NIC"", ""NER"", ""NGA"", ""NIU"", ""NFK"", ""MNP"", ""NOR"", ""OMN"", ""PAK"", ""PLW"", ""PSE"", ""PAN"", ""PNG"", ""PRY"", ""PER"", ""PHL"", ""PCN"", ""POL"", ""PRT"", ""PRI"", ""QAT"", ""REU"", ""ROU"", ""RUS"", ""RWA"", ""SHN"", ""KNA"", ""LCA"", ""SPM"", ""VCT"", ""WSM"", ""SMR"", ""STP"", ""SAU"", ""SEN"", ""SCG"", ""SYC"", ""SLE"", ""SGP"", ""SVK"", ""SVN"", ""SLB"", ""SOM"", ""ZAF"", ""SGS"", ""ESP"", ""LKA"", ""SDN"", ""SUR"", ""SJM"", ""SWZ"", ""SWE"", ""CHE"", ""SYR"", ""TWN"", ""TJK"", ""TZA"", ""THA"", ""TLS"", ""TGO"", ""TKL"", ""TON"", ""TTO"", ""TUN"", ""TUR"", ""TKM"", ""TCA"", ""TUV"", ""UGA"", ""UKR"", ""ARE"", ""GBR"", ""USA"", ""UMI"", ""URY"", ""UZB"", ""VUT"", ""VAT"", ""VEN"", ""VNM"", ""VGB"", ""VIR"", ""WLF"", ""ESH"", ""YEM"", ""ZMB"", ""ZWE""]" | |||
LÖSUNG: | |||
Einstellungen Mehr Einstellungen -TSE: | |||
Das land darf nicht Deutschland o.ä sein sonder muss '''DEU''' sein. | |||
Dies gilt auch für das LOCAL Land | |||
=== SCHEMAVIOLATION vat_id_number === | |||
''SCHEMAVIOLATION;/cash_point_closing/head/company/location/vat_id_number: must be at least 1 characters long'' | |||
oder | |||
''SCHEMAVIOLATION;/cash_point_closing/head/company/location/vat_id_number: does not match the regex pattern ^[A-Z]{2}.{1,13}$'' | |||
Einstellungen Mehr Einstellungen -TSE: | |||
Ws müssen Umsatzsteuer ID hinlegt sein auch für Local. ggf. DE00000000 | |||
=== SCHEMAVIOLATION Bar Unbar === | |||
SCHEMAVIOLATION;"/cash_point_closing/transactions/1/data/payment_types/0/type: does not have a value in the enumeration [""Bar"", ""Unbar"", ""ECKarte"", ""Kreditkarte"", ""ElZahlungsdienstleister"", ""GuthabenKarte"", ""Guthabenkarte"", ""Keine""]" | |||
In den Einstellungen in den Zahlwegen muss überall ein Sinnvoller Wert für das Feld TSE hinterlegt sein. Ggf. mit dem Steuerberater abstimmen. | |||
=== SCHEMAVIOLATION amounts_per_vat_id === | |||
Fehlertyp;Fehlernachricht | |||
''SCHEMAVIOLATION;"[9700,15][/cash_point_closing/transactions/66/data/lines/4/business_case] The object must have a property whose name is ""amounts_per_vat_id""."'' | |||
zunächst die Datev out zu reinem JSON umwandeln in z.B.: datevLog.json. Ggf. mit einem [https://jsonformatter.org/json-pretty-print Pretty JSON] prüfen | |||
dann im Terminal: | |||
''jq -r '.cash_point_closing.transactions[66].head.id' datevLog.json'' | |||
Du findest die problematische Vorgangsnummer z.B.: 2-155454 | |||
dann im Terminal: | |||
''jq -r '.cash_point_closing.transactions[66].data.lines[4].text' datevLog.json'' | |||
Du findest die problematische Artikelbezeichnung | |||
''grep 2-155454 rocJournal_3026_251121_192413.txt > 2-155454.txt'' | |||
Du findest in 2-155454.txt den gesamten Vorgang aus dem Journal | |||
Mit: | |||
''jq '.cash_point_closing.transactions[66].data.lines[4].business_case' datevLog.json'' | |||
findest du die von Datev gemeldete Stelle | |||
Aktuelle Version vom 22. Februar 2026, 22:36 Uhr
Einleitung
Wir empfehlen DATEV Kassenarchiv online, da diese Schnittstelle auch die vom Finanzamt geforderte Kassenarchivierung unterstützt. Es werden automatisiert während des Tagesabschlusses, täglich die erforderlichen Informationen in das DATEV Kassenarchiv online geladen mit folgenden Vorteilen:
- DSFinV-K - das einheitliche Format für Kassendaten in Deutschland
- künftig auch die Sicherung der tar Informationen
- der Steuerprüfer kann Zugang erhalten und prüfungsrelevante Informationen direkt einsehen
- der Steuerberater kann Zugang erhalten und Über ein Mapping ein tagesaktuelles Kassenbuch bereitstellen
Voraussetzungen
- roc.Kasse aber Version 1.45
- Datev Schnittstellen Lizenz der roc.Kasse (kostenpflichtig bei der roc.Kasse zu erwerben)
- iOS 15
- Zugang zu DATEV Kassenarchiv online (kostenpflichtig bei der Datev zu erwerben)
- roc.TSE (kostenpflichtig bei der roc.Kasse zu erwerben, in Deutschland gesetzlich vorgeschrieben seit 1.1.2020)
- Eine funktionierende TSE Einrichtung (HW TSE über den EPSON Chip oder SW TSE über Fiskaly)
Einrichtung
Nach dem Erwerb der Datev Schnittstellen Lizenz der roc.Kasse wird ein neuer Registrierungscode bereitgestellt. Um den Registrierungscode zu erhalten wird die Registrierungsdatei siehe auch (TSE registrieren) benötigt.
Dieser Code wird bei Mangmentkonsole - Einstellungen - Mehr Einstellungen - Allgemein - Registrierung eingegeben.
Nach einem Neustart kann der Code überprüft werden.
Hierzu folgende Schritte:
Managementkonsole - weiter - roc.TSE - Datev -> Es kommt das Datev Control Panel
Datev Control Panel
Im Datev Control Panel werden die wichtigsten Einrichtungsschritte der DATEV Kassenarchiv online Schnittstelle ausgeführt
Connect
Nach ausführen des Connect kommt die Datev Login Seite.
Es werden die von Datev erhalten Zugangsdaten mit Passwort erfasst und der roc.Kasse der Zugang gestattet.
Tenants anfragen
Der Tenant ist bei der Datev die logische Zuordnung einer kasse zum Datev Zugang.
Nach auswählen des Buttons Tenants anfragen werden in einer Dialogbox alle von der Datev bereitgestellten Tenants angezeigt.
Es kann der gewünschte Tenant ausgewählt werden.
Mit diesem Tenant wird die roc.Kasse verknüpft und die weiteren Schritte ausgeführt.
Initialisiere Tenant
Mit dem Button Initialisiere Tenant wird die roc.Kasse für diesen Tenant freigeschaltet.
Dies sollte danach im Datev Portal überprüft werden.
Es werden dabei die für die TSE Einrichtung verwendeten Daten übernommen.
Wichtig im Feld Land muss ein 3 Buchstabencode z.B. DEU stehen!
upload Tag
Mit diesem Button kann gezielt ein belieber Tag der mit aktiver DSFinV-K Schnittstelle abgerechnet in das DATEV Kassenarchiv online geladen werden.
automatischer upload beim Tagesabschluss
Durch den Configeintrag:
closeOfDayDatev = YES
wird der automatische upload aktiviert
Auswertung der Warengruppen deaktivieren
Über folgenden Schalter in der Config kann der Detaillierungsgrad in der Datev Übergabe verändert werden:
<dict> <key>element</key> <string>setting</string> <key>name</key> <string>dsfinvkWG</string> <key>value</key> <string>NO</string> </dict>
Informationen von Datev an den Steuerberater
https://apps.datev.de/help-center/documents/1007229
Fehleranalyse
- Fehlerprotokolle
In der Datei datevOut_Error.txt im Dokumente Order der roc.Kasse werden die Schritte der Datevschnittstelle protokolliert.
Ab Version 1.57 heist die Datei: datevLog.txt
Die Verbindung zu Datev funktioniert nicht:
Ein Fehlergrund kann sein das die Uhrzeit falsch eingestellt ist.
Insbesondere wenn die iPad Zeit nicht automatisch mit der Zeit synchronisiert wird.
In der Datei datevLog.txt kommt folgender Eintrag:
Authorization error: Issued at time is more than 600 seconds before or after the current time
LÖSUNG:
- Einstellungen → Allgemein → Datum & Uhrzeit
- “Automatisch einstellen” EIN
- Zeitzone korrekt (Deutschland: Europe/Berlin)
- Danach: Gerät neu starten (ja, wirklich – manchmal “hängt” die Uhrzeit im Hintergrund)
Datev Schnittstelle bei Datev nicht richtig gebucht
- Fehlercode 402 PAYMENT_REQUIRED
datevOut_DSFinV-K:
HTTP: 402. Response: {"error":"PAYMENT_REQUIRED"
Es stehen nicht genügend Kassenordner im DATEV Kassenarchiv online zur Verfügung.
Hat sich vielleicht die Seriennummer der roc.Kasse geändert?
Erwerben Sie ggf. neue Kassenordnern bei Datev oder melden den alten ab
TSE
SCHEMAVIOLATION;[120,32][/cash_point_closing/security/tse/modules/2/serial_number] The string value must be at least 64 character(s), but actual length is 0.;
Prüfen ob in der tse_zertifikate.plist ein leerer Eintrag ohne TSEserialNumber befindet und diesen <dict> Block ggf. entfernen
SCHEMAVIOLATION LAND
SCHEMAVIOLATION;"/cash_point_closing/head/company/address/country_code: does not have a value in the enumeration [""ALA"", ""AFG"", ""ALB"", ""DZA"", ""ASM"", ""AND"", ""AGO"", ""AIA"", ""ATA"", ""ATG"", ""ARG"", ""ARM"", ""ABW"", ""AUS"", ""AUT"", ""AZE"", ""BHS"", ""BHR"", ""BGD"", ""BRB"", ""BLR"", ""BEL"", ""BLZ"", ""BEN"", ""BMU"", ""BTN"", ""BOL"", ""BIH"", ""BWA"", ""BVT"", ""BRA"", ""IOT"", ""BRN"", ""BGR"", ""BFA"", ""BDI"", ""KHM"", ""CMR"", ""CAN"", ""CPV"", ""CYM"", ""CAF"", ""TCD"", ""CHL"", ""CHN"", ""CXR"", ""CCK"", ""COL"", ""COM"", ""COD"", ""COG"", ""COK"", ""CRI"", ""CIV"", ""HRV"", ""CUB"", ""CYP"", ""CZE"", ""DNK"", ""DJI"", ""DMA"", ""DOM"", ""ECU"", ""EGY"", ""SLV"", ""GNQ"", ""ERI"", ""EST"", ""ETH"", ""FLK"", ""FRO"", ""FJI"", ""FIN"", ""FRA"", ""GUF"", ""PYF"", ""ATF"", ""GAB"", ""GMB"", ""GEO"", ""DEU"", ""GHA"", ""GIB"", ""GRC"", ""GRL"", ""GRD"", ""GLP"", ""GUM"", ""GTM"", ""GIN"", ""GNB"", ""GUY"", ""HTI"", ""HMD"", ""HND"", ""HKG"", ""HUN"", ""ISL"", ""IND"", ""IDN"", ""IRN"", ""IRQ"", ""IRL"", ""ISR"", ""ITA"", ""JAM"", ""JPN"", ""JOR"", ""KAZ"", ""KEN"", ""KIR"", ""PRK"", ""KOR"", ""KWT"", ""KGZ"", ""LAO"", ""LVA"", ""LBN"", ""LSO"", ""LBR"", ""LBY"", ""LIE"", ""LTU"", ""LUX"", ""MAC"", ""MKD"", ""MDG"", ""MWI"", ""MYS"", ""MDV"", ""MLI"", ""MLT"", ""MHL"", ""MTQ"", ""MRT"", ""MUS"", ""MYT"", ""MEX"", ""FSM"", ""MDA"", ""MCO"", ""MNG"", ""MSR"", ""MAR"", ""MOZ"", ""MMR"", ""NAM"", ""NRU"", ""NPL"", ""NLD"", ""ANT"", ""NCL"", ""NZL"", ""NIC"", ""NER"", ""NGA"", ""NIU"", ""NFK"", ""MNP"", ""NOR"", ""OMN"", ""PAK"", ""PLW"", ""PSE"", ""PAN"", ""PNG"", ""PRY"", ""PER"", ""PHL"", ""PCN"", ""POL"", ""PRT"", ""PRI"", ""QAT"", ""REU"", ""ROU"", ""RUS"", ""RWA"", ""SHN"", ""KNA"", ""LCA"", ""SPM"", ""VCT"", ""WSM"", ""SMR"", ""STP"", ""SAU"", ""SEN"", ""SCG"", ""SYC"", ""SLE"", ""SGP"", ""SVK"", ""SVN"", ""SLB"", ""SOM"", ""ZAF"", ""SGS"", ""ESP"", ""LKA"", ""SDN"", ""SUR"", ""SJM"", ""SWZ"", ""SWE"", ""CHE"", ""SYR"", ""TWN"", ""TJK"", ""TZA"", ""THA"", ""TLS"", ""TGO"", ""TKL"", ""TON"", ""TTO"", ""TUN"", ""TUR"", ""TKM"", ""TCA"", ""TUV"", ""UGA"", ""UKR"", ""ARE"", ""GBR"", ""USA"", ""UMI"", ""URY"", ""UZB"", ""VUT"", ""VAT"", ""VEN"", ""VNM"", ""VGB"", ""VIR"", ""WLF"", ""ESH"", ""YEM"", ""ZMB"", ""ZWE""]"
LÖSUNG:
Einstellungen Mehr Einstellungen -TSE:
Das land darf nicht Deutschland o.ä sein sonder muss DEU sein.
Dies gilt auch für das LOCAL Land
SCHEMAVIOLATION vat_id_number
SCHEMAVIOLATION;/cash_point_closing/head/company/location/vat_id_number: must be at least 1 characters long
oder
SCHEMAVIOLATION;/cash_point_closing/head/company/location/vat_id_number: does not match the regex pattern ^[A-Z]{2}.{1,13}$
Einstellungen Mehr Einstellungen -TSE:
Ws müssen Umsatzsteuer ID hinlegt sein auch für Local. ggf. DE00000000
SCHEMAVIOLATION Bar Unbar
SCHEMAVIOLATION;"/cash_point_closing/transactions/1/data/payment_types/0/type: does not have a value in the enumeration [""Bar"", ""Unbar"", ""ECKarte"", ""Kreditkarte"", ""ElZahlungsdienstleister"", ""GuthabenKarte"", ""Guthabenkarte"", ""Keine""]"
In den Einstellungen in den Zahlwegen muss überall ein Sinnvoller Wert für das Feld TSE hinterlegt sein. Ggf. mit dem Steuerberater abstimmen.
SCHEMAVIOLATION amounts_per_vat_id
Fehlertyp;Fehlernachricht
SCHEMAVIOLATION;"[9700,15][/cash_point_closing/transactions/66/data/lines/4/business_case] The object must have a property whose name is ""amounts_per_vat_id""."
zunächst die Datev out zu reinem JSON umwandeln in z.B.: datevLog.json. Ggf. mit einem Pretty JSON prüfen
dann im Terminal:
jq -r '.cash_point_closing.transactions[66].head.id' datevLog.json
Du findest die problematische Vorgangsnummer z.B.: 2-155454
dann im Terminal:
jq -r '.cash_point_closing.transactions[66].data.lines[4].text' datevLog.json
Du findest die problematische Artikelbezeichnung
grep 2-155454 rocJournal_3026_251121_192413.txt > 2-155454.txt
Du findest in 2-155454.txt den gesamten Vorgang aus dem Journal
Mit:
jq '.cash_point_closing.transactions[66].data.lines[4].business_case' datevLog.json
findest du die von Datev gemeldete Stelle