Gutschrift: nur mit Empfaengeradresse anlegbar (Rechnung > Liefer)
Eine Gutschrift/ein Lieferschein braucht eine Empfaengeradresse aufs Dokument. Rechnungsadresse hat Vorrang, sonst Lieferadresse. Ist keine von beiden hinterlegt -> Anlegen blockiert. - Frontend: Klick auf 'Gutschrift anlegen' prueft defaults.hasRecipient- Address; wenn false -> Modal-OK-Meldung statt Formular. - Backend Defense-in-Depth: createCreditNote wirft 400, wenn weder billingAddressId noch addressId gesetzt. getCreditNoteDefaults liefert hasRecipientAddress. Verifiziert: ohne Adresse -> hasRecipientAddress false + create 400; mit Adresse -> ok. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,13 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🚫 Gutschrift nur mit Empfängeradresse (Rechnung > Liefer)** (2026-08-12)
|
||||
- Beim Klick auf „Gutschrift anlegen" wird geprüft, ob der Vertrag eine
|
||||
Empfängeradresse hat: **Rechnungsadresse hat Vorrang, sonst Lieferadresse**.
|
||||
Ist **keine** von beiden hinterlegt → **Modal-OK-Meldung** statt Formular.
|
||||
- Backend Defense-in-Depth: `createCreditNote` wirft **400**, wenn weder
|
||||
`billingAddressId` noch `addressId` gesetzt ist. `getCreditNoteDefaults`
|
||||
liefert `hasRecipientAddress` fürs Frontend. Verifiziert.
|
||||
- [x] **🧾 Gutschrift: Beleg-Upload auch für Sachwerte + kein Unterschriftsblock bei Geld** (2026-08-12)
|
||||
- **Beleg-Upload jetzt für beide Arten:** bei Geld die Überweisungsbestätigung,
|
||||
bei Sachwert das **unterschriebene Dokument**. `ReceiptControls` in der Liste
|
||||
|
||||
Reference in New Issue
Block a user