From 34251a7ad2f527ac344043d412b4621c576aecbb Mon Sep 17 00:00:00 2001 From: dfuhrmann3 Date: Mon, 13 Jul 2026 15:45:37 +0200 Subject: [PATCH] fix(bt-49): use 'X' placeholder + orange warning for ZUGFeRD without buyer address ZUGFeRD (B2B) ohne Kunden-E-Mail: statt leerem BT-49 wird der Platzhalter 'X' gesetzt (Feld fehlt nicht komplett), dazu eine orange Warnung (st.warning), dass eine echte Empfaenger-E-Mail besser waere. XRechnung bleibt hart blockierend. Co-Authored-By: Claude Opus 4.8 --- main.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/main.py b/main.py index c149d65..5924d01 100644 --- a/main.py +++ b/main.py @@ -612,12 +612,15 @@ with col2: export_disabled = len(blocker) > 0 - # Weiche Warnung (KEIN Blocker) fuer ZUGFeRD ohne Kunden-Adresse: B2B-Export ist damit okay, - # eine E-Mail des Empfaengers ist aber besser. + # ZUGFeRD (B2B) ohne Kunden-Adresse: KEIN Blocker, aber statt eines leeren Pflichtfelds wird + # ein Platzhalter "X" in BT-49 gesetzt, damit das Feld nicht komplett fehlt - dazu eine + # orange Warnung (st.warning), dass eine echte E-Mail besser waere. if not is_xrechnung and not str(r_email).strip(): - st.info("ℹ️ Keine elektronische Adresse des Kunden (BT-49) angegeben. Für ZUGFeRD (B2B) " - "ist der Export damit okay - eine E-Mail-Adresse des Empfängers ist aber besser " - "(strenge Validatoren bemängeln sonst PEPPOL-EN16931-R010).") + final_invoice_dict["recipient_email"] = "X" + st.warning("⚠️ Es ist keine elektronische Adresse des Kunden (BT-49) angegeben - es wird " + "nur ein Platzhalter \"X\" eingesetzt, damit das Pflichtfeld nicht komplett " + "fehlt. Eine echte E-Mail-Adresse des Empfängers ist deutlich besser " + "(sonst bemängeln strenge Validatoren PEPPOL-EN16931-R010).") # Dateiname: __ (dateisicher aufbereitet). export_basename = build_export_basename(inv_num, r_name, inv_date)