Storno-Erklaerung steht jetzt auch auf dem Amtsblatt
Sein Fund: "in der pdf wird der satz nicht angezeigt, da ist dann ein
sprung in den rechnungs nummern".
Die Schlusstexte waren komplett auf die Kundenseite beschraenkt ("auf dem
Amt-Blatt unnoetig"). Fuer Dank- und Zahlungstexte stimmt das. Fuer die
STORNO-Erklaerung nicht: auf Seite 2 stand dann eine Stornonummer
(2026-456) neben einer voellig anderen Rechnungsnummer (2026-342), und
das Blatt, das die Stadt bekommt, sagte nirgends warum.
Jetzt traegt auch das Amtsblatt den Satz - "hebt die Rechnung X vom
Y vollstaendig auf, ist bereits mit Z abgerechnet" bzw. bei Version C
"die Leistung wird nicht abgerechnet". Die Beherbergungssteuer-Zeile
bleibt dort weiterhin aussen vor, die gehoert da nicht hin.
pruef_nur_storno an die Verrechnung angepasst (das Steuerjournal laesst
Storno und aufgehobene Rechnung wieder mitzaehlen, sie heben sich
gegenseitig auf): unterm Strich 0 Naechte und 0,00 Euro, gezaehlt werden
aber beide Belege. A und B unveraendert gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017bEsoFUk16DfnNA7MjY36H
This commit is contained in:
parent
01f6a127c2
commit
37b5c60266
2 changed files with 19 additions and 6 deletions
|
|
@ -471,8 +471,14 @@ def _seite_inhalt(story, st, cfg, rechnung, kopf, gesamtrechnung_betont):
|
|||
|
||||
story.append(Spacer(1, 8 * mm))
|
||||
|
||||
# ---- Schlusstexte (nur Kundenseite; auf dem Amt-Blatt unnoetig) ----
|
||||
if not gesamtrechnung_betont:
|
||||
# ---- Schlusstexte -------------------------------------------------------
|
||||
# Dank- und Zahlungstexte gehoeren nur auf die Kundenseite. Die
|
||||
# STORNO-Erklaerung gehoert aber AUCH aufs Amtsblatt: dort steht sonst eine
|
||||
# Stornonummer neben einer voellig anderen Rechnungsnummer, und niemand
|
||||
# erfaehrt, warum. Sein Fund am 04.09.2026: *"in der pdf wird der satz nicht
|
||||
# angezeigt, da ist dann ein sprung in den rechnungs nummern"* - genau das
|
||||
# Blatt, das die Stadt bekommt, war der Beleg ohne Begruendung.
|
||||
if not gesamtrechnung_betont or art == "storno":
|
||||
texte = cfg.get("texte", {})
|
||||
block = []
|
||||
if art == "storno":
|
||||
|
|
|
|||
|
|
@ -183,14 +183,21 @@ j = Journal(os.path.join(tmp, "journal.sqlite3"))
|
|||
j.scanne(ordner, 5.0, voll=True)
|
||||
buchungen = j.buchungen(jahr=2026)
|
||||
weg = aufgehobene(buchungen)
|
||||
s = summiere(buchungen, weg)
|
||||
# Verrechnet, nicht weggelassen (Entscheidung vom 04.09.2026, siehe
|
||||
# modell.summiere im Steuerjournal): beide Zeilen stehen mit ihrem Vorzeichen
|
||||
# in der Summe und heben sich gegenseitig auf.
|
||||
s = summiere(buchungen)
|
||||
print("--- was im Journal steht ---")
|
||||
for b in buchungen:
|
||||
print(f" {b.voll_nummer} {b.nachname:10s} {b.naechte:>3} Naechte {b.gezahlt:>8.2f}")
|
||||
pruefe(len(buchungen) == 2, f"Rechnung und Storno stehen beide im Journal ({len(buchungen)})")
|
||||
pruefe(s.buchungen == 0 and s.naechte == 0 and abs(s.gezahlt) < 0.005,
|
||||
f"gemeldet wird NICHTS: 0 Rechnungen, 0 Naechte, 0,00 Euro "
|
||||
f"(ist {s.buchungen}, {s.naechte}, {s.gezahlt})")
|
||||
pruefe(len(weg) == 1, f"die Rechnung ist als aufgehoben erkannt ({len(weg)})")
|
||||
pruefe(s.naechte == 0 and abs(s.gezahlt) < 0.005,
|
||||
f"unterm Strich bleibt nichts uebrig: 0 Naechte, 0,00 Euro "
|
||||
f"(ist {s.naechte}, {s.gezahlt})")
|
||||
pruefe(s.buchungen == 2,
|
||||
f"gezaehlt werden aber beide Belege - verrechnet, nicht weggelassen "
|
||||
f"(ist {s.buchungen})")
|
||||
j.schliessen()
|
||||
|
||||
f.destroy()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue