[
  {
    "id": "F01",
    "bereich": "Lieferbestand",
    "funktion": "Odoo-18-Module",
    "status": "vorhanden",
    "vorhanden": "Sieben getrennte Module sind dokumentiert.",
    "beleggrenze": "Datei-/Manifestbeleg; kein frischer Installationslauf.",
    "naechster_schritt": "Installieren, upgraden und ORM erneut prüfen.",
    "quelle": "S02"
  },
  {
    "id": "F02",
    "bereich": "Lieferbestand",
    "funktion": "Standalone-Anwendung",
    "status": "vorhanden",
    "vorhanden": "Eigenständiger FastAPI-/SQLite-Weg dokumentiert.",
    "beleggrenze": "Quellenbestand; hier kein laufender Dienst.",
    "naechster_schritt": "Mehrbenutzer- und Zielsystemprüfung.",
    "quelle": "S03"
  },
  {
    "id": "F03",
    "bereich": "Erfassung",
    "funktion": "Mitarbeiter / Profi / Büro",
    "status": "teilweise",
    "vorhanden": "Oberflächen und Erfassungswege sind vorbereitet.",
    "beleggrenze": "Prototypen, keine durchgängige Produktabnahme.",
    "naechster_schritt": "Je Rolle einen vollständigen Fachfall abnehmen.",
    "quelle": "S03"
  },
  {
    "id": "F04",
    "bereich": "Erfassung",
    "funktion": "Lokale PWA-Oberfläche",
    "status": "demo",
    "vorhanden": "Mitgelieferter HTML-Prototyp mit synthetischen Daten.",
    "beleggrenze": "Originalcode adaptiert; Browserprüfung gesperrt.",
    "naechster_schritt": "Interaktionen und Offline-Neustart im Browser prüfen.",
    "quelle": "S11"
  },
  {
    "id": "F05",
    "bereich": "Erfassung",
    "funktion": "Opticon / Barcode",
    "status": "offen",
    "vorhanden": "Datenformat, Konzept und Implementierungsanteile liegen vor.",
    "beleggrenze": "Kein physischer Scan-zu-Buchung-Nachweis.",
    "naechster_schritt": "Scanner anschließen, Übertragung und Duplikate prüfen.",
    "quelle": "S03"
  },
  {
    "id": "F06",
    "bereich": "Fachlogik",
    "funktion": "Rohzeit → Prüfung → Buchung",
    "status": "teilweise",
    "vorhanden": "Die fachliche Trennung ist im Bestand angelegt.",
    "beleggrenze": "Kein aktueller durchgängiger E2E-Beleg.",
    "naechster_schritt": "Denselben Vorgang über alle drei Zustände verfolgen.",
    "quelle": "S02"
  },
  {
    "id": "F07",
    "bereich": "Fachlogik",
    "funktion": "Kolonne / Trupp",
    "status": "teilweise",
    "vorhanden": "Eigenes Erfassungsmodul vorhanden.",
    "beleggrenze": "Dateibestand, keine vollständige Rollenkette.",
    "naechster_schritt": "Gleichzeitige Start-/Umbuchungs-/Stoppfälle prüfen.",
    "quelle": "S02"
  },
  {
    "id": "F08",
    "bereich": "Fachlogik",
    "funktion": "Segmentjournal / Verteilung",
    "status": "teilweise",
    "vorhanden": "Journal und Prozentverteilung getrennt modelliert.",
    "beleggrenze": "Modulbeleg; Grenzfälle nicht neu ausgeführt.",
    "naechster_schritt": "Rundung, Überlappung und Transaktionsgrenzen testen.",
    "quelle": "S02"
  },
  {
    "id": "F09",
    "bereich": "Sicherheit",
    "funktion": "Kiosk-PIN / Fehlversuch-Sperre",
    "status": "teilweise",
    "vorhanden": "Hashing und Sperrlogik dokumentiert.",
    "beleggrenze": "Historisch nur logisch, nicht am laufenden Odoo geprüft.",
    "naechster_schritt": "Anmeldung, Sperre und Entsperrung integriert testen.",
    "quelle": "S02"
  },
  {
    "id": "F10",
    "bereich": "Integration",
    "funktion": "Odoo-ORM-Test",
    "status": "blockiert",
    "vorhanden": "Der dokumentierte Lauf scheiterte an DB-Namensauflösung.",
    "beleggrenze": "Historischer Fehlbefund; kein frischer PASS.",
    "naechster_schritt": "Testumgebung korrigieren und Lauf wiederholen.",
    "quelle": "S07"
  },
  {
    "id": "F11",
    "bereich": "Integration",
    "funktion": "Odoo-19-Zielbild",
    "status": "offen",
    "vorhanden": "Versionswunsch ist dokumentiert.",
    "beleggrenze": "Bestand 17/18; keine nachgewiesene 19-Kompatibilität.",
    "naechster_schritt": "Version verbindlich abstimmen und Migration kalkulieren.",
    "quelle": "S03"
  },
  {
    "id": "F12",
    "bereich": "Betrieb",
    "funktion": "Produktivbetrieb / Kundenabnahme",
    "status": "offen",
    "vorhanden": "Ein belastbarer Arbeitsstand ist vorhanden.",
    "beleggrenze": "Keine Kundenfreigabe und kein Betriebsnachweis.",
    "naechster_schritt": "Pilot, Restore, Rollen und Freigabe durchführen.",
    "quelle": "S01"
  },
  {
    "id": "F13",
    "bereich": "Betrieb",
    "funktion": "Historischer ZIP-Privacy-Filter",
    "status": "blockiert",
    "vorhanden": "Ein früherer Filter war bei Binärdateien umgehbar.",
    "beleggrenze": "Späterer P0-Befund, kein pauschales Datenschutz-PASS.",
    "naechster_schritt": "Allowlist, entpackte Prüfung und Fehlercodes erzwingen.",
    "quelle": "S07"
  },
  {
    "id": "F14",
    "bereich": "Tests",
    "funktion": "Historischer Testlauf",
    "status": "belegt",
    "vorhanden": "29 bestanden; 1 optional übersprungen.",
    "beleggrenze": "Gilt nur für den benannten historischen Testumfang.",
    "naechster_schritt": "Nach Änderungen passende Tests erneut ausführen.",
    "quelle": "S07"
  },
  {
    "id": "F15",
    "bereich": "Tests",
    "funktion": "Operator-Anforderungs-Gate",
    "status": "belegt",
    "vorhanden": "11 belegt / 2 teilweise im früheren Prüfbericht.",
    "beleggrenze": "13 Operator-Aufträge, nicht die sechs Kundenanforderungen.",
    "naechster_schritt": "Offene Bild- und Prozessbelege nachführen.",
    "quelle": "S08"
  },
  {
    "id": "F16",
    "bereich": "Tests",
    "funktion": "Vorgegebene Abnahme 8/8",
    "status": "offen",
    "vorhanden": "Die Kennzahl steht im Brief.",
    "beleggrenze": "Vollständiges Einzelprotokoll nicht vorliegend.",
    "naechster_schritt": "Originalprotokoll mit Prüfschritten zuordnen.",
    "quelle": "S00"
  },
  {
    "id": "F17",
    "bereich": "Konzepte",
    "funktion": "Masswerk / CAD-Konzept",
    "status": "demo",
    "vorhanden": "Lokale Konzeptoberflächen sind eingebettet.",
    "beleggrenze": "Eigene Konzepte, keine Herstellerprogramme.",
    "naechster_schritt": "Bedienwege testen; Produktions-/CAD-Kern separat bauen.",
    "quelle": "S11"
  },
  {
    "id": "F18",
    "bereich": "Konzepte",
    "funktion": "FALZ / FALZ-02",
    "status": "offen",
    "vorhanden": "Im Quellenregister genannt.",
    "beleggrenze": "In diesem Offline-Paket nicht verfügbar; nicht nachgebaut.",
    "naechster_schritt": "Freigegebene Originaldateien kuratieren und prüfen.",
    "quelle": "S11"
  },
  {
    "id": "F19",
    "bereich": "Kaufmännisch",
    "funktion": "40 Stunden / 6.000 Euro",
    "status": "belegt",
    "vorhanden": "Vorgegebener Rechenrahmen 40 × 150 Euro netto.",
    "beleggrenze": "Keine unabhängige Zeitmessung, Rechnung oder Zahlung.",
    "naechster_schritt": "Geschätzte Zuordnung von ca. 5 h bestätigen.",
    "quelle": "S01"
  },
  {
    "id": "F20",
    "bereich": "Kaufmännisch",
    "funktion": "ROI / Zeitersparnis",
    "status": "offen",
    "vorhanden": "Ein transparentes Rechenmodell ist verfügbar.",
    "beleggrenze": "Annahmen, keine tatsächlich erzielten Einsparungen.",
    "naechster_schritt": "Pilotmessung und reale Betriebskosten eintragen.",
    "quelle": "M02"
  },
  {
    "id": "F21",
    "bereich": "Berichtswebsite",
    "funktion": "Navigation / Tour / Filter",
    "status": "teilweise",
    "vorhanden": "Code für zwölf Seiten und geführte Tour vorhanden.",
    "beleggrenze": "Statische Tests; Browserabnahme administrativ blockiert.",
    "naechster_schritt": "Mitgelieferte Browser-Suite in erlaubter Umgebung ausführen.",
    "quelle": "B01"
  },
  {
    "id": "F22",
    "bereich": "Berichtswebsite",
    "funktion": "PDF- und Datenexporte",
    "status": "vorhanden",
    "vorhanden": "Statische PDFs, CSV, JSON und Skripte werden mitgeliefert.",
    "beleggrenze": "Generierte Dateien; PDF-Rendererprüfung separat protokolliert.",
    "naechster_schritt": "Interaktive Downloads im Browser noch prüfen.",
    "quelle": "B01"
  },
  {
    "id": "F23",
    "bereich": "Berichtswebsite",
    "funktion": "Anonymisierung / Paketprüfung",
    "status": "teilweise",
    "vorhanden": "Textregeln, Datei-Allowlist und Archivprüfung verfügbar.",
    "beleggrenze": "Keine Garantie vollständiger Anonymität oder Rechtsprüfung.",
    "naechster_schritt": "Bildprüfung und finale Freigabe bleiben menschliche Aufgaben.",
    "quelle": "B01"
  }
]