Fix+Polish: Phosphor-Icons Danke-Overlay, Quartalsbericht paid_amount
Giftköder Danke-Overlay (poison.js): - Emoji 🚨/🐾/📡 durch Phosphor-Icons ersetzt: siren, paw-print, wifi-slash Quartalsbericht (invoices.py + admin.js): - Backend: _effective_gross() — für bezahlte Rechnungen wird paid_amount statt amount_gross für die Quartalssumme verwendet (Kulanz/Teilzahlung korrekt) - Admin-Preview: effectiveAmt in der Vorschau-Tabelle, bei Abweichung Hinweis "(RG: xx,xx €)" für Nachvollziehbarkeit - CSV: Spalte "Betrag (eingegangen)" + separate Spalte "Rechnungsbetrag" - SW by-v995, APP_VER 995
This commit is contained in:
parent
57192ea010
commit
c59326af17
6 changed files with 32 additions and 17 deletions
|
|
@ -486,7 +486,13 @@ def get_quarterly(year: int, q: int, admin=Depends(require_admin)):
|
|||
entries.sort(key=lambda e: (e.get("created_at") or ""))
|
||||
|
||||
# Summen: alle Einträge — Storno (-) und Original (+) heben sich gegenseitig auf
|
||||
total_gross = sum(e.get("amount_gross") or 0 for e in entries)
|
||||
# Für bezahlte Rechnungen den tatsächlich eingegangenen Betrag verwenden
|
||||
def _effective_gross(e):
|
||||
if e.get("status") == "paid" and e.get("paid_amount") is not None:
|
||||
return e["paid_amount"]
|
||||
return e.get("amount_gross") or 0
|
||||
|
||||
total_gross = sum(_effective_gross(e) for e in entries)
|
||||
total_tax = sum(e.get("tax_amount") or 0 for e in entries)
|
||||
|
||||
return {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue