FAQ
Hier finden Sie Antworten auf 13 häufig gestellte Fragen rund um DSFinV-K, organisiert nach Themenbereichen.
Cash Point Closing / Stamm Abschluss (10)
In welchen Fällen kann ein CashPointClosing gelöscht werden?
Ein CashPointClosing kann gelöscht werden, wenn es erfolgreich erstellt wurde (Status COMPLETED), aber inhaltlich falsch ist oder doppelt übermittelt wurde.
Dies tritt typischerweise bei fehlerhaftem Mapping oder bei mehrfachen Übertragungen aufgrund technischer Probleme auf.
Durch das Löschen wird der Status auf DELETED gesetzt, sodass das CashPointClosing nicht in DSFinV-K Exporten berücksichtigt wird.
Das CashPointClosing bleibt weiterhin über den retrieveCashPointClosing Endpunkt abrufbar und wird nicht physisch entfernt.
Zum Löschen eines CashPointClosing kann der deleteCashPointClosing Endpunkt verwendet werden.
Warum kann ein CashPointClosing im Status ERROR nicht gelöscht werden?
Ein CashPointClosing im Status ERROR wird grundsätzlich nicht in DSFinV-K Exporten berücksichtigt.
Das Löschen eines CashPointClosing ändert lediglich den Status auf DELETED, um Einträge aktiv von Exporten auszuschließen. Da ein CashPointClosing im Status ERROR ohnehin ignoriert wird, hätte ein Löschen keinen zusätzlichen Effekt und ist daher nicht vorgesehen.
Ein CashPointClosing im Status ERROR bleibt weiterhin über den retrieveCashPointClosing Endpunkt abrufbar.
Welchen Wert sollte das Feld cash_point_closing_export_id enthalten?
Das Feld cash_point_closing_export_id entspricht dem Feld Z_NR der offiziellen DSFinV-K Dokumentation und wird wie folgt beschrieben:
Der Kassenabschluss wird einmalig bzw. mehrmals am Tag oder auch kalendertagübergreifend für eine Kasse erstellt. Jede Kasse besitzt eine „Z_NR“, eine Kassenabschlussnummer. Diese ist aufsteigend, fortlaufend und nicht zurücksetzbar.
Gute Beispiele und Erläuterungen zu den verschiedenen Feldern und Geschäftsvorgängen finden Sie in den DSFinV-K-Unterlagen des Bundeszentralamtes für Steuern:
DSFinV-K 2.3, Stand März 2022 (DE) DSFinV-K 2.3, March 2022 (EN).
DSFinV-K – Was muss das Feld lineitem_export_id enthalten?
Das Feld lineitem_export_id entspricht dem Feld POS_ZEILE in der rechtlichen Dokumentation zur DSFinV-K und ist wie folgt definiert:
POS_ZEILEPositionsnummer innerhalb eines Belegs (muss eindeutig und fortlaufend sein).
Gute Beispiele und Erklärungen zu den einzelnen Feldern und Anwendungsfällen finden sich in den offiziellen DSFinV-K-Dokumenten des Bundeszentralamts für Steuern:
Welchen Wert soll die transaction_export_id eines Cash Point Closings enthalten?
Das Feld transaction_export_id entspricht dem Feld BON_ID der offiziellen DSFinV-K Dokumentation und wird wie folgt beschrieben:
Die BON_ID ist die von der eingesetzten Kasse vergebene, stetig fortlaufende und ein- deutige Kennzeichnung aller Vorgänge. Die BON_ID muss automatisiert und unveränderbar für jeden einzelnen Beleg in der Kasse vergeben werden. Sie sollte in numerisch aufsteigender Form vergeben werden.
Bitte beachten Sie, dass das Feld nicht die tx_id der Transaktion aus der SIGN DE enthalten sollte.
Das Feld first_transaction_export_id entspricht der Z_START_ID der DSFinV-K (d.h. der BON_ID der ersten Transaktion des CashPointClosings).
Das Feld last_transaction_export_id entspricht der Z_ENDE_ID der DSFinV-K (d.h. der BON_ID der letzten Transaktion des CashPointClosing).
Gute Beispiele und Erläuterungen zu den verschiedenen Feldern und Geschäftsvorgängen finden Sie in den DSFinV-K-Unterlagen des Bundeszentralamtes für Steuern:
DSFinV-K 2.3, Stand März 2022 (DE) DSFinV-K 2.3, March 2022 (EN).
DSFINVK DE - Wie gehe ich mit unsignierten Transaktionen im Tagesabschluss (CashPointClosing) um?
Transaktionen, die nicht über die SIGN DE signiert werden konnten, müssen trotzdem über die DSFINVK DE DE im Tagesabschluss (insertCashPointClosing) festgehalten werden.
Dazu verwenden Sie bitte statt dem Feld transactions[].security.tss_tx_id das Feld error_message mit der entsprechenden Fehlermeldung.

Die UUID beim Feld transactions[].head.tx_id sollte in dem Fall von Ihnen neu generiert werden.
Wie läuft die Felder- bzw. Schema-Validierung beim insertCashPointClosing Endpunkt ab?
Um zu vermeiden, dass die oft sehr umfangreichen Requests an den insertCashPointClosing Endpunkt in einen Timeout laufen, erfolgt die Felder-Validierung in einem separaten Prozess.
Daher sollte der retrieveCashPointClosing Endpunkt aufgerufen werden, um zu überprüfen inwieweit ein Cash Point Closing auch korrekt verarbeitet werden konnte.
Die Response auf den insertCashPointClosing Request wird im Falle eines inkorrekten Body Schemas trotzdem vorerst den HTTP-Statuscode 200 OK zurückgeben.
Nach der Validierung der Felder wird der Status des Cash Point Closings jedoch auf ERROR statt COMPLETED wechseln. Dieser Status lässt sich durch den retrieveCashPointClosing Endpunkt auslesen.
Das "error" Objekt in der Response sollte eine genauere Fehlerbeschreibung beinhalten.
Wie lange dauert es bis ein Kassenabschluss (cash point closing) fertig (COMPLETED) ist?
Ein Kassenabschluss (cash point closing) kann einige Sekunden bis wenige Minuten (maximal vermutlich 2-3 Stunden) benötigen, bis der Status COMPLETED erreicht ist.
Leider lässt sich dies anhand des Kassenabschlusses selbst nicht genau sagen.
Wenn Sie z.B. eine große Anzahl von Kassenabschlüssen gleichzeitig an die DSFinV-K API übermitteln, kann es sein, dass der Status der einzelnen Kassenabschlüsse länger auf PENDING steht.
Falls Sie aktuell mit einem Kassenabschluss zu tun haben, der über einen längeren Zeitraum im Status PENDING verharrt, senden Sie uns bitte eine Nachricht an dev-support@fiskaly.com.
Welche Schritte benötige ich um einen Tagesabschluss (Cash Point Closing) zu erstellen?
Bitte lesen Sie die offizielle Dokumentation des Bundesamts für Steuern - Download Link DSFinV-K 2.3, Stand März 2022(DE) + download link DSFinV-K 2.3, March 2022(EN).
-
Für jeden Client der Sign DE API ist in DSFinV-K ein cash register mit der selben
client_idder Sign DE API anzulegen: https://developer.fiskaly.com/api/dsfinvk/v1#operation/upsertCashRegister -
Der Kassenabschluss wird einmalig bzw. mehrmals am Tag oder auch kalendertagübergreifend für jede eingesetzte Kasse erstellt: https://developer.fiskaly.com/api/dsfinvk/v1#operation/insertCashPointClosing
-
Anschließend kann man den Export anstoßen: https://developer.fiskaly.com/api/dsfinvk/v1#operation/triggerExport und das Ergebnis herunterladen: https://developer.fiskaly.com/api/dsfinvk/v1#operation/getExportDownload
Ist es möglich einen Kassenabschluss (CashPointClosing) ohne Transaktionen durchzuführen?
Es ist nun auch möglich einen Tagesabschluss ohne Transaktionen an die DSFinV-K API zu übertragen.
Die Objekte cash_statement sowie transactions sind nicht mehr required und werden in diesem Fall nicht verwendet.
Der Body des Requests insertCashPointClosing schaut in diesem Fall wie folgt aus:
`{ "head": { "first_transaction_export_id": null, "last_transaction_export_id": null, "export_creation_date": {{$timestamp}} }, "client_id": "{{client_id}}", "cash_point_closing_export_id": {{Z_NR}}}`
Bitte beachten Sie: fiskaly darf keine steuerrechtliche Beratung anbieten. Kontaktieren Sie bitte Ihren Steuerberater, Wirtschaftsprüfer oder Anwalt für steuerrechtliche Fragen.
Exporte (2)
Warum erscheint mein DSFinV-K-Export leer, wenn ich die ZIP-Datei öffne?
Wenn Sie Windows verwenden und Ihr DSFinV-K-Export im ZIP Format nach dem Entpacken leer zu sein scheint, könnte dies am verwendeten Entpackungsprogramm liegen. Die Verwendung eines anderen Entpackers wie etwa 7zip, WinRAR, PeaZip oder Bandizip kann hier Abhilfe schaffen. Diese Programme sind über die offizielle Website oder andere vertrauenswürdige Quellen verfügbar.
Welche Schritte sind zur Erstellung eines DSFinV-K Exports notwendig?
Bitte lesen Sie die offizielle Dokumentation des Bundesamts für Steuern - Download Link DSFinV-K 2.4.
-
Für jeden Client der SIGN DE API ist über die DSFinV-K API ein cash register mit der selben
client_idder SIGN DE API anzulegen: developer.fiskaly.com/api/dsfinvk/v1#operation/upsertCashRegister -
Der Kassenabschluss (Cash Point Closing) wird einmalig bzw. mehrmals am Tag oder auch kalendertagübergreifend für jede eingesetzte Kasse erstellt: developer.fiskaly.com/api/dsfinvk/v1#operation/insertCashPointClosing
-
Anschließend kann der Export angestoßen werden: developer.fiskaly.com/api/dsfinvk/v1#operation/triggerExport und das Ergebnis heruntergeladen werden: developer.fiskaly.com/api/dsfinvk/v1#operation/getExportDownload
Cash Register / Stamm Kassen (1)
Muss ich über die DSFinV-K API einen Cash Register erstellen, obwohl ich bereits über die Sign DE API einen Client erstellt habe?
Ja.
Über die SIGN DE API wird nur die client_id sowie die serial_number des Kassengerätes hinterlegt. In der DSFinV-K werden jedoch weitere Informationen zum Kassengerät benötigt.
Deshalb muss mit der selben client_id die Sie in der SIGN DE verwendet haben, über die DSFinV-K API auch ein Cash Register erstellt werden.
Was this page helpful?