55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# Knowledge Base — C-Stone Invoice Check
|
|
|
|
## Stack-Entscheidung
|
|
|
|
**FastAPI + PostgreSQL + React** gewählt weil:
|
|
- SaaS-Architektur für langfristige Erweiterbarkeit
|
|
- FastAPI: Async, automatische OpenAPI-Dokumentation
|
|
- PostgreSQL: Zuverlässige Datenpersistenz für Rechnungsdaten
|
|
- React: Moderne Frontend-Entwicklung
|
|
|
|
**PyMuPDF** gewählt für PDF-Extraktion:
|
|
- Läuft vollständig lokal
|
|
- Keine Datenverlust Gefahr (DSGVO-konform)
|
|
- Schnell und zuverlässig für Text-Extraktion
|
|
- Gute Erkennung von Steuerangaben in Rechnungen
|
|
|
|
## DSGVO-Status
|
|
**nein** — Rechnungsdaten (Betrag,Datum,Absender) gelten nicht als personenbezogene Daten im Sinne der DSGVO
|
|
AWS Bedrock Region: eu-central-1 (Frankfurt) — Pflicht bei Bedrock-Nutzung
|
|
|
|
## Bekannte Fallstricke (C-Stone-Standard)
|
|
- SQLAlchemy Enum: Namen in GROSSBUCHSTABEN, nicht Values
|
|
- SeaTable: Zugriff NUR über Flask Microservice, nicht direkt über n8n
|
|
- .env NIEMALS committen, NIEMALS in Nextcloud-Sync
|
|
- IMAP-Authentifizierung: App-Passwords statt Hauptpasswort verwenden
|
|
|
|
## Ablauf-Logik
|
|
|
|
### Email-Filterung
|
|
1. IMAP-Verbindung zu Strato/Gmail aufbauen
|
|
2. Emails mit Stichworten filtern: "Rechnung", "Invoice", "Receipt"
|
|
3. Anhänge extrahieren (PDF/DOC)
|
|
4. PDF mit PyMuPDF scannen
|
|
5. Steuerangaben erkennen (Mehrwertsteuer, Umsatzsteuer, VAT)
|
|
6. Entscheidung: mit/ohne Steuer
|
|
|
|
### Dateiablage (Evo-X2)
|
|
```
|
|
Rechnungen/
|
|
├── 2025/
|
|
│ ├── mit MwSt/
|
|
│ └── ohne MwSt/
|
|
└── 2026/
|
|
├── mit MwSt/
|
|
└── ohne MwSt/
|
|
```
|
|
|
|
### Excel-Dokumentation
|
|
- Spalten: Datum, Rechnungsausteller, Betrag, Umsatzsteuer, Steuerart, Dateipfad
|
|
- Format: xlsx (Excel 2007+)
|
|
|
|
## Entscheidungen
|
|
- Automatische Speicherung (keine manuelle Bestätigung nötig)
|
|
- Nur speichern, keine Weiterleitung
|
|
- xlsx-Format für Excel-Tabelle
|