booking_header,
booking_positions und budgets. booking_header und booking_positions folgen den
Response-Shape-Konventionen — verschachtelte
period-/amount-Objekte und stabile Join-Keys; budgets trägt noch ein offenes Artefakt,
siehe unten.
booking_header
GET /v1/accounting/booking_header — Hauptbuch-Buchungsköpfe. Kein period- oder
amount-Objekt: Die Tabelle hat nur ein einzelnes booking_date-Feld und ein einzelnes
booking_value-Feld, die beiden Konventionen greifen hier strukturell nicht.
string
erforderlich
Eindeutige Objekt-ID.
integer
erforderlich
Eindeutige ID des Buchungskopfs.
booking_positions referenziert dies als
booking_header_id.integer
Buchungsnummer.
string
Mit der Buchung verknüpfter Kreditor. Referenziert
Stakeholder.creditor.string
Mit der Buchung verknüpfter Mieter oder Ansprechpartner, mit lokaler, objektbezogener
Nummerierung. Nicht mit demselben ID-Raum wie
person_id auf
Operations.notifications verwechseln — dort ist es eine eigenständige
bigint-Sequenz aus einem anderen Subsystem.date
Datum der Buchung.
number
Gesamtwert des Buchungskopfs.
number
Mit der Buchung verbundene Fläche in Quadratmetern, falls zutreffend.
string
Freitextbeschreibung der Buchung.
string
Ursprünglicher Buchungstext, vor einer eventuellen späteren Korrektur.
string
Barcode-Referenz auf das Buchungsdokument, falls gescannt.
string
Link zum Buchungsdokument im Dokumentenmanagementsystem, falls vorhanden.
string
Kombinierte Kostenstellen-ID und -name — die einzige Quelle dieses Labels; es gibt kein
separates ID/Name-Paar, gegen das sich stattdessen verknüpfen ließe.
string
Kombinierte Konto-ID und -name, aus demselben Grund wie
cost_center_id_name_concat.string
Kombinierte Personen-ID und -name, aus demselben Grund wie
cost_center_id_name_concat.string
Fremdschlüssel auf
Property.property_structure, entspricht
property_structure.account_id.booking_positions
GET /v1/accounting/booking_positions — einzelne Buchungspositionen, über
booking_header_id mit einem Kopf verknüpft.
integer
erforderlich
Eindeutige Objekt-ID.
integer
erforderlich
Eindeutige ID der Position.
integer
erforderlich
ID des übergeordneten Buchungskopfs. Verknüpft sich mit
booking_header.booking_header_id.integer
erforderlich
Konto, auf das die Position gebucht wird. Es gibt noch keinen
/v1/-Accounts-Endpunkt —
verknüpfe für Kontostammdaten mit dem unversionierten Accounting.accounts.integer
Gegenkonto für die Buchung.
string
Name des Gegenkontos. Nicht über eine Verknüpfung von
contra_account_id mit accounts
ableitbar — die beiden entsprechen sich nicht.integer
Mit der Position verknüpfter Kreditor. Referenziert
Stakeholder.creditor.integer
Mit der Position verknüpfter Mieter oder Ansprechpartner.
integer
Zusammengesetzter Schlüssel, der den Mieter identifiziert, auf den sich diese Position
bezieht. Ähnelt einer Verkettung von
property_id und person_id, ist aber nicht immer
exakt das — nutze das Feld wie geliefert, statt es selbst abzuleiten.object
Buchungszeitraum —
{start, end} (Datumsstrings).object
Buchungsbetrag —
{net, tax, gross}.object
Buchungsbetrag, pro Quadratmeter normalisiert —
{net, tax, gross}.string
Kontogruppenzuordnung.
date
Datum der Buchung.
integer
Buchungsnummer.
integer
Laufende Positionsnummer innerhalb der Buchung.
integer
Buchungstyp-Code.
string
Freitextbeschreibung der Position.
string
Soll/Haben-Kennzeichen (
S/H). Nicht aus dem Vorzeichen von amount.net ableiten —
rund 3,55 % der Zeilen (Storno-/Korrekturbuchungen) haben ein Vorzeichen, das diesem
Kennzeichen widerspricht.number
Fachliche Bedeutung noch nicht mit dem Quellsystem geklärt. Rund 99,2 % der Zeilen sind
0.0; wo ungleich null, liegt der Wert oft nahe an amount.net und konzentriert sich auf
bestimmte Buchungstypen im Umfeld umlagefähiger Betriebskosten — passt zu einem
Korrekturfeld, ist aber nicht bestätigt. Nicht selbst umbenennen oder umdeuten.string
Fremdschlüssel auf
Property.property_structure, entspricht
property_structure.account_id — derselbe Join-Key wie bei booking_header.budgets
GET /v1/accounting/budgets — Budgetbeträge, eine Zeile pro Objekt, Konto und Monat.
integer
erforderlich
Eindeutige Objekt-ID.
integer
erforderlich
Konto, für das das Budget gilt. Umbenannt aus dem unversionierten
account_hdr_id —
verknüpft sich mit dem unversionierten Accounting.accounts.account_hdr_id (es gibt noch
keinen /v1/-Accounts-Endpunkt).integer
Kontonummer. Hier ein Integer, während die unversionierte Entsprechung
(
accounts.account_id) ein String ist.date
erforderlich
Monat, für den die Budgetzeile gilt.
number
erforderlich
Budgetbetrag für den jeweiligen Monat und das jeweilige Konto.
integer
Sync-Pipeline-Artefakt, noch nicht aufgelöst. Die
Response-Shape-Konventionen sehen vor, unverifizierbare
Artefakte wie dieses zu entfernen — nicht darauf aufbauen, es kann in einer künftigen
Revision entfernt werden.