feat: E-Rechnungs-Vorschau mit Versand, USt-IdNr.-Validierung und Icon-Buttons

- Rechnungsvorschau (CreateInvoiceView): ZUGFeRD-ZIP wird schon vor der
  Vorschau über das PDF Tool erzeugt und das signierte PDF daraus angezeigt;
  "Speichern" heißt jetzt "Senden" und versendet die Rechnung nach dem
  Speichern als E-Rechnung per E-Mail (Status "Versendet")
- USt-IdNr.-Formatvalidierung (VatIdUtil, EU-Länderformate) in Profil-
  Rechnungsdaten sowie Kunde anlegen/bearbeiten, mit Unit-Tests
- Rechnungsliste: Aktions-Buttons durch Icon-Buttons mit Tooltip ersetzt
- Jobs-Seite: CSV-Export als Icon-Button, Filter greifen automatisch,
  "Filter anwenden"-Button entfernt
- Neue Übersetzungsschlüssel in allen 10 Sprachdateien

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
SvenandClaude Fable 5 committed 2026-07-17 11:06:21 +02:00
1 parent 1741ccc67a
commit 5169527f1f
18 files changed
+398 -65

No files matched your search

@@ -86,6 +86,7 @@ profile.validation.zip.required=Postleitzahl ist erforderlich
profile.validation.city.required=Stadt ist erforderlich
profile.validation.taxnumber.required=Steuernummer ist erforderlich
profile.validation.ustid.required=USt-IdNr. ist erforderlich
profile.validation.ustid.invalid=Ungültiges Format der USt-IdNr. (z. B. DE123456789)
profile.validation.firstname.required=Vorname ist erforderlich
profile.validation.lastname.required=Nachname ist erforderlich
profile.validation.phone.required=Telefonnummer ist erforderlich
@@ -699,6 +700,11 @@ createinvoice.button.save=Speichern
createinvoice.confirm.save.title=Rechnung speichern
createinvoice.confirm.save.message=Diese Rechnung wird dauerhaft gespeichert und kann anschlie\u00dfend nicht mehr ver\u00e4ndert werden. Fortfahren?
createinvoice.confirm.save.confirm=Ja, speichern
createinvoice.button.send=Senden
createinvoice.confirm.send.title=Rechnung senden
createinvoice.confirm.send.message=Diese Rechnung wird dauerhaft gespeichert und als E-Rechnung (ZIP) per E-Mail an den Kunden versendet. Fortfahren?
createinvoice.confirm.send.confirm=Ja, senden
createinvoice.notification.sent=Rechnung {0} wurde als E-Rechnung an {1} versendet
# Invoices
invoices.title=Rechnungen