From 5388203e56508f68a8310a78547c923bed5a50b3 Mon Sep 17 00:00:00 2001 From: TheMockTv Date: Mon, 13 Jul 2026 20:47:04 +0200 Subject: [PATCH] Amtsblatt: Beherbergungssteuer nicht mehr ausweisen Auf Seite 2 (Kopie fuers Amt) stehen nur noch die Umsatzsteuersaetze, die Zwischensumme als Bemessungsgrundlage und der Gesamtbetrag. Die Zeile "zzgl. Beherbergungssteuer" und der Satzungs-Hinweis entfallen dort - das Amt rechnet die Steuer selbst aus der Zwischensumme. Die Kundenseite bleibt unveraendert, und die Kenndaten in den PDF-Metadaten (steuer_satz, steuer_betrag) bleiben erhalten - daran haengt das Steuerjournal. --- pdf_renderer.py | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/pdf_renderer.py b/pdf_renderer.py index 4592d7c..9641cc4 100644 --- a/pdf_renderer.py +++ b/pdf_renderer.py @@ -271,12 +271,17 @@ def _seite_inhalt(story, st, cfg, rechnung, kopf, gesamtrechnung_betont): Paragraph("Zwischensumme:", gr_l), Paragraph(eur(rechnung.brutto), gr_v), ]) - for a in rechnung.aufschlaege: - satz_txt = eur_kurz(a.satz).replace(",00", "") - summen_rows.append([ - Paragraph(f"zzgl. {a.bezeichnung or 'Aufschlag'} ({satz_txt} %):", st["info_l"]), - Paragraph(eur(a.betrag), st["cell_r"]), - ]) + # Auf dem Amt-Blatt stehen nur noch die Umsatzsteuern (7 % / 19 %). Die + # Beherbergungssteuer selbst wird dort NICHT ausgewiesen - so will es das Amt. + # Es braucht nur die Zwischensumme als Bemessungsgrundlage und rechnet selbst. + # Auf der Kundenseite bleibt die Zeile stehen, dort gehoert sie hin. + if not gesamtrechnung_betont: + for a in rechnung.aufschlaege: + satz_txt = eur_kurz(a.satz).replace(",00", "") + summen_rows.append([ + Paragraph(f"zzgl. {a.bezeichnung or 'Aufschlag'} ({satz_txt} %):", st["info_l"]), + Paragraph(eur(a.betrag), st["cell_r"]), + ]) summen_rows.append([ Paragraph("Gesamtbetrag:", st["total_l"]), Paragraph(eur(rechnung.gesamt), st["total_v"]), @@ -300,15 +305,17 @@ def _seite_inhalt(story, st, cfg, rechnung, kopf, gesamtrechnung_betont): summen.setStyle(TableStyle(style_cmds)) story.append(summen) - # Hinweis zur Beherbergungssteuer - for a in rechnung.aufschlaege: - if not a.bezeichnung: - continue - satz_txt = eur_kurz(a.satz).replace(",00", "") - story.append(Spacer(1, 1.5 * mm)) - story.append(Paragraph( - f"Die {a.bezeichnung} ({satz_txt} %) wird gemäß kommunaler Satzung auf die " - f"Zwischensumme erhoben und ist im Gesamtbetrag enthalten.", st["dank"])) + # Hinweis zur Beherbergungssteuer - nur auf der Kundenseite. Auf dem Amt-Blatt + # wird die Steuer gar nicht mehr ausgewiesen, dann waere der Satz sinnlos. + if not gesamtrechnung_betont: + for a in rechnung.aufschlaege: + if not a.bezeichnung: + continue + satz_txt = eur_kurz(a.satz).replace(",00", "") + story.append(Spacer(1, 1.5 * mm)) + story.append(Paragraph( + f"Die {a.bezeichnung} ({satz_txt} %) wird gemäß kommunaler Satzung auf die " + f"Zwischensumme erhoben und ist im Gesamtbetrag enthalten.", st["dank"])) story.append(Spacer(1, 8 * mm))