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

@@ -85,6 +85,7 @@ profile.validation.zip.required=Kod pocztowy jest wymagany
profile.validation.city.required=Miasto jest wymagane
profile.validation.taxnumber.required=Numer podatkowy jest wymagany
profile.validation.ustid.required=NIP UE jest wymagany
profile.validation.ustid.invalid=Nieprawidłowy format numeru VAT UE (np. DE123456789)
profile.validation.firstname.required=Imi\u0119 jest wymagane
profile.validation.lastname.required=Nazwisko jest wymagane
profile.validation.phone.required=Numer telefonu jest wymagany
@@ -696,6 +697,11 @@ createinvoice.button.save=Zapisz
createinvoice.confirm.save.title=Zapisz faktur\u0119
createinvoice.confirm.save.message=Ta faktura zostanie trwale zapisana i nie b\u0119dzie mog\u0142a by\u0107 p\u00f3\u017aniej zmieniona. Kontynuowa\u0107?
createinvoice.confirm.save.confirm=Tak, zapisz
createinvoice.button.send=Wyślij
createinvoice.confirm.send.title=Wyślij fakturę
createinvoice.confirm.send.message=Faktura zostanie trwale zapisana i wysłana do klienta e-mailem jako e-faktura (ZIP). Kontynuować?
createinvoice.confirm.send.confirm=Tak, wyślij
createinvoice.notification.sent=Faktura {0} została wysłana jako e-faktura na adres {1}
# Invoices
invoices.title=Faktury