Vodafone: Zuordnung über Kundennamen in GROSSBUCHSTABEN, feste Händler-Zuweisung, nur erste Seite

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
adminandClaude Opus 5.5 committed 2026-11-02 09:32:04 +01:00
1 parent da2e3c9ba1
commit a837ddc4d4
6 files changed
+235 -27

No files matched your search

+10 -7
View File
@@ -288,13 +288,16 @@ def lies_datei(path: str | Path) -> ImportErgebnis:
)
warnungen: list[str] = []
# Vodafone/Euronics: Das Blatt "All" enthält alle Abrechnungsläufe. Sind zusätzlich
# Einzelblätter befüllt, würden Positionen doppelt gezählt – daher nur "All" verwenden.
alle = [g for g in gefunden if g[0].lower() == "all"]
if alle and len(gefunden) > 1:
uebrig = [g[0] for g in gefunden if g is not alle[0]]
warnungen.append(f"Nur Blatt „All“ übernommen, Einzelblätter ignoriert: {', '.join(uebrig)}")
gefunden = alle
# Vodafone/Euronics: Maßgeblich ist nur die erste Seite ("All") – sie enthält alle
# Abrechnungsläufe. Weitere Blätter würden Positionen doppelt zählen.
if any(f.key == VodafoneFormat.key for _, f, _ in gefunden):
erstes = blaetter[0][0]
uebrig = [g[0] for g in gefunden if g[0] != erstes]
gefunden = [g for g in gefunden if g[0] == erstes]
if uebrig:
warnungen.append(f"Nur die erste Seite „{erstes}“ übernommen, ignoriert: {', '.join(uebrig)}")
if not gefunden:
raise ImportFehler(f"Auf der ersten Seite von „{path.name}“ wurde keine Vodafone-Abrechnung gefunden.")
positionen = [p for _, _, ps in gefunden for p in ps]
formate = sorted({f.key for _, f, _ in gefunden})