digiscan-ng — Administratoren-Handbuch
Überblick
Als Administrator haben Sie vollen Zugriff auf alle Funktionen des Systems. Sie können Stammdaten verwalten, Benutzer einrichten, Produktionsprobleme beheben und den Verarbeitungsfortschritt überwachen.
1. Ersteinrichtung
Firmen anlegen
Navigieren Sie zu Verwaltung → Firmen & Aufträge. Legen Sie zunächst alle Firmen an, für die Dokumente verarbeitet werden sollen. Jede Firma braucht einen Namen und optional ein Kürzel für die Anzeige.
Belegarten anlegen
Unter Verwaltung → Belegarten legen Sie für jede Firma die benötigten Belegarten an. Eine Belegart definiert:
- Zugehörige Firma — Pflichtfeld
- Indexierungsfelder — welche Daten erfasst werden (Text, Datum, Betrag, Auswahl, Lookup)
- Priorität — bestimmt die Reihenfolge in der Indexierungs-Queue (Eilt → Wichtig → Standard → Eilt nicht)
- Scan-Einstellungen — Auflösung (150–600 dpi), Farbe/Graustufe/SW, Duplex
- OCR-Lernmodul — aktivierbar ab ~20 Belegen (s. Abschnitt 7)
- Export-Einstellungen — Pfad- und Dateinamen-Template, optionale Indexdatei
Feldtypen im Überblick:
| Typ | Verwendung |
|---|---|
| Text | Freitext, Namen, Nummern |
| Zahl | Mengen, Beträge |
| Datum | Rechnungsdatum, Lieferdatum |
| Auswahl | Feste Optionsliste |
| Lookup | Werte aus einer Nachschlagetabelle |
| Boolean | Ja/Nein-Felder |
Aufträge anlegen
Unter Verwaltung → Aufträge werden Aufträge pro Firma angelegt. Innerhalb eines Auftrags entstehen dann die Positionen (ein Auftrag = ein Scan-Stapel oder Import-Batch).
Benutzer einrichten
Unter Verwaltung → Benutzer legen Sie Indexierer, Merger und weitere Admins an. Nach dem Anlegen müssen Sie jedem Indexierer und Merger explizit Berechtigungen zuweisen: welche Belegart + Firma Kombination er bearbeiten darf und ob er nur indexieren oder auch Konflikte lösen kann.
Rollen: - Indexer — Ersterfassung. Sieht nur zugewiesene Belegarten/Firmen. - Merger — Ersterfassung + Konfliktauflösung. - Admin — Alles + Verwaltung + Admin-Aktionen in der Positions-UI.
2. Nachschlagetabellen
Unter Verwaltung → Nachschlagetabellen verwalten Sie strukturierte Listen (z.B. Lieferanten, Kostenstellen, Konten). Jede Tabelle hat konfigurierbare Spalten. Einträge können:
- Manuell über die Oberfläche gepflegt werden
- Per CSV-Import in einem Schritt übernommen werden (Trennzeichen: Semikolon)
Lookup-Felder in Belegarten verweisen auf diese Tabellen. In der Indexierungsmaske erscheint eine Suchbox mit Live-Autocomplete.
3. Scanner-Stationen
Unter Verwaltung → Scanner-Stationen registrieren Sie die IP-Adressen und Ports der Scanner-Agent-Installationen. Der Agent läuft als systemd-Service auf dem Rechner, an dem der Scanner angeschlossen ist (Standard-Port: 8089).
In der Scan-UI wählt der Bediener dann die Station aus, bevor er einen Scan startet.
4. Positions-Verwaltung (Admin-Panel)
Auf jeder Positions-Detailseite finden Admins das Admin-Aktionen-Panel (orangefarbener Kasten). Es bietet:
Position Status manuell setzen
Für hängengebliebene Positionen können Sie den Status direkt setzen: - Ausstehend — zurück auf Start - OCR — OCR läuft noch - Indexierung — bereit zur Erfassung - Freigegeben — alle Dokumente erfasst und bestätigt
Indexierung starten (force)
Setzt alle Dokumente im Status pending oder error auf ocr_done — sie erscheinen dann sofort in der Indexierungs-Queue. Nützlich wenn die OCR hängt oder Importe direkt indexiert werden sollen ohne vorherige OCR.
Erfassungen zurücksetzen
Löscht alle eingegebenen Daten und setzt Dokumente zurück auf ocr_done. Achtung: alle erfassten Werte gehen verloren. Nur verwenden wenn eine Position komplett neu erfasst werden muss.
Scan-Lock aufheben
Entfernt den Scan-Lock einer Position. Nötig wenn ein Scan unterbrochen wurde und die Position nicht mehr weitergescannt oder importiert werden kann.
Scans / Importe löschen
Löscht entweder alle gescannten Dokumente (vom Scanner-Agent) oder alle importierten Dokumente (manueller PDF-Upload) — jeweils unabhängig voneinander.
PDF-Import
Admins können direkt aus dem Admin-Panel PDFs in eine Position importieren. Die Dateien landen im selben Verarbeitungs-Workflow wie gescannte Dokumente.
5. Aktivitätsübersicht
Unter Verwaltung → Aktivitätsübersicht sehen Sie in Echtzeit welcher Benutzer gerade welches Dokument bearbeitet (basierend auf Heartbeat alle 30 Sekunden). Die Übersicht zeigt:
- Belegart und Firma
- Dokument-Nummer innerhalb der Position
- Ob gerade getippt wird (Tipp-Indikator)
- Letzter Heartbeat-Zeitstempel
6. Prioritätssystem
Belegarten haben vier Prioritätsstufen die die Reihenfolge in der Indexierungs-Queue bestimmen:
| Priorität | Label | Farbe | Bedeutung |
|---|---|---|---|
| 1 | Eilt | 🔴 Rot | Sofort bearbeiten |
| 2 | Wichtig | 🟠 Orange | Zeitnah bearbeiten |
| 3 | Standard | 🟡 Gelb | Normaler Ablauf (Default) |
| 4 | Eilt nicht | 🟢 Grün | Kann warten |
Im Dashboard ist jede Position mit einem farbigen linken Rand und Badge versehen. Die Indexierungs-Queue sortiert automatisch: Priorität 1 kommt immer zuerst, unabhängig vom Datum.
7. OCR-Lernmodul
Pro Belegart kann das OCR-Lernmodul aktiviert werden. Es lernt aus korrekt abgeschlossenen Belegen und schlägt beim nächsten Dokument gleicher Belegart Feldwerte vor.
Aktivierung: Belegart bearbeiten → Abschnitt „OCR-Lernmodul" → Checkbox aktivieren.
Wie es lernt:
- Trainiert ausschließlich aus bestätigten Daten: entweder wenn beide Indexierer die gleichen Werte eingegeben haben (auto_approved) oder nach einer Konfliktauflösung durch den Merger (merged)
- Erste Erfassungen allein werden nicht als Training gewertet
- Modell wird jedes Mal verbessert wenn ein neuer Beleg abgeschlossen wird
- Erst ab 20 Trainingsbelegen erscheinen Vorschläge in der Indexierungsmaske
Anzeige für Indexierer: Violetter Chip „🧠 Vorschlag: [Wert]" unter dem Eingabefeld. Der Vorschlag kann per Klick übernommen oder ignoriert werden.
Empfehlung: Nur für Belegarten aktivieren die regelmäßig und in größerer Zahl vorkommen.
8. Export-Konfiguration
Die Export-Einstellungen pro Belegart definieren wohin und unter welchem Namen Dokumente exportiert werden.
Pfad-Template Tokens:
| Token | Bedeutung |
|---|---|
$Jahr$ |
4-stelliges Jahr |
$Monat$ |
2-stelliger Monat |
$Datum$ |
Vollständiges Datum |
$Firma$ |
Firmenname |
$Auftrag$ |
Auftragsbezeichnung |
$Position$ |
Positionsname |
$DokNr$ |
Dokumentnummer |
#feldname# |
Wert eines Indexierungsfeldes |
Beispiel:
Pfad: $Jahr$/$Monat$/$Firma$/#Kostenstelle#
Dateiname: #Rechnungsnummer#_#Datum#
Indexdatei: Optional kann eine CSV- oder Excel-Indexdatei erzeugt werden die alle Feldwerte tabellarisch enthält.
Aufbewahrung: Pro Belegart kann eine Aufbewahrungsdauer in Tagen konfiguriert werden. Nach Ablauf werden Dokumente aus dem System entfernt (muss separat angestoßen werden).
9. Datenbank-Backup
Das System erstellt automatisch täglich um 02:00 Uhr ein Datenbank-Backup.
Speicherort: ./data/backups/digiscan_DATUM_UHRZEIT.sql.gz
Aufbewahrung: 14 Tage (ältere Backups werden automatisch gelöscht)
Backup-Log: ./data/backups/backup.log
Wiederherstellung:
bash
docker compose exec db-backup /backup.sh # manuelles Backup auslösen
./scripts/restore-backup.sh digiscan_2026-04-22_02-00.sql.gz
10. Systemwartung
Neustart
bash
docker compose restart
Logs ansehen
bash
docker compose logs -f web # Web-UI Fehler
docker compose logs -f worker # OCR/Verarbeitungs-Fehler
docker compose logs -f postgres # Datenbank-Fehler
Scanner-Agent (auf dem Scanner-Rechner)
bash
sudo systemctl restart digiscan-agent
sudo journalctl -u digiscan-agent -n 50 --no-pager
Datenverzeichnisse
Alle Daten liegen als Bind Mounts direkt auf dem Host:
- ./data/postgres/ — Datenbankdateien
- ./data/incoming/ — alle PDFs (Scans + Importe)
- ./data/export/ — exportierte Dokumente
- ./data/backups/ — Datenbank-Backups
Diese Verzeichnisse sollten regelmäßig extern gesichert werden.