Kenndaten-Metadaten v2: USt-Aufteilung je Satz
Der Steuerrechner braucht Brutto->Netto je Steuersatz; auf einer Rechnung
stecken 7 % (Uebernachtung) und 19 % (Waesche, Gas, Rad) gemischt drin, und
die Aufteilung stand bisher nur im Fliesstext.
Neu in /Subject: netto_gesamt, ust_gesamt, ust_bloecke[{satz,netto,ust,brutto}].
Alle Felder der Version 1 bleiben unveraendert - am zwischensumme/steuer_satz/
steuer_betrag haengt der Import des Steuerjournals.
Verifiziert an einer gemischten Testrechnung (7 % + 19 %): Summe der Bloecke
= Zwischensumme = netto_gesamt + ust_gesamt; Steuerjournal liest die v2-PDF
unveraendert ein.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxFbNUnzkEk7FRFcZQoepm
This commit is contained in:
parent
b5799a60a1
commit
a0cfc31ae6
1 changed files with 15 additions and 1 deletions
|
|
@ -368,11 +368,17 @@ def _kenndaten(rechnung, kopf):
|
|||
Das Steuerjournal (Programm "Beherbergungssteuer") liest sie von dort aus,
|
||||
statt Nachname und Betraege aus dem Fliesstext zu raten. Fuer den Ausdruck
|
||||
aendert sich nichts - Metadaten stehen nicht auf dem Blatt.
|
||||
|
||||
Version 2 ergaenzt die USt-Aufteilung ("ust_bloecke") fuers dritte Programm,
|
||||
den Steuerrechner: der braucht Brutto->Netto je Steuersatz, und 7 % und 19 %
|
||||
stecken auf einer Rechnung gemischt drin. Alle Felder der Version 1 bleiben
|
||||
unveraendert stehen - am "zwischensumme"/"steuer_satz"/"steuer_betrag" haengt
|
||||
der Import des Steuerjournals, das darf nicht brechen.
|
||||
"""
|
||||
aufschlag = rechnung.aufschlaege[0] if rechnung.aufschlaege else None
|
||||
daten = {
|
||||
"quelle": "rechnungstool",
|
||||
"version": 1,
|
||||
"version": 2,
|
||||
"rechnungsnummer": kopf.get("rechnungsnummer", ""),
|
||||
"datum": kopf.get("datum", ""),
|
||||
"nachname": kopf.get("nachname", ""),
|
||||
|
|
@ -382,6 +388,14 @@ def _kenndaten(rechnung, kopf):
|
|||
"steuer_satz": float(aufschlag.satz) if aufschlag else 0.0,
|
||||
"steuer_betrag": runde(aufschlag.betrag) if aufschlag else 0.0,
|
||||
"gesamt": runde(rechnung.gesamt),
|
||||
# neu in Version 2: je USt-Satz ein Block (Netto, enthaltene USt, Brutto)
|
||||
"netto_gesamt": runde(rechnung.netto_gesamt),
|
||||
"ust_gesamt": runde(rechnung.ust_gesamt),
|
||||
"ust_bloecke": [
|
||||
{"satz": b.satz, "netto": runde(b.netto), "ust": runde(b.ust),
|
||||
"brutto": runde(b.brutto)}
|
||||
for b in rechnung.bloecke
|
||||
],
|
||||
}
|
||||
return json.dumps(daten, ensure_ascii=False)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue