Skip to content

[Feature-Request] Fallback-Workflow bei nicht erreichbarem TSE-Service #11

Description

@Rocket-Quack

Problem / Motivation

Aktuell ist der POS-Workflow so aufgebaut, dass eine POS Invoice nur dann submitted werden kann,
wenn eine verknüpfte Fiskaly TSE-Transaktion erfolgreich erstellt und mit dem Status FINISHED
abgeschlossen wurde.

Dieses Verhalten ist fachlich korrekt, führt aber zu einem operativen Problem:
Wenn Fiskaly temporär nicht erreichbar ist (Netzwerkprobleme, Timeout, Fiskaly-Ausfall),
wird der komplette POS-Workflow blockiert.

In der Praxis kann das bedeuten:

  • Kasse nicht nutzbar
  • Verkauf nicht möglich
  • Problem liegt außerhalb der eigenen Infrastruktur

Aktuelles Verhalten

  • POS Invoice benötigt eine verknüpfte TSE Transaction mit Status FINISHED
  • Ist Fiskaly nicht erreichbar:
    • TSE Transaction kann nicht erstellt oder abgeschlossen werden
    • POS Invoice Submit schlägt fehl
  • Es existiert kein kontrollierter Fallback- oder Offline-Mechanismus

Ziel / Wunschverhalten

Ein konfigurierbarer Fallback-Workflow, der es erlaubt,
bei temporärer Nichterreichbarkeit von Fiskaly weiter zu kassieren,
ohne die fiskalische Nachvollziehbarkeit zu verlieren.

Wichtig:

  • Keine stille Umgehung der TSE
  • Alle betroffenen Belege müssen klar gekennzeichnet sein
  • Nachträgliche Signierung muss möglich sein

Grobe Lösungsidee

1. Neue Einstellung (TSE Settings)

Neue Option, z. B.:

  • Fallback erlauben, wenn Fiskaly nicht erreichbar ist
  • Standard: deaktiviert (Strict Mode)

2. Neuer TSE-Status

Erweiterung der möglichen transaction_status Werte, z. B.:

  • PENDING_FISKALY
  • OFFLINE_PENDING
  • TEMPORARY_FAILED

Dieser Status bedeutet:

  • Fiskaly war nicht erreichbar
  • Transaktion ist noch nicht fiskalisch abgeschlossen
  • Kein technischer Fehler der Anwendung

3. Verhalten im POS (Fallback aktiv)

Wenn Fiskaly nicht erreichbar und Fallback aktiviert ist:

  • POS Invoice darf submitted werden
  • POS Invoice wird klar gekennzeichnet, z. B.:
    • tse_fallback_used = 1
  • Warnhinweis im POS:

    „Fiskaly aktuell nicht erreichbar – Beleg wird automatisch nachsigniert.“

  • Kassenabschluss nicht Möglich solange nicht alle POS Invoices Signiert

Wenn Fallback deaktiviert ist:

  • aktuelles striktes Verhalten bleibt bestehen

4. Nachträgliche Signierung (Recovery)

  • Pending TSE Transactions werden später erneut signiert:
    • Background Job
    • Scheduler
    • oder manueller „Erneut signieren“-Button
  • Nach erfolgreicher Signierung:
    • Status → FINISHED
    • POS Invoice gilt als vollständig fiskalisch gesichert

5. Audit & Transparenz

  • Übersicht / Report:
    • „POS Invoices mit ausstehender TSE-Signierung“
  • Keine automatische Löschung oder stille Korrektur
  • Klare Nachvollziehbarkeit für Prüfer

Nutzen

  • Kein POS-Stillstand bei externen Fiskaly-Problemen
  • Klare Trennung zwischen:
    • technischer Erreichbarkeit
    • fiskalischem Status
  • Betreiber kann zwischen:
    • striktem Modus
    • kontrolliertem Fallback entscheiden

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions