DATEV Kassenarchiv online: Unterschied zwischen den Versionen

Aus roc.Kasse Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 16: Zeile 16:
* Zugang zu DATEV Kassenarchiv online (kostenpflichtig bei der Datev zu erwerben)
* 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)
* 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 ==
== Einrichtung ==
Zeile 27: Zeile 27:
Nach einem Neustart kann der Code überprüft werden.
Nach einem Neustart kann der Code überprüft werden.


Hierzu folgende Schritte
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"<br>
 
 
Es stehen nicht genügend Kassenordner im DATEV Kassenarchiv online zur Verfügung.<br>
Hat sich vielleicht die Seriennummer der roc.Kasse geändert?<br>
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 [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''


Managementkonsole - weiter - roc.TSE -
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:

  1. Einstellungen → Allgemein → Datum & Uhrzeit
  2. “Automatisch einstellen” EIN
  3. Zeitzone korrekt (Deutschland: Europe/Berlin)
  4. 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