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 <noreply@anthropic.com>
This commit is contained in:
dfuhrmann3 2026-07-13 15:45:37 +02:00
parent d2d09054d2
commit 34251a7ad2
1 changed files with 8 additions and 5 deletions

13
main.py
View File

@ -612,12 +612,15 @@ with col2:
export_disabled = len(blocker) > 0 export_disabled = len(blocker) > 0
# Weiche Warnung (KEIN Blocker) fuer ZUGFeRD ohne Kunden-Adresse: B2B-Export ist damit okay, # ZUGFeRD (B2B) ohne Kunden-Adresse: KEIN Blocker, aber statt eines leeren Pflichtfelds wird
# eine E-Mail des Empfaengers ist aber besser. # 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(): if not is_xrechnung and not str(r_email).strip():
st.info("ℹ️ Keine elektronische Adresse des Kunden (BT-49) angegeben. Für ZUGFeRD (B2B) " final_invoice_dict["recipient_email"] = "X"
"ist der Export damit okay - eine E-Mail-Adresse des Empfängers ist aber besser " st.warning("⚠️ Es ist keine elektronische Adresse des Kunden (BT-49) angegeben - es wird "
"(strenge Validatoren bemängeln sonst PEPPOL-EN16931-R010).") "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: <Rechnungsnummer>_<Empfaenger>_<Rechnungsdatum> (dateisicher aufbereitet). # Dateiname: <Rechnungsnummer>_<Empfaenger>_<Rechnungsdatum> (dateisicher aufbereitet).
export_basename = build_export_basename(inv_num, r_name, inv_date) export_basename = build_export_basename(inv_num, r_name, inv_date)