Steuersatz — Gültigkeiten (Sub-Route)
Zweck
Sub-Route /tax-rates/:id/validities zeigt die historischen und kuenftigen Steuersatz-Werte mit Datums-Bereich. Damit kann z. B. die zeitweise Senkung von 19 % auf 16 % korrekt abgebildet werden — pro Beleg-Datum greift die richtige Validity.
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|
view | FE_TaxRate, TaxRate, TaxRateValidity | Liste sichtbar | — |
create | TaxRateValidity | Werte pflegen | APP_SPEAMCORE_CREATE_TAX_RATE_VALIDITY |
Schritt-für-Schritt-Anleitung
- Steuersatz (
/tax-rates/:id) → Tab Gültigkeiten.
- + Wert mit Beginn-Datum, Ende-Datum (optional) und Prozentsatz.
- Bei Beleg-Erstellung greift die für das Beleg-Datum gültige Validity.
Anlege-Pattern (Inline-Row-Editing)
Steuersätze haben historische Gültigkeiten — der MwSt-Satz ändert sich gelegentlich (z. B. Corona-Reduktion 19% → 16% in 2020). Pro Steuersatz koennen mehrere TaxRateValidity-Einträge gepflegt werden.
| Spalte | Eingabe | Wirkung |
|---|
validFrom | Datum (Pflicht) | Beginn der Gültigkeit. |
validTo | Datum (optional) | Ende der Gültigkeit. Wenn leer: gilt unbefristet. |
rate | Decimal (Prozent) | Tatsaechlicher Steuersatz für den Zeitraum. |
**Auswahl-Logik bei Beleg-Erstellung:** Beim Anlegen einer Beleg-Position wird der `rate` der `TaxRateValidity` mit `validFrom <= Beleg-Datum <= (validTo OR unendlich)` herangezogen. Ueberlappende Zeitraeume sind nicht zulässig (Backend-Validierung). Bei einer Änderung muss die alte Gültigkeit ein `validTo` bekommen, bevor eine neue mit angrenzendem `validFrom` angelegt werden kann.
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|
GET | /api/tax-rate-validities?filter[taxRateId] | Liste | view TaxRateValidity |
POST | /api/tax-rate-validities | Anlegen | create TaxRateValidity |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.