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:
2026-07-17 11:06:21 +02:00
co-authored by Claude Fable 5
parent 1741ccc67a
commit 5169527f1f
18 changed files with 398 additions and 65 deletions
@@ -85,6 +85,7 @@ profile.validation.zip.required=Posta kodu gereklidir
profile.validation.city.required=\u015eehir gereklidir
profile.validation.taxnumber.required=Vergi numarası gereklidir
profile.validation.ustid.required=KDV kimlik no gereklidir
profile.validation.ustid.invalid=Geçersiz KDV kimlik numarası biçimi (örn. DE123456789)
profile.validation.firstname.required=Ad gereklidir
profile.validation.lastname.required=Soyad gereklidir
profile.validation.phone.required=Telefon numaras\u0131 gereklidir
@@ -696,6 +697,11 @@ createinvoice.button.save=Kaydet
createinvoice.confirm.save.title=Faturay\u0131 Kaydet
createinvoice.confirm.save.message=Bu fatura kal\u0131c\u0131 olarak kaydedilecek ve sonras\u0131nda de\u011fi\u015ftirilemeyecektir. Devam edilsin mi?
createinvoice.confirm.save.confirm=Evet, kaydet
createinvoice.button.send=Gönder
createinvoice.confirm.send.title=Faturayı gönder
createinvoice.confirm.send.message=Fatura kalıcı olarak kaydedilecek ve müşteriye e-posta ile e-fatura (ZIP) olarak gönderilecektir. Devam edilsin mi?
createinvoice.confirm.send.confirm=Evet, gönder
createinvoice.notification.sent=Fatura {0}, e-fatura olarak {1} adresine gönderildi
# Invoices
invoices.title=Faturalar