No description
Find a file
2026-02-01 21:01:05 +01:00
backend Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
data juhu 2026-02-01 21:01:05 +01:00
frontend Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
regeln Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
.env.example Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
.gitignore Initial commit 2026-02-01 20:44:25 +01:00
docker-compose.yml Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
Dockerfile Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00
README.md Dateiverwaltung Email attachment abruf läuft 2026-02-01 21:01:05 +01:00

<<<<<<< HEAD

docker.dateiverwaltung

=======

Dateiverwaltung

Modulares Dokumenten-Management-System für automatische Verarbeitung, Sortierung und Benennung von Dokumenten.

Features

  • Mail-Abruf: Automatischer Abruf von Attachments aus IMAP-Postfächern
  • PDF-Verarbeitung: Text-Extraktion und OCR für gescannte Dokumente
  • ZUGFeRD-Erkennung: Automatische Erkennung und separate Ablage von ZUGFeRD-Rechnungen
  • Regel-Engine: Flexible, erweiterbare Regeln für Erkennung und Benennung
  • Pipeline-System: Mehrere unabhängige Pipelines (Firma, Privat, etc.)

Schnellstart

Mit Docker (empfohlen)

# Image bauen und starten
docker-compose up -d

# Logs ansehen
docker-compose logs -f

# Stoppen
docker-compose down

Dann im Browser öffnen: http://localhost:8000

Ohne Docker

# Virtuelle Umgebung erstellen
cd backend
python -m venv venv
source venv/bin/activate  # Linux/Mac
# oder: venv\Scripts\activate  # Windows

# Abhängigkeiten installieren
pip install -r requirements.txt

# Starten
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Benennungsschema

Wiederkehrende Dokumente (Rechnungen)

{Jahr}.{Monat}.{Tag} - {Kategorie} - {Ersteller} - {Dokumentennummer} - {Sammelbegriff} - {Preis} EUR.pdf

Beispiel:
2026.02.01 - Rechnung - Sonepar - 10023934 - Material - 1600 EUR.pdf

Einmalige Dokumente (Verträge, Zeugnisse)

{Typ} - {Aussteller} - {Beschreibung} - {Jahr}.pdf

Beispiel:
Zeugnis - Schule X - Grundschulzeugnis - 2026.pdf

Projektstruktur

dateiverwaltung/
├── backend/
│   ├── app/
│   │   ├── models/         # Datenbank-Modelle
│   │   ├── modules/        # Kernmodule (Mail, PDF, Sorter)
│   │   ├── routes/         # API Endpoints
│   │   ├── services/       # Business Logic
│   │   └── main.py         # FastAPI App
│   └── requirements.txt
├── frontend/
│   ├── static/
│   │   ├── css/
│   │   └── js/
│   └── templates/
├── data/                   # Persistente Daten
│   ├── inbox/             # Neue Dateien
│   ├── processed/         # Verarbeitete Dateien
│   ├── archive/           # Sortierte Dateien
│   └── zugferd/           # ZUGFeRD-Rechnungen
├── regeln/                # Regel-Beispiele
├── docker-compose.yml
├── Dockerfile
└── README.md

Module

Mail-Fetcher

Holt Attachments aus IMAP-Postfächern mit konfigurierbaren Filtern:

  • Dateitypen (.pdf, .jpg, etc.)
  • Maximale Größe
  • IMAP-Ordner

PDF-Processor

  • Text-Extraktion: Mit pdfplumber/pypdf
  • OCR: Mit ocrmypdf + Tesseract (deutsch)
  • ZUGFeRD: Erkennung via factur-x Library

Sorter

Regelbasierte Erkennung und Benennung:

  • Pattern-Matching (Text, Absender, Dateiname)
  • Regex-basierte Feldextraktion
  • Konfigurierbares Namensschema

API Endpoints

Methode Endpoint Beschreibung
GET /api/pipelines Alle Pipelines
POST /api/pipelines Neue Pipeline
POST /api/pipelines/{id}/run Pipeline ausführen
GET /api/pipelines/{id}/mail-configs Mail-Konfigurationen
POST /api/pipelines/{id}/mail-configs Postfach hinzufügen
GET /api/pipelines/{id}/regeln Sortier-Regeln
POST /api/pipelines/{id}/regeln Regel hinzufügen
POST /api/regeln/test Regel testen
GET /api/dokumente Verarbeitete Dokumente
GET /api/stats Statistiken

Regex-Beispiele für Regeln

# Datum (DD.MM.YYYY)
(\d{2}[./]\d{2}[./]\d{4})

# Rechnungsnummer
(?:Rechnungsnummer|Invoice)[:\s]*(\d+)

# Betrag mit EUR
(?:Gesamtbetrag|Summe)[:\s]*([\d.,]+)\s*(?:EUR|€)

Erweiterungen (geplant)

  • Claude API Integration für KI-Validierung
  • Scheduler für automatische Ausführung
  • Dolibarr-Integration
  • Dashboard mit Grafiken

8585cc3 (Dateiverwaltung Email attachment abruf läuft)