Wartung & Tagesgeschäft
Was muss täglich, monatlich, jährlich passieren, damit ein ProfiPOS-Standort sauber läuft.
Tagesgeschäft
Z-Bon (täglich)
Ein Z-Bon (Zähler-Bon, „Tagesabschluss") muss laut KassenSichV täglich gedruckt werden, sobald der Standort schließt. Der Z-Bon:
- summiert alle Verkäufe des Tages
- weist Steuern getrennt nach Sätzen aus
- zählt Zahlart-Aufteilung
- listet Stornierungen, Rabatte, Trinkgelder
- inkrementiert den TSE-Tageszähler
Workflow im Backoffice:
- „Tagesabschluss → Neu für heute"
- Kassenbestand-Ist eingeben (Bargeld zählen)
- „Abschluss erstellen" → System rechnet Soll-Ist-Differenz
- „Abschluss speichern" → Z-Bon-Druck (A4 + Bondrucker)
Der Tagesabschluss kann auch über die Kasse („Manager-Menü → Tagesabschluss") ausgelöst werden.
Trinkgeld-Verteilung
- Trinkgelder werden pro Bediener gepoolt
- Tagesabschluss verteilt nach hinterlegtem Schlüssel (linear oder gewichtet nach Stunden)
- Auszahlung als Lohn-Komponente exportierbar (DATEV-CSV)
Mahnungen + Offene Tische
Stehen am Ende des Tages noch Tische offen, wirft der Z-Bon-Wizard einen Warning. Diese Tische müssen erst abgeschlossen oder explizit auf den nächsten Tag „mitgenommen" werden.
DSFinV-K-Export (auf Anfrage)
DSFinV-K ist das Pflicht-Format für die Finanzverwaltung bei Außenprüfungen. Das Backoffice generiert es On-Demand:
- „Compliance → DSFinV-K-Export"
- Zeitraum wählen (typisch: Quartal oder Jahr)
- „ZIP generieren" → Server baut alle 21 Pflicht-CSVs +
index.xml(Endpoint/api/v1/dsfinvk/export) - Download landet im Backoffice-Postfach + per E-Mail an den Buchhalter
Validierung vorab: „Compliance → DSFinV-K-Validate" prüft den Zeitraum auf offene Bons / fehlende TSE-Signaturen / leere Steuersätze, bevor das Finanzamt es tut.
Details: KassenSichV-Doku
Backup-Strategie
Cloud-DB (0profipos auf 88.99.138.84)
| Frequenz | Mittel | Aufbewahrung |
|---|---|---|
| Stündlich | mysqldump + xz auf /srv/backups/0profipos/hourly/ | 48 h |
| Täglich | mysqldump + xz + rsync zu Hetzner Storage-Box | 30 Tage |
| Wöchentlich | Vollbackup auf Off-Site-NAS | 12 Monate |
| Monatlich | Vollbackup verschlüsselt auf Archiv-Tape | 10 Jahre (KassenSichV) |
Standort-Server-DB (profipos_local)
- Stündlich lokaler Snapshot auf
/opt/profipos/server/backup/ - Täglich Sync zur Cloud (Outbox-Tabelle als Single-Source-of-Truth)
- Kein eigenes Off-Site nötig — Cloud ist die kanonische Wahrheit
Restore-Test
Pflicht alle 3 Monate. Restore einer Stichproben-Tabelle auf einen isolierten Testserver:
xzcat /srv/backups/0profipos/daily/2026-06-12.sql.xz | mysql --no-defaults -u root test_restore
Update-Workflow
ProfiPOS rollt Updates kontrolliert aus — kein automatisches Auto-Update ohne Backoffice-Freigabe.
Ablauf
- Anesda baut Release über Jenkins (siehe AGENTS.md).
- Release landet in
software_releases(Cloud-DB), Statusstaged. - Anesda gibt Release im Backoffice frei →
update_freigaben-Eintrag pro Standort (Kanalstable/beta). - Standort-Server pollt alle 60 s das Backoffice. Bei Freigabe:
- Idle-Check pro Kassen-Gerät (keine offene Session, kein Druck)
- Download des Installers + SHA-256-Prüfung
- MQTT-Befehl
befehle/{kurz}/update_startenan das Gerät - Gerät installiert sich selbst neu und meldet
update.ackzurück
- Standort-Server-Self-Update läuft via
update-pending.flag-Datei und nächstem systemd-Restart-Cycle (typisch nachts).
Details: Auto-Update-Mechanismus
TSE-Zertifikatswechsel (alle 5 Jahre)
Swissbit-TSE-Zertifikate sind 5 Jahre gültig. 90 Tage vor Ablauf wirft das Backoffice einen Banner + Telegram-Alert.
Workflow
- Neuer Stick wird angefordert (Anesda + Swissbit-Reseller).
- Backoffice „Compliance → TSE → Wechsel vorbereiten" generiert einen Wartungs-Code.
- Vor Ort: alten Stick ziehen → neuen Stick stecken → Code eingeben.
- Kasse exportiert offene Transaktionen aus dem alten Stick (TAR-Datei) und überträgt sie an das Backoffice für die Archivierung.
- Neuer Stick wird initialisiert, alte Seriennummer bleibt im Backoffice + DSFinV-K-Exports referenziert.
Wichtig: Der alte Stick muss noch 10 Jahre lang aufbewahrt werden (KassenSichV).
Monitoring & Alerts
| Komponente | Check | Alert-Kanal |
|---|---|---|
| Standort-Server-Heartbeat | MQTT wartung/{kurz}/heartbeat alle 30 s | Telegram bei >5 min Stille |
| Cloud-DB-Disk | df > 80 % | Telegram |
| TSE-Zertifikat | Backoffice-Cron täglich | Backoffice-Banner + Telegram 90/30/7 Tage vor Ablauf |
| EC-Terminal | ZVT-Status alle 5 min | Backoffice-Banner |
| Drucker-Papier-Ende | ESC/POS DLE EOT | Backoffice + Display-Hinweis |
| Mosquitto-Disk | mosquitto-Persistence > 1 GB | Telegram |
Lizenz + Wartungs-Vertrag
- Lizenzgebühr pro produktivem Standort + monatliche Wartungs-Pauschale
- Beinhaltet: Updates, Telefonsupport (Mo–Fr 09:00–18:00 + Sa 09:00–13:00), Backup-Restore-Garantie, TSE-Zertifikats-Wechsel
- NICHT enthalten: Hardware (Kasse, Drucker, TSE, EC-Terminal), Internet-Anbindung, Vor-Ort-Service außerhalb Wartungsfenster
Vertragsdetails siehe Wartungs-Vertrag pro Mandant.