5.4 KiB
Berichte – Zuordnungsregeln
Dieses Dokument beschreibt, wie Buchungen in die beiden steuerlichen Berichte einfließen.
Bei Änderungen an EuerCalculator.php oder UstvaCalculator.php muss dieses Dokument mit aktualisiert werden.
EÜR (Einnahmen-Überschuss-Rechnung)
Datei: src/Services/EuerCalculator.php
Die EÜR basiert auf dem Feld accounts.kontenart sowie accounts.euer_zeile des Kategorie-Kontos. Das Feld buchungstyp wird nicht ausgewertet. Stornobuchungen (is_reversal = 1) werden nicht explizit ausgefiltert – sie tragen negative Beträge und heben damit die ursprüngliche Buchung automatisch auf (Summe = 0).
Spaltenauswahl nach Kontenart und euer_zeile
| kontenart | euer_zeile | EÜR-Abschnitt |
|---|---|---|
Betriebseinnahme |
beliebig | Betriebseinnahmen |
Betriebsausgabe |
≠ '51' |
Betriebsausgaben (fließen in total_ausgaben und gewinn ein) |
Betriebsausgabe |
'51' |
Nicht abzugsfähige Betriebsausgaben (KZ 165) – eigener Abschnitt, nicht in total_ausgaben oder gewinn |
Privat |
beliebig | nicht in EÜR (Privatentnahmen/-einlagen beeinflussen den Gewinn nicht) |
Zahlungskonto, Verbindlichkeit |
beliebig | nicht in EÜR |
EÜR-Zeile 51 / KZ 165 entspricht den „Nicht abziehbaren Betriebsausgaben nach § 4 Abs. 5 EStG" (z.B. nicht abzugsfähige Bewirtungskosten auf Konten 4654, 4656; nicht abzugsfähige Geschenke auf 4635, 4636; nicht abzugsfähiger Arbeitszimmeranteil auf 4289). Diese Konten werden im EÜR-Bericht unterhalb der Betriebsausgaben in einem separaten Abschnitt angezeigt.
Vorzeichen
betrag_netto wird ohne abs() direkt summiert:
- Positiver Wert → addiert zur jeweiligen Spalte
- Negativer Wert → mindert die jeweilige Spalte (z.B. Gutschriften, Erlösschmälerungen)
Sortierung und Ergebnis
- Gruppierung: je Kategorie-Konto (
accounts.id), ein Eintrag pro Konto - Sortierung: nach
accounts.kontonummeraufsteigend - Ergebnis:
total_einnahmen − total_ausgaben = gewinn
UStVA (Umsatzsteuervoranmeldung)
Datei: src/Services/UstvaCalculator.php
Die UStVA kombiniert drei Quellen:
Quelle 1 – kontobasiert (accounts.ustva_kz): reguläre Umsätze. Buchungen mit EU-Steuerarten werden hier ausgeschlossen. Kz 61/62 sind aus dieser Quelle entfernt – ustva_kz='61'/'62' wird ignoriert.
Quelle 2 – buchungsbasiert (bookings.ust_satz): Vorsteuer Kz 61/62. Alle Ausgabe-Buchungen mit betrag_ust != 0 fließen anhand ihres ust_satz direkt in Kz 61 (19 %) bzw. Kz 62 (7 %) ein, unabhängig davon welches Konto gebucht wurde. Buchungen mit EU-Steuerarten sind ausgenommen.
Quelle 3 – steuerartbasiert (bookings.steuerart): EU-Sonderfälle (ig. Lieferung, Ausfuhr, ig. Erwerb). Diese Buchungen landen unabhängig vom Kategorie-Konto in den richtigen Kennzahlen.
Kontozuordnung und Kennzahlen
| Kz | Bezeichnung | Quelle | Erläuterung |
|---|---|---|---|
| 81 | Steuerpfl. Umsätze 19 % | SUM(betrag_netto) WHERE ustva_kz='81' |
8400, 8570, 8720, 8801, 8820, 8922 |
| 83 | USt auf steuerpfl. Umsätze 19 % | SUM(betrag_ust) WHERE ustva_kz='81' |
s.o. |
| 86 | Steuerpfl. Umsätze 7 % | SUM(betrag_netto) WHERE ustva_kz='86' |
8300, 8710, 8921 |
| 84 | USt auf steuerpfl. Umsätze 7 % | SUM(betrag_ust) WHERE ustva_kz='86' |
s.o. |
| 35 | Steuerfreie Umsätze | SUM(betrag_netto) WHERE ustva_kz='35' |
8100, 8105, 8110 |
| 41 | Steuerfreie ig. Lieferungen | kontobasiert (ustva_kz='41') + steuerart='ig_lieferung' |
8125; oder Buchung mit steuerart |
| 44 | Steuerfreie Ausfuhren | kontobasiert (ustva_kz='44') + steuerart='export' |
8120; oder Buchung mit steuerart |
| 61 | Vorsteuer 19 % | SUM(betrag_ust) WHERE buchungstyp='Ausgabe' AND ROUND(ust_satz)=19 |
buchungsbasiert – kein spezielles VSt19-Konto nötig |
| 62 | Vorsteuer 7 % | SUM(betrag_ust) WHERE buchungstyp='Ausgabe' AND ROUND(ust_satz)=7 |
buchungsbasiert – kein spezielles VSt7-Konto nötig |
| 89 | Ig. Erwerb 19 % – Bemessungsgrundlage | SUM(betrag_netto) WHERE steuerart='ig_erwerb_19' |
kein spezielles Konto nötig |
| 91 | USt auf ig. Erwerb 19 % | Kz 89 × 0,19 |
berechnet |
| 93 | Ig. Erwerb 7 % – Bemessungsgrundlage | SUM(betrag_netto) WHERE steuerart='ig_erwerb_7' |
kein spezielles Konto nötig |
| 94 | USt auf ig. Erwerb 7 % | Kz 93 × 0,07 |
berechnet |
Abgeleitete Kennzahlen
| Kz | Bezeichnung | Berechnung |
|---|---|---|
| 67 | Vorsteuer aus ig. Erwerb | Kz 91 + Kz 94 |
| 66 | Vorsteuerbeträge gesamt | Kz 61 + Kz 62 + Kz 67 |
| 69 | Verbleibende USt-Vorauszahlung / Erstattung | (Kz 83 + Kz 84 + Kz 91 + Kz 94) − Kz 66 |
Migration 022 – Vorsteuer-Kz-Aufteilung (historisch)
Vor Migration 022 trugen alle Vorsteuer-Konten ustva_kz='66'. Migration 022 setzte ustva_kz='61'/'62' je nach steuercode. Diese kontobasierte Zuordnung war erforderlich, weil alle Ausgaben eines Kontos denselben USt-Satz hatten.
Buchungsbasierte Vorsteuer (ab 2026)
Die kontobasierte Zuordnung über ustva_kz='61'/'62' wurde zugunsten einer buchungsbasierten Zuordnung aufgegeben: UstvaCalculator wertet jetzt direkt bookings.ust_satz aus (buchungstyp='Ausgabe', betrag_ust != 0). Damit reicht ein einzelnes Aufwandskonto für 19 % und 7 % USt aus. Der Wert ustva_kz='61'/'62' auf Konten wird nicht mehr ausgewertet.
Kz 66 wird weiterhin rechnerisch als Kz 61 + Kz 62 + Kz 67 aggregiert.