Gutschrift: Sachwert ohne Betrag = keine Rechnung (kein ZUGFeRD)
Eine Sachwert-Gutschrift darf betragslos sein (Betrag leer/0): dann findet keine Rechnungsstellung statt - der Kunde hat den Gegenstand einfach als Subvention erhalten. - Backend: leeres amount -> 0; Sachwert erlaubt 0, Geld verlangt > 0 (400 sonst). vatRelevant bei 0 erzwungen-false. - PDF: betragsloser Sachwert -> Titel 'Sachwert-Uebergabe', kein Betrags-/USt-Block (Hinweis keine Rechnungsstellung), KEIN ZUGFeRD- Embedding. Mit Betrag -> unveraendert ZUGFeRD. - Frontend: Wert-Feld bei Sachwert optional; USt-Block ausgeblendet ohne Betrag; Liste zeigt 'Sachwert ohne Betrag (keine Rechnung)'. Verifiziert: Sachwert 0 -> kein factur-x.xml; Geld 0 -> 400; Sachwert 200 -> ZUGFeRD. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,20 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🎁 Gutschrift: Sachwert ohne Betrag = keine Rechnung** (2026-08-09)
|
||||
- Eine Sachwert-Gutschrift darf jetzt **betragslos** sein (Betrag leer/0):
|
||||
dann findet **keine Rechnungsstellung** statt – der Kunde hat den
|
||||
Gegenstand einfach als Subvention erhalten. Beträge bleiben 0, keine USt.
|
||||
- Backend: `amount` leer → 0; Sachwert erlaubt 0, **Geld verlangt Betrag > 0**
|
||||
(400 sonst). `vatRelevant` wird bei 0 erzwungen-false.
|
||||
- PDF: bei betragslosem Sachwert Titel „Sachwert-Übergabe", kein
|
||||
Betrags-/USt-Block (Hinweis „keine Rechnungsstellung") und **kein ZUGFeRD-
|
||||
Embedding** (es ist keine Rechnung). Mit Betrag → unverändert ZUGFeRD.
|
||||
- Frontend: Wert-Feld bei Sachwert optional; USt-Block ausgeblendet solange
|
||||
kein Betrag (Hinweis); Liste zeigt „Sachwert ohne Betrag (keine Rechnung)".
|
||||
- Verifiziert (Sachwert 0 → kein factur-x.xml; Geld 0 → 400; Sachwert 200 →
|
||||
ZUGFeRD).
|
||||
|
||||
- [x] **🔗 Bug: Folgevertrag aus deaktiviertem Vertrag + Kundendaten-Modal** (2026-08-07)
|
||||
- **Folgevertrag-Bug:** Backend legt den Folgevertrag korrekt mit
|
||||
`previousContractId` an – der Verlust passierte im Frontend: das
|
||||
|
||||
Reference in New Issue
Block a user