Buchungskalender: Abschluss – Kleinigkeiten Server (Betrag/Waehrung, Erstattungs-Webhook, Obergrenze, Zaehler, Cache, Kommentare, Setup-Check)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6d35674c1e
commit
1d9515823c
13 files changed
+123
-14
No files matched your search
@@ -62,6 +62,9 @@ export function summiere(posten, steuerart) {
|
||||
return { bruttoCent, nettoCent, ust }
|
||||
}
|
||||
|
||||
/** Obergrenze der Bruttosumme einer Anfrage (999.999,99 EUR): darunter bleiben Stripe-Betrag und Rechnung sicher darstellbar. */
|
||||
export const BRUTTO_MAX_CENT = 99_999_999
|
||||
|
||||
export function pruefePosten(posten, steuerart) {
|
||||
const fehler = (m) => ({ fehler: { posten: m } })
|
||||
const maxPosten = config.unterkunft?.maxPosten ?? 30
|
||||
@@ -79,7 +82,9 @@ export function pruefePosten(posten, steuerart) {
|
||||
if (steuerart === 'kleinunternehmer' && p.ustProzent !== 0) return fehler('Bei Kleinunternehmern ist keine Umsatzsteuer erlaubt.')
|
||||
sauber.push({ text, menge: p.menge, einzelCent: p.einzelCent, ustProzent: p.ustProzent })
|
||||
}
|
||||
if (sauber.reduce((a, p) => a + p.menge * p.einzelCent, 0) <= 0) return fehler('Die Summe muss größer als 0 sein.')
|
||||
const summe = sauber.reduce((a, p) => a + p.menge * p.einzelCent, 0)
|
||||
if (summe <= 0) return fehler('Die Summe muss größer als 0 sein.')
|
||||
if (summe > BRUTTO_MAX_CENT) return fehler('Die Summe ist zu hoch.')
|
||||
return { posten: sauber }
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user