Gutschriften Phase 1: Backend (Modell, Nummernkreis, CRUD, USt-Rechnung)
Neues Feature Gutschriftsverwaltung (Subventionen am Vertrag):
- Modelle CreditNote + CreditNoteNumberRange + Enums (GELD/SACHWERT,
PRIVAT/FIRMA, NETTO/BRUTTO) + Migration (IF NOT EXISTS, auf Dev
angewandt).
- USt pro Gutschrift waehlbar (vatRelevant + Basis Netto/Brutto +
Satz); Netto/USt/Brutto werden berechnet und getrennt gespeichert
(ZUGFeRD-tauglich). Kundentyp Privat/Firma aus Kunde vorbelegt.
- Nummernkreis in Settings verwaltbar; Nummernvergabe transaktional
mit SELECT ... FOR UPDATE (keine Doppelvergabe). Bsp GS-2026-0001.
- Service/Controller/Routes: GET/POST /contracts/:id/credit-notes,
GET .../defaults, GET/PUT/DELETE /credit-notes/:id,
GET/PUT /credit-notes/number-range. Portal-Token geblockt (interner
Bereich), CREATE/UPDATE/DELETE auditiert.
Verifiziert: USt-Rechnung (200 netto->238, 200 brutto->168,07+31,93)
und fortlaufende Nummernvergabe.
Phase 2 (Vertrag-UI + Beleg-Upload + Nummernkreis-UI) und Phase 3
(PDF + ZUGFeRD) folgen.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>