98 lines
3.0 KiB
Markdown
98 lines
3.0 KiB
Markdown
# Phase 7: DKV Fleet Module - Discussion Log
|
|
|
|
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
|
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
|
|
|
**Date:** 2026-06-26
|
|
**Phase:** 07-dkv-fleet-module
|
|
**Areas discussed:** Email-Polling, Verarbeitungshistorie, Export-Details, Fehlerbehandlung
|
|
|
|
---
|
|
|
|
## Email-Polling
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Automatisch + manuell | Konfigurierbarer Cron-Job + "Jetzt prüfen"-Button | ✓ |
|
|
| Nur manuell | Kein Hintergrundprozess | |
|
|
| Nur automatisch | Kein manueller Button | |
|
|
|
|
**User's choice:** Cron-Job (konfigurierbares Intervall) + manueller Button
|
|
**Notes:** Cron-Intervall in Minuten soll im Modul konfigurierbar sein
|
|
|
|
---
|
|
|
|
## Verarbeitungshistorie
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Verarbeitungshistorie | Strukturierte Liste mit Status | ✓ |
|
|
| Nur Status-Log | Simples Textlog | |
|
|
| Kein Verlauf | Nichts gespeichert | |
|
|
|
|
**User's choice:** Verarbeitungshistorie (strukturierte Liste)
|
|
**Notes:** Zusatz vom User: Letzte 10 Export-Dateien lokal in `user-files/` speichern und im Modul downloadbar machen
|
|
|
|
---
|
|
|
|
## Export-Details
|
|
|
|
### Dateiname
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| DKV_YYYY-MM_Rechnungsnr.xlsx | Eindeutig mit Rechnungsnummer | ✓ |
|
|
| DKV_YYYY-MM.xlsx | Nur Jahr+Monat | |
|
|
| Konfigurierbar | User legt Schema fest | |
|
|
|
|
**User's choice:** `DKV_YYYY-MM_<Rechnungsnummer>.xlsx`
|
|
|
|
### Spalten
|
|
|
|
**User's choice (freetext):** Exakt 5 Spalten:
|
|
1. Lieferdatum (Format TT.MM.JJJJ)
|
|
2. Fahrzeug (Format Marke/Modell/Kennzeichen — konfigurierbar, automatisch generiert aus Fahrzeugstammdaten)
|
|
3. Fahrer (Format Vorname Nachname)
|
|
4. Ort (aus PDF, Servicestation Ort)
|
|
5. Kilometerstand (ohne Einheit, numerisch)
|
|
|
|
**Notes:** Keine Finanzspalten gewünscht. Fahrzeugformat-String soll konfigurierbar sein.
|
|
|
|
---
|
|
|
|
## Fehlerbehandlung
|
|
|
|
### PDF-Parsing-Fehler
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| In Historie + Admin-Notification | Fehler-Eintrag + optionale E-Mail | |
|
|
| Nur in Historie markieren | Kein Alerting | |
|
|
| Retry + dann Fehler | 3 Versuche, dann Fehler | ✓ |
|
|
|
|
**User's choice:** 3 Retries, dann Fehler in Verarbeitungshistorie
|
|
|
|
### SMTP-Fehler
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| 3 Retries + Fehler in Historie | Exponential backoff, lokale Datei bleibt | ✓ |
|
|
| Sofort als Fehler markieren | Kein Retry | |
|
|
|
|
**User's choice:** 3 Retries mit exponential backoff, dann "Versand fehlgeschlagen" in Historie
|
|
|
|
---
|
|
|
|
## Claude's Discretion
|
|
|
|
- DB-Schema-Design (Tabellen: dkv_module_config, dkv_vehicle_master, dkv_invoice_history)
|
|
- Cron-Job-Implementierung (@nestjs/schedule)
|
|
- EWS-Wiederverwendung aus Kalender-Modul
|
|
- IMAP-Library (imapflow empfohlen)
|
|
- PDF-Parse-Robustheit (Multi-Page, Multi-Vehicle)
|
|
- Frontend-Komponentenstruktur
|
|
|
|
## Deferred Ideas
|
|
|
|
Keine — Diskussion blieb im Phase-Scope.
|