Storno wird wieder VERRECHNET statt weggelassen - seine Entscheidung
Heute Nacht war es andersherum gebaut (v1.6.3): Storno und aufgehobene
Rechnung zaehlten gar nicht mehr mit, die Berichtigung landete im Monat
der Rechnung. Sauber nach § 7 Abs. 5 der Satzung (angemeldet wird die im
Kalendermonat VEREINNAHMTE Steuer), aber nicht das, was er will.
Sein Wort:
"ich wuerde das wie beim alten lassen, nicht das er der Stadt zu
wenig gibt"
"ob er im Sep dann weniger gemacht hat ist doch egal, weil im August
hat er ja mehr - also gleicht es sich aus, es ist nur ein
Time-Problem. Aber um was es mir geht: die Steuern sind sauber."
Und er hat recht: der Unterschied ist NUR der Monat, nie das Jahr, und
die Richtung stimmt - zu viel zuerst ist beim Amt nie ein Problem, zu
wenig schon.
Also zurueckgebaut:
- modell.zaehlbar() ist wieder raus, summiere() summiert alle Zeilen mit
ihrem Vorzeichen. Die Begruendung samt Satzungs-Fundstelle steht im
Docstring, damit es niemand "repariert" - in EINEM Monat sieht eine
verrechnete Doppelung naemlich nach einem Fehler aus.
- Amtsbericht zeigt Rechnung und Storno wieder beide, jede in ihrem Monat
und mit ihrem Vorzeichen. Damit erklaert sich die Meldung von selbst.
- aufgehobene() bleibt, wird aber nur noch fuer die Spalte "Art" und fuer
die Dubletten-Meldung gebraucht, nicht mehr fuers Rechnen.
Nicht zurueckgebaut (das war eine eigene Ansage): Storno und aufgehobene
Rechnung werden NICHT mehr ausgegraut, sie stehen normal da und sind ueber
die Spalte "Art" gekennzeichnet.
pruef_storno_rechnet_nicht.py ist durch pruef_storno_verrechnet.py
ersetzt: derselbe Aufbau (Fake-Rechnungen in einer echten SQLite, auch
der Fall ueber die Monatsgrenze), aber es haelt jetzt das gewollte
Verhalten fest - August 9 Naechte/117,00, September -4/-52,00, Jahr
5/65,00. Restliche Kette (storno_journal, doppelte, berichtigung,
einzelinstanz, wache) gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017bEsoFUk16DfnNA7MjY36H
This commit is contained in:
parent
d9bff8f2ec
commit
13fe1d97f9
6 changed files with 102 additions and 128 deletions
12
app.py
12
app.py
|
|
@ -52,7 +52,7 @@ import firma as firma_lib
|
|||
import bericht_pdf
|
||||
import ablage
|
||||
from modell import (MONATE, STANDARD_SATZ, summiere, eur, eur_kurz,
|
||||
aufgehobene, zaehlbar, doppelte_nummern)
|
||||
aufgehobene, doppelte_nummern)
|
||||
from gui_monat import MonatsTab, SummenLeiste, WARNUNG
|
||||
|
||||
# Als EXE liegt alles in einem eigenen Datenordner - siehe ablage.py.
|
||||
|
|
@ -261,10 +261,7 @@ class App(tk.Tk):
|
|||
else:
|
||||
self.jahr_titel.config(text=f"Jahr {jahr} – gesamt")
|
||||
|
||||
# Auch der Monats-Durchschnitt zaehlt nur, was zaehlt: ein Monat, in dem
|
||||
# nur ein Storno steht, ist kein Monat mit Umsatz.
|
||||
self.jahr_summe.setzen(summiere(sichtbar, self._aufgehoben),
|
||||
zaehlbar(sichtbar, self._aufgehoben))
|
||||
self.jahr_summe.setzen(summiere(sichtbar), sichtbar)
|
||||
self.jahr_wahl.config(values=self._jahre())
|
||||
self.ordner_anzeige.config(
|
||||
text=f"Rechnungen: {self.pdf_ordner}" if self.pdf_ordner
|
||||
|
|
@ -702,10 +699,7 @@ class App(tk.Tk):
|
|||
return
|
||||
if not pfad:
|
||||
return
|
||||
# Ueber das ganze Jahr bestimmen, was aufgehoben ist: der Storno kann in
|
||||
# einem anderen Monat stehen als die Rechnung, die er aufhebt.
|
||||
jahr_alle = self.journal.buchungen(jahr=jahr)
|
||||
s = summiere([b for b in jahr_alle if b.monat == monat], aufgehobene(jahr_alle))
|
||||
s = summiere(self.journal.buchungen(jahr=jahr, monat=monat))
|
||||
self.melde(f"Bericht geschrieben: {pfad}")
|
||||
if messagebox.askyesno(
|
||||
"Bericht fertig",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue