docs(07): capture phase context for DKV Fleet Module
Tessera CI/CD / Build & Deploy (push) Blocked by required conditions
Tessera CI/CD / Lint & Type Check (push) Successful in 43s
Tessera CI/CD / Tests (push) Waiting to run

This commit is contained in:
2026-06-26 14:22:34 +02:00
parent c69c7b2900
commit 34f06c9aa6
3 changed files with 253 additions and 1 deletions
@@ -0,0 +1,97 @@
# 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.