1 Allgemeine Beschreibung des Kassensystems
Rechtsgrundlage: § 146 Abs. 5 AO, KassenSichV § 6, GoBD Rz. 150-162
1.1 Systembezeichnung
| Name |
BISpicy POS - Kassensystem-Software |
| Version |
4.17 und höher (November 2025) |
| Hersteller |
BISpicy GmbH [Platzhalter] |
| Einsatzzweck |
Elektronisches Aufzeichnungssystem gemäß § 146a AO |
| Zielgruppen |
Einzelhandel, Gastronomie, Dienstleistungen, KFZ-Werkstätten |
1.2 Systemarchitektur
Komponenten-Übersicht
- Android-App - Hauptanwendung (Kotlin, Jetpack Compose)
- SQLite-Datenbank - Lokale Datenhaltung (verschlüsselt via SQLCipher)
- Firebase Cloud - Backend-Services (Firestore, Authentication)
- Fiskaly Cloud-TSE - Technische Sicherheitseinrichtung (BSI-zertifiziert)
- Stripe - Zahlungsabwicklung (Lizenz-Verkauf)
- SumUp - Kartenterminal-Integration (optional)
1.3 Funktionsumfang
- Verkaufserfassung (Barcode, manuell, Favoriten)
- Artikelverwaltung (Kategorien, Preise, Bestände)
- Kundenverwaltung (CRM-Funktionen)
- Kassenabschluss (Z-Bon, X-Bon)
- Berichte (Umsatz, Lagerbestand)
- TSE-Signierung (KassenSichV-konform)
- QR-Codes auf Kassenbons (DSFinV-K)
- Automatische Backups (10-Jahres-Archivierung)
- DSFinV-K-Export (Betriebsprüfung)
- Audit-Logging (alle Transaktionen)
4 Arbeitsabläufe
4.2 Verkaufsvorgang (Standard)
Workflow: Vom Artikel zum Kassenbon
- Artikel hinzufügen (Barcode/Liste/Manuell)
- Menge anpassen (+ / - Buttons)
- Kunde zuordnen (optional)
- Zur Kasse (Button)
- Zahlungsart wählen (Bar/Karte/SumUp)
- Zahlung abschließen (Button)
- TSE-Signierung (automatisch, 2-5 Sek)
- START Transaction (mit Transaction-ID)
- UPDATE Transaction (Artikeldaten, Preise)
- FINISH Transaction (Signatur generieren)
- Bon drucken (mit TSE-QR-Code)
- Bestand reduzieren (automatisch)
- Cloud-Sync (bei Premium-Lizenz, 30 Sek Delay)
Wichtig: Während der TSE-Signierung (Schritt 7) darf die App NICHT geschlossen werden!
Sonst bleibt die TSE-Transaktion im ACTIVE-Status und muss manuell abgeschlossen werden.
6 Kassenabschluss
6.1 Tagesabschluss (Z-Bon)
Kritische Hinweise
- Z-Bon KANN NICHT STORNIERT werden
- Zähler wird unwiderruflich zurückgesetzt
- 10-Jahres-Aufbewahrungspflicht (§ 147 AO)
- Nur EINMAL PRO TAG durchführen (am Tagesende)
Ablauf:
- Einstellungen → "Kassenabschluss"
- "Z-Bon (Tagesabschluss)" antippen
- Kassensturz durchführen:
- Bargeld zählen (Scheine + Münzen)
- Betrag in App eingeben
- Differenz berechnen lassen (Ist vs. Soll)
- Bei Differenz: Notiz eingeben (z.B. "Trinkgeld", "Fehlbetrag")
- Bestätigung: "⚠️ Wirklich Z-Bon erstellen?" → "Ja"
- Z-Bon wird erstellt:
- Bon druckt automatisch (falls Drucker verbunden)
- PDF wird gespeichert (
Dokumente/BISpicyReports/Z-Bons/)
- Backup wird erstellt (automatisch)
- TSE-Abschluss (falls aktiviert)
- Zähler zurückgesetzt: Morgen startet bei Bon-Nr. 000001
Z-Bon Inhalt:
═══════════════════════════════════════════
TAGESABSCHLUSS (Z-BON)
═══════════════════════════════════════════
Café Latte
Hauptstraße 123, 12345 Berlin
Steuernr: 12/345/67890
Datum: 04.11.2025
Uhrzeit: 22:30 Uhr
Kassierer: Max Mustermann
───────────────────────────────────────────
UMSATZ-ÜBERSICHT
───────────────────────────────────────────
Anzahl Belege: 45
Stornos: 2
Umsatz Netto: 850,42 €
davon 19% MwSt: 161,58 €
davon 7% MwSt: 28,00 €
───────────────────────────────────────────
UMSATZ BRUTTO: 1.040,00 €
═══════════════════════════════════════════
ZAHLUNGSARTEN
───────────────────────────────────────────
Bar: 750,00 €
Karte (EC): 250,00 €
SumUp: 40,00 €
───────────────────────────────────────────
GESAMT: 1.040,00 €
═══════════════════════════════════════════
TSE-SIGNATUR
───────────────────────────────────────────
Transaktion: 0001234
Signatur: 3D4F5A7B2E9C1D6A8B4F...
[QR-Code hier]
═══════════════════════════════════════════
7 Stornos und Korrekturen
Rechtsgrundlage: § 146 Abs. 1 AO (Ordnungsmäßigkeit), § 238 HGB (Buchführungspflicht)
7.1 Erlaubte Korrekturen
- Storno-Beleg (separater Bon mit negativem Betrag)
- Preis-Korrektur (für zukünftige Verkäufe)
- Stammdaten-Änderung (Produktname, Kategorie)
- Löschen von Verkäufen (statt Storno)
- Rückdatierung von Stornos
- Manipulation von TSE-Daten
- Direkte DB-Änderung (außerhalb der App)
Rechtsfolgen bei Verstößen
- § 370 AO (Steuerbetrug): Freiheitsstrafe bis 5 Jahre oder Geldstrafe
- § 379 AO (Ordnungswidrigkeit): Geldbuße bis 25.000 €
- § 162 AO (Schätzungsbefugnis): Finanzamt darf Umsatz schätzen
9 Technische Sicherheitseinrichtung (TSE)
Rechtsgrundlage: § 146a AO, KassenSichV § 5-7, BSI TR-03153
9.1 TSE-Anbieter
| Anbieter |
Fiskaly GmbH (Berlin, Deutschland) |
| Produkt |
Fiskaly Cloud-TSE (Hardware-unabhängig) |
| BSI-Zertifikat |
BSI-K7-0162-2020 (gültig bis 2028) |
| Typ |
Cloud-TSE (keine Hardware erforderlich) |
| Algorithmus |
ECDSA (Elliptic Curve Digital Signature Algorithm), SHA-256 |
9.2 TSE-Workflow (3-Schritte)
START → UPDATE → FINISH
Schritt 1: START Transaction
- Zeitpunkt: Beim Hinzufügen des ersten Artikels in Warenkorb
- Fiskaly generiert: Transaction-ID (eindeutig)
- App speichert: Transaction-ID in lokalem State
Schritt 2: UPDATE Transaction
- Zeitpunkt: Beim Klick auf "Zahlung abschließen"
- Übermittelt: Artikel-Details, Preise, MwSt, Zahlungsart
- Fiskaly speichert: Transaktionsdaten (unveränderbar)
Schritt 3: FINISH Transaction
- Zeitpunkt: Nach erfolgreicher Zahlung
- Fiskaly generiert: Kryptographische Signatur (SHA-256 Hash)
- App erhält: Signatur + QR-Code-Daten
- Bon druckt: Mit TSE-QR-Code
QR-Code Format (DSFinV-K):
V0; // Version
BISpicy-POS; // Kassen-Hersteller
Fiskaly; // TSE-Hersteller
TSE123456; // TSE-Seriennummer
0001234; // Transaktionsnummer
2025-11-04T14:35:12Z; // Zeitstempel
10.00;19.00;2.52;12.52; // Beträge
Bar; // Zahlungsart
0; // Beleg-Typ (0=Verkauf)
SIGN=3D4F5A7B... // Signatur
13 Betriebsprüfung
Rechtsgrundlage: § 147 Abs. 6 AO (Datenzugriff), § 146 Abs. 2a AO (Nachweispflicht)
13.1 Vorbereitung auf Betriebsprüfung
Was der Betrieb bereithalten muss
- Verfahrensdokumentation (dieses Dokument)
- DSFinV-K-Export (digitale Schnittstelle)
- Z-Bons (täglich, 10 Jahre aufbewahrt)
- X-Bons (monatlich/quartalsweise)
- TSE-Zertifikat (BSI-Bescheinigung von Fiskaly)
- Kassenjournal (alle Verkaufsbelege)
13.2 DSFinV-K-Export durchführen
- Einstellungen → "Reports" → "DSFinV-K-Export"
- Zeitraum wählen (z.B. "01.01.2025 - 31.12.2025")
- "Export starten" → ZIP-Datei wird erstellt (30 Sek - 2 Min)
- Datei weitergeben:
- Email an Prüfer
- USB-Stick kopieren
- Cloud-Share (Google Drive, Dropbox)
Export-Inhalt:
dsfinvk_2025_export.zip (z.B. 5 MB)
├── bonpos.csv (50.000 Verkaufspositionen)
├── bonkopf.csv (10.000 Kassenbelege)
├── stamm_artikel.csv (500 Produkte)
├── stamm_orte.csv (Filialen)
├── tse_transaktionen.csv (10.000 TSE-Signaturen)
├── cash_per_bon.csv (Zahlungsarten)
└── index.xml (Metadaten)