Dokumentation angepasst

This commit is contained in:
fds2610 2026-03-28 11:19:50 +01:00
parent 62e46bdaac
commit fcd4d227a1
3 changed files with 88 additions and 0 deletions

71
BERICHTE.md Normal file
View file

@ -0,0 +1,71 @@
# 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 ausschließlich auf dem Feld `buchungstyp` der Buchung, kombiniert mit dem verknüpften Kategorie-Konto (`kategorie_konto_id → accounts`). Es gibt keine feste Zuordnung von Kontonummern zu bestimmten EÜR-Zeilen – jedes Konto erscheint als eigene Zeile in der jeweiligen Sektion.
### Einnahmen
Bedingung: `buchungstyp = 'Einnahme'`
Alle passenden Buchungen werden nach Kategorie-Konto gruppiert und als Einnahmen ausgewiesen. Der Nettobetrag (`betrag_netto`) wird summiert.
### Ausgaben (Betriebsausgaben)
Bedingung: `buchungstyp = 'Ausgabe'`
Alle passenden Buchungen werden nach Kategorie-Konto gruppiert und als Betriebsausgaben ausgewiesen. Der Nettobetrag wird summiert.
### Sortierung und Ergebnis
- Sortierung innerhalb beider Sektionen: nach `accounts.kontonummer` aufsteigend
- Stornobuchungen (`is_reversal = 1`) werden ausgeschlossen
- Ergebnis: `total_einnahmen − total_ausgaben = gewinn`
### Übersicht
| Bedingung | Sektion im Bericht |
|---|---|
| `buchungstyp = 'Einnahme'` | Einnahmen |
| `buchungstyp = 'Ausgabe'` | Ausgaben / Betriebsausgaben |
---
## UStVA (Umsatzsteuervoranmeldung)
**Datei:** `src/Services/UstvaCalculator.php`
Die UStVA verwendet **keine** Kontonummern, sondern die Buchungsfelder `buchungstyp`, `steuerart`, `ust_satz` und `betrag_ust`. Stornobuchungen (`is_reversal = 1`) werden ausgeschlossen.
### Direkt befüllte Kennzahlen
| Kz | Bezeichnung | Bedingung |
|---|---|---|
| **81** | Steuerpfl. Umsätze 19 % – Netto | `buchungstyp='Einnahme'`, `steuerart='normal'`, `ust_satz=19` |
| **86** | Steuerpfl. Umsätze 7 % – Netto | `buchungstyp='Einnahme'`, `steuerart='normal'`, `ust_satz=7` |
| **35** | Steuerfreie Umsätze (ohne Vorsteuerabzug) – Netto | `buchungstyp='Einnahme'`, `steuerart='normal'`, `ust_satz=0` |
| **41** | Steuerfreie ig. Lieferungen (§ 4 Nr. 1b) – Netto | `buchungstyp='Einnahme'`, `steuerart='ig_lieferung'` |
| **44** | Steuerfreie Ausfuhren (§ 4 Nr. 1a) – Netto | `buchungstyp='Einnahme'`, `steuerart='export'` |
| **89** | Ig. Erwerb 19 % – Bemessungsgrundlage | `buchungstyp='Ausgabe'`, `steuerart='ig_erwerb_19'` |
| **93** | Ig. Erwerb 7 % – Bemessungsgrundlage | `buchungstyp='Ausgabe'`, `steuerart='ig_erwerb_7'` |
| **61** | Vorsteuer aus Eingangsrechnungen 19 % | `buchungstyp='Ausgabe'`, `steuerart='normal'`, `ust_satz=19`, `betrag_ust>0` |
| **62** | Vorsteuer aus Eingangsrechnungen 7 % | `buchungstyp='Ausgabe'`, `steuerart='normal'`, `ust_satz=7`, `betrag_ust>0` |
### Abgeleitete Kennzahlen (berechnet, keine direkte Buchungszuordnung)
| Kz | Bezeichnung | Berechnung |
|---|---|---|
| **83** | USt auf steuerpfl. Umsätze 19 % | Kz 81 × 19 % |
| **84** | USt auf steuerpfl. Umsätze 7 % | Kz 86 × 7 % |
| **91** | USt auf ig. Erwerb 19 % | Kz 89 × 19 % |
| **94** | USt auf ig. Erwerb 7 % | Kz 93 × 7 % |
| **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 |

View file

@ -43,6 +43,19 @@ $this->assertNotEmpty($wert, 'Beschreibung');
|---|---|
| `Changes.md` | Bei jedem Feature, Bugfix oder strukturellen Änderung (nicht bei reinen Test- oder Doku-Commits) |
| `README.md` | Wenn sich der Funktionsumfang, Tech Stack oder die Installationsanleitung ändert |
| `BERICHTE.md` | Bei jeder Änderung an `EuerCalculator.php` oder `UstvaCalculator.php` (Zuordnungsregeln, neue Kennzahlen, geänderte Bedingungen) |
## Geplante Aufgaben (Cron)
Alle planmäßigen Aufgaben (z.B. Ideenagent, Automatisierungen) laufen lokal über die System-Crontab des Nutzers. Für außerplanmäßige Ausführung das jeweilige Skript direkt aufrufen:
```bash
crontab -l # alle geplanten Jobs anzeigen
/home/fds/projects/Steuerkram/.claude/ideenagent-run.sh # Ideenagent manuell starten
/home/fds/projects/Steuerkram/.claude/automate-run.sh # Automatisierung manuell starten
```
Remote Triggers (claude.ai) oder Claude Code Cron-Jobs werden **nicht** verwendet.
## Commits
```

View file

@ -152,6 +152,10 @@ docker compose up -d --build
- Korrekturen erfolgen ausschließlich über Stornobuchungen.
- Jeder hochgeladene Beleg erhält einen SHA-256 Hash zur Integritätsprüfung.
## Berechnungslogik UStVA und EÜR
Detaillierte Informationen darüber, welche Buchungsattribute und Konten in welche Positionen der UStVA (ELSTER-Kennzahlen) bzw. der EÜR einfließen, sind in [`BERICHTE.md`](BERICHTE.md) dokumentiert.
## Support
Issues können im [Codeberg-Repo](https://codeberg.org/fds2610/Steuerkram/issues) gemeldet werden. Mit dem Label **`automate`** werden sie automatisch verarbeitet.