Buchhaltungen
Zweck
Buchhaltungen (Accounting) bilden Buchhaltungs-Perioden ab — typischerweise Geschaeftsjahre. Pro Buchhaltung verwalten Sie monatliche Perioden (AccountingMonth) mit DATEV-Export-Header (datevHeaderPayload) und Stand des letzten Exports (exportedAt). Die DATEV-Export-Aktion erzeugt eine ZIP-Datei mit allen Buchungen des Monats.
Voraussetzungen
Berechtigungen (CASL)
Frontend-Page-Guard:
| Action | Subject | Keycloak-Rolle |
|---|---|---|
view | FE_Accounting, Accounting | — |
create/update/delete | Accounting | APP_SPEAMCORE_CREATE/UPDATE/DELETE_ACCOUNTING |
Tab-Subjects:
| Tab | Sub-Pfad | Subject |
|---|---|---|
| Overview | /accountings/:id | Accounting:view |
| Months | /accountings/:id/months | AccountingMonth:view |
| Debitor / Kreditor | /accountings/:id/debitor-creditors | AccountingDebitorCreditor:view |
Custom-Action:
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
do | DownloadAccountingMonth | DATEV-Export-Download | APP_SPEAMCORE_DO_DOWNLOAD_ACCOUNTING_MONTH |
Schritt-für-Schritt-Anleitung
Buchhaltungs-Periode anlegen
- Buchhaltungen (
/accountings) → + Neu. - Name pflegen (z. B. „Geschaeftsjahr 2026").
- Periode-von und Periode-bis setzen — diese Werte sind nach Anlage immutable.
DATEV-Monatsexport
- Tab Months (
/accountings/:id/months) öffnen. - Auf eine Zeile klicken — Detail-View des Monats.
- Export klicken —
POST /api/accounting-months/:id/exporttriggert den Download. - Eine ZIP-Datei
Export_YYYYMM.zipwird heruntergeladen — enthält DATEV-konforme CSV-Einträge auf Basis desdatevHeaderPayload.
Monats-Einträge bearbeiten
Einträge (AccountingMonthEntry) werden über ein Modal-Suchfenster verbunden — z. B. um Beleg-Positionen einer Periode zuzuweisen.

Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
UI-Elemente
Button: „Export"
Detailseite der AccountingMonth. Erfordert do:DownloadAccountingMonth. Loest AccountingMonthService.exportAccountingMonth() aus — erzeugt DATEV-ZIP-Download.
Felder und Eingaben
Accounting
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|
name | ja | String | Bezeichnung der Periode (z. B. „Geschaeftsjahr 2026"). | — |
periodFrom | nein (disabled nach Anlage) | DATE | Beginn der Periode. Anker für alle zugehörigen Monate. | — |
periodTo | ja (disabled nach Anlage) | DATE | Ende der Periode. | periodTo >= periodFrom. |
AccountingMonth (Sub-Liste)
| Feldname | Datentyp | Wirkung |
|---|---|---|
month | INT (1–12) | Monatsangabe. |
year | INT | Jahresangabe (z. B. 2026). |
datevHeaderPayload | JSON | DATEV-Konfigurations-Header für den Export. |
exportedAt | DateTime (read-only) | Zeitstempel des letzten Exports — null bedeutet „noch nicht exportiert". |
Wiederverwendbare Konzepte
- Buchhaltungskonten — Quelle der Konten-Stammdaten.
- Berechtigungen verstehen (CASL)
Verknuepfungen zu anderen Modulen
- Setup-Wizard Schritt 5 — DATEV-Stammdaten (Beraternr., Mandantennr., Sachkontenlaenge).
- Verkaufsbelege und Bestellbelege — Items werden über
AccountingMonthEntryan einen Monat gekoppelt (GoBD-Archivierung). - Buchhaltungskonten — Quelle der Konten in den Buchungen.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| Periode-Datum laesst sich nicht ändern | Per Design — periodFrom/periodTo sind nach Anlage immutable. Neue Periode anlegen. |
| Export liefert leeres ZIP | Keine Buchungen in dem Monat oder DATEV-Stammdaten unvollstaendig (Setup-Wizard Schritt 5 prüfen). |
exportedAt aktualisiert nicht | Export-Job lief mit Fehler — datevHeaderPayload-Struktur prüfen. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/accountings | Liste | view Accounting |
POST | /api/accountings | Anlegen | create Accounting |
GET | /api/accountings/:id | Detail | view Accounting |
PATCH | /api/accountings/:id | Ändern | update Accounting |
DELETE | /api/accountings/:id | Soft-Delete | delete Accounting |
GET | /api/accounting-months | Monats-Liste | view AccountingMonth |
POST | /api/accounting-months | Monat anlegen | create AccountingMonth |
PATCH | /api/accounting-months/:id | Monat ändern | update AccountingMonth |
POST | /api/accounting-months/:id/export | DATEV-Export | do DownloadAccountingMonth |
Versionshinweise
- 2026-04-29: Initiale Veroeffentlichung mit FE-Tiefen-Standard.