5.3 KiB
README
Description
Dieses Tool konvertiert Rechnungen im PDF-Format über eine Weboberfläche in die offiziellen E-Rechnungsformate XRechnung (UBL) und ZUGFeRD 2.4 (hybride PDF mit eingebettetem CII-XML). Die Datenextraktion ist vollständig deterministisch (Regex und Zeilen-Auswertung) – es wird kein LLM und kein externer Dienst verwendet, sensible Finanzdaten verlassen das lokale Netzwerk nicht.
Zugriff
Die Anwendung läuft als Docker-Container und ist im lokalen Firmennetzwerk erreichbar unter:
Aufbau
| Datei | Zweck |
|---|---|
main.py |
Streamlit-Oberfläche für die Einzelrechnung, Export |
invoice_logic.py |
Extraktion, Berechnung, XML-Erzeugung (UBL und CII), PDF-Helfer |
batch_folder.py |
Ordner-Anbindung und Ampel-Bewertung des Stapelbetriebs (ohne Streamlit) |
batch_mode.py |
Oberfläche des Stapelbetriebs |
intro_overlay.py |
Intro-Video beim ersten Besuch |
Installation (Docker)
1. Repository holen
git clone https://gitea.scitech-gmbh.de:8443/dfuhrmann/E-Rechnung.git
cd E-Rechnung
2. Austauschordner einbinden (nur für den Stapelbetrieb)
Der Stapelbetrieb liest Rechnungen aus einem Ordner und schreibt die fertigen E-Rechnungen zurück. Dafür muss die Netzwerkfreigabe dem Container zugänglich gemacht werden – ein Windows-Pfad wie \\FS01\Daten\Technik\AI lässt sich nicht in der Oberfläche eintragen, sondern wird in docker-compose.yml gemountet:
volumes:
- /mnt/fs01/Daten/Technik/AI:/data
Wichtig: Binden Sie den übergeordneten Ordner ein, nicht einen einzelnen Unterordner. Alle Unterordner darunter sind dann in der Oberfläche frei wählbar, ohne dass diese Datei erneut angefasst werden muss.
Alternativ kann Docker die Freigabe selbst per CIFS einhängen – der entsprechende Block steht auskommentiert am Ende von docker-compose.yml. Das benötigte Konto braucht Lese- und Schreibrechte.
Wird kein Ordner eingebunden, funktioniert die Einzelrechnung uneingeschränkt; der Stapelbetrieb weist dann auf den fehlenden Mount hin.
3. Container bauen und starten
docker compose up -d --build
Die Anwendung ist danach unter http://localhost:8040 (bzw. im Firmennetz unter http://erechnung) erreichbar.
Use
Die Betriebsart wird links in der Seitenleiste gewählt.
Einzelrechnung
- Dokumenten-Upload: Laden Sie die Rechnungs-PDF über die Weboberfläche hoch. Die PDF wird direkt zur Kontrolle angezeigt.
- Leistungsnachweise (optional): Bis zu drei weitere PDFs anhängen. Ihre Seiten werden beim ZUGFeRD-Export ans Ende der Rechnung gehängt, sodass eine einzelne PDF entsteht. Aus diesen Dateien werden keine Daten ausgelesen.
- Extraktion: Starten Sie die Analyse über den Button "Daten extrahieren".
- Validierung: Prüfen Sie die extrahierten Kopfdaten und die Positionstabelle. Alle Felder sind editierbar. Pflichtfelder sind mit :red[*] markiert; der Export wird blockiert, solange Pflichtangaben fehlen.
- Export: Wählen Sie das Format (XRechnung-XML oder ZUGFeRD-PDF) und starten Sie den Download.
Stapel (Ordner)
- Ordner wählen: Eingangsordner (von DATEV befüllt) und Ausgabeordner aus den Unterordnern des eingebundenen Verzeichnisses auswählen.
- Einlesen: Alle PDFs des Eingangsordners werden analysiert und bewertet.
- Prüfen: Die Übersicht zeigt je Rechnung eine Ampel. ✅ bedeutet, dass alle Pflichtangaben vorliegen und die Summe der erkannten Positionen zur ausgewiesenen Bemessungsgrundlage passt. ⚠️ markierte Rechnungen nennen im Klartext, was fehlt; sie werden übersprungen und lassen sich im Einzelmodus korrigieren.
- Nachweise zuordnen (optional): Liegt ein Leistungsnachweis im selben Ordner, ordnen Sie ihn der zugehörigen Rechnung zu. Er zählt dann nicht mehr als eigene Rechnung.
- Exportieren: Alle grünen Rechnungen werden in einem Zug konvertiert und in den Ausgabeordner geschrieben. Die Quelldateien wandern in den Unterordner
verarbeitet– gelöscht wird nichts.
Notes
Kontrolle durch den Sachbearbeiter
Das Tool ist ein Automations-Assistent, kein Ersatz für die fachliche Prüfung.
Im Einzelmodus liegen alle extrahierten Werte zur Sichtprüfung und Korrektur offen; der Export wird blockiert, solange Pflichtangaben fehlen.
Im Stapelmodus tritt an die Stelle der Sichtprüfung jeder einzelnen Rechnung eine Sammelfreigabe: Es werden nur Rechnungen exportiert, bei denen alle Pflichtfelder belegt sind und die Summe der erkannten Positionen exakt der auf der Rechnung ausgewiesenen Bemessungsgrundlage entspricht. Dieser Summen-Abgleich ist das entscheidende Sicherheitsnetz – er deckt eine unvollständige Positionserkennung zuverlässig auf. Alles Auffällige wird markiert und übersprungen, nie stillschweigend exportiert.
Die Verantwortung für die inhaltliche Richtigkeit der Rechnung bleibt in beiden Betriebsarten beim Sachbearbeiter.
GoBD-Konformität
Das Tool generiert ausschließlich das strukturierte XML- bzw. hybride PDF-Format. Für die Einhaltung der GoBD-Richtlinien (u. a. die revisionssichere Archivierung der Original-PDF sowie der generierten E-Rechnung über den gesetzlichen Zeitraum von 10 Jahren) ist der Betreiber der Software selbst verantwortlich. Der Stapelbetrieb löscht keine Quelldateien, sondern verschiebt sie nach verarbeitet.