Datenfelder
Alle Felder, die der MCP-Server liefert – pro Werkzeug, mit Typ, Bedeutung
und der Regel, wann ein Feld leer (null) ist.
get_company_details oder get_full_record.
10-Feld-Karte je Treffer – zum Suchen, Ranken, Überblicken.
Vollständiges Profil eines Unternehmens (alle Abschnitte unten).
Obermenge des Profils: volle Taxonomie + Lineage.
1 search_companies → Karte
Kompakter Auszug. Codes sind hier bereits als Labels ausgegeben
(z. B. GmbH, Oberösterreich).
| Feld | Typ | Bedeutung | null, wenn … |
|---|---|---|---|
fnr | string | Firmenbuchnummer (z. B. 078052h) | nie |
name | string | Firmenwortlaut | nie |
legal_form | string | Rechtsform-Label (z. B. GmbH) | unbekannt |
bundesland | string | Bundesland-Label (z. B. Wien) | unbekannt |
size_gkl | string | UGB-Einreichklasse: W Kleinst, K Klein, M Mittel, G Groß (≠ Bilanzgröße – Holdings reichen oft klein ein) | unbekannt |
bilanzsumme_band | string | ehrliches Größenband nach Bilanzsumme | kein Abschluss |
bilanzsumme_latest | number € | Bilanzsumme des jüngsten Abschlusses | kein Abschluss |
manager_name | string | Name der primären vertretungsbefugten Person (öffentliche Firmenbuchdaten; Geburtsjahr ja, kein Tag/Monat) | keine Angabe |
equity_ratio_latest | 0–1 | Eigenkapitalquote (jüngstes Jahr) | nicht berechenbar |
revenue_latest | number € | Umsatzerlöse (jüngstes Jahr) | kein GuV im jüngsten Abschluss |
growth_profile | string | shrinking/stable/growing/fast_growing | < 2 vergleichbare Jahre |
has_guv_latest | bool | hat der jüngste Abschluss eine GuV? | – (immer gesetzt) |
2 get_company_details → Profil
Das Unternehmen liegt unter result. Hier stehen die Roh-Codes
(z. B. legal_form: "GES" = GmbH, bundesland: "O" = Oberösterreich).
Die vollständigen Code-Tabellen stehen weiter unten unter
Code-Tabellen.
identity · Stammdaten
| Feld | Typ | Bedeutung |
|---|---|---|
fnr | string | Firmenbuchnummer |
register_id | string | technische ID, Form AT_<fnr> |
name | string | Firmenwortlaut |
legal_form | string | Rechtsform als Code (GES = GmbH-Familie; alle Codes) |
status | string | active / historical / deleted |
court | string | null | zuständiges Firmenbuchgericht (oft leer) |
location · Sitz
| Feld | Typ | Bedeutung |
|---|---|---|
country | string | Land, immer AUT |
bundesland | string | Bundesland als Code, z. B. W Wien, O Oberösterreich (alle Codes) |
city | string | Ort |
postal_code | string | Postleitzahl |
street | string | null | Straße (oft leer) |
company · Eckdaten
| Feld | Typ | Bedeutung |
|---|---|---|
stammkapital | number | null | Stammkapital in € (oft leer) |
first_filing_year | int | erstes verfügbares Abschlussjahr |
last_filing_year | int | letztes verfügbares Abschlussjahr |
filing_years_available | int | Anzahl vorhandener Abschlussjahre |
founded_year | int | null | Gründungsjahr, sofern ableitbar |
founded_source | string | null | Herkunft des Gründungsjahrs |
description | null | in V1 nicht befüllt |
size · Größeneinordnung
| Feld | Typ | Bedeutung |
|---|---|---|
gkl | string | Größenklasse: W Kleinst, K Klein, M Mittel, G Groß |
bilanzsumme_band | string | Bilanzsummen-Band, small bis very_large |
peer_percentiles | object | Perzentilrang je Kennzahl innerhalb der eigenen Größenklasse (z. B. bilanzsumme: 99.3 = größer als 99,3 %) |
financials · Finanzdaten
Zuerst die Kopf-Felder, danach die Positionen – jede als Zeitreihe (Jahr → Wert).
| Feld | Typ | Bedeutung |
|---|---|---|
latest_year | int | jüngstes Abschlussjahr |
has_guv_latest | bool | hat das jüngste Jahr eine GuV? |
revenue_basis | string | null | Herkunft des Umsatzwerts |
latest | object | Kennwerte des jüngsten Jahres (Teilmenge) |
bilanz | object | Bilanzpositionen (siehe unten) |
guv | object | GuV-Positionen (siehe unten; leer {} ohne GuV) |
Bilanz-Positionen in financials.bilanz
| Position | Bedeutung |
|---|---|
| Summe | |
bilanzsumme | Bilanzsumme (Summe aller Aktiva bzw. Passiva) |
| Aktiva · Vermögen | |
anlagevermoegen | Anlagevermögen (langfristig gebundenes Vermögen) |
sachanlagen | Sachanlagen (Grundstücke, Gebäude, Maschinen) |
finanzanlagen | Finanzanlagen (Beteiligungen, Wertpapiere) |
umlaufvermoegen | Umlaufvermögen (kurzfristig gebundenes Vermögen) |
vorraete | Vorräte (Lagerbestände) |
forderungen | Forderungen (z. B. aus Lieferungen und Leistungen) |
cash | Liquide Mittel (Kassa, Bankguthaben) |
| Passiva · Kapital | |
eigenkapital | Eigenkapital |
stammkapital | Stammkapital (gezeichnetes Kapital) |
kapitalruecklagen | Kapitalrücklagen |
gewinnruecklagen | Gewinnrücklagen |
bilanzgewinn_verlust | Bilanzgewinn / -verlust |
rueckstellungen | Rückstellungen |
verbindlichkeiten | Verbindlichkeiten (Fremdkapital / Schulden) |
GuV-Positionen in financials.guv · nur bei has_guv
| Position | Bedeutung |
|---|---|
umsatzerloese | Umsatzerlöse |
materialaufwand | Materialaufwand |
personalaufwand | Personalaufwand |
abschreibungen | Abschreibungen |
ebit | Betriebserfolg (operatives Ergebnis vor Finanzergebnis und Steuern) – siehe Hinweis |
ebitda | Betriebserfolg zzgl. Abschreibungen – siehe Hinweis |
jahresueberschuss | Jahresüberschuss / -fehlbetrag |
ebit
verwenden wir den ausgewiesenen Betriebserfolg (operatives Ergebnis vor
Finanzergebnis und Steuern), als ebitda den Betriebserfolg zzgl. Abschreibungen.
Das entspricht nicht der strengen EBIT-Definition
(Ergebnis vor Zinsen und Steuern inklusive Finanzergebnis), sondern ist als vereinfachte
Näherung zu verstehen. Bei Gesellschaften mit wesentlichem Finanz- oder Beteiligungsergebnis
(etwa Holdings) können die Werte spürbar abweichen.guv = {}, revenue_latest = null, und
margenbasierte Kennzahlen bleiben ohne Wert. Gezielt filtern mit has_guv /
has_guv_latest.ratios · Kennzahlen
13 Kennzahlen, jede als Zeitreihen-Objekt. Margen- und Renditekennzahlen brauchen eine GuV und bleiben sonst leer.
| Kennzahl | Bedeutung |
|---|---|
equity_ratio | Eigenkapitalquote (EK / Bilanzsumme) |
debt_ratio | Fremdkapitalquote (FK / Bilanzsumme) |
debt_to_equity | Verschuldungsgrad (FK / EK) |
working_capital_ratio | Working-Capital-Quote |
anlagedeckungsgrad_1 | Anlagedeckungsgrad I (EK / Anlagevermögen) |
ebit_margin | EBIT-Marge (EBIT / Umsatz) – EBIT = Betriebserfolg, siehe Hinweis oben |
ebitda_margin | EBITDA-Marge (EBITDA / Umsatz) |
net_margin | Nettomarge (Jahresüberschuss / Umsatz) |
personalkostenquote | Personalkostenquote (Personalaufwand / Umsatz) |
materialaufwandsquote | Materialaufwandsquote (Materialaufwand / Umsatz) |
roa | Gesamtkapitalrendite (ROA) |
roe | Eigenkapitalrendite (ROE) |
capital_profile | qualitatives Kapitalstruktur-Profil |
Jedes Kennzahl-Objekt enthält u. a. latest,
latest_year, history (Jahr → Wert), avg_3y/avg_5y,
min_5y/max_5y, volatility, trend sowie
Wachstumsmaße.
growth · Wachstum
| Feld | Typ | Bedeutung |
|---|---|---|
profile | string | null | shrinking / stable / growing / fast_growing (leer bei < 2 vergleichbaren Jahren) |
method | string | null | Berechnungsbasis des Profils |
employees · Beschäftigte
| Feld | Typ | Bedeutung |
|---|---|---|
latest / latest_year / history | object | null | Beschäftigtenzahl je Jahr – oft leer, da das Firmenbuch Beschäftigtenzahlen nur lückenhaft führt |
filings · Eingereichte Abschlüsse + events
| filings[]-Feld | Typ | Bedeutung |
|---|---|---|
stichtag | string | Bilanzstichtag des Abschlusses |
format | string | Quellformat (z. B. legacy_finanzonline, jab_4_0) |
parsed | bool | maschinell ausgewertet? |
gkl | string | Größenklasse zum Abschluss |
doc_key · document_url · pdf_doc_key | string | null | Dokument-Verweise (teils leer) |
events[] – Registerereignisse; in V1 meist leer.
management · Geschäftsführung
| Feld | Typ | Bedeutung |
|---|---|---|
n_signatories_latest | int | Anzahl Zeichnungsberechtigter (jüngstes Jahr) |
signatories_stable_years | int | Jahre konstanter Geschäftsführung |
primary_manager.age | int | aktuelles Alter des primären GF (jahresbasiert) |
primary_manager.birth_year | int | Geburtsjahr (nur Jahr) |
primary_manager.role_label | string | Funktion (z. B. Geschäftsführer/in) |
primary_manager.vertretung | string | null | Vertretungsart (Einzel- / Gemeinschaftsvertretung) |
3 get_full_record → voller Datensatz
Enthält alles aus dem Profil plus:
financials.positions– vollständige 317-Positionen-Taxonomie (jede UGB-Position)financials.passthrough– unbekannte Quell-Codes inkl. Historie (verlustfrei)financials.completeness– Qualitätsmaß (Positionsanzahl je Jahr)financials.guv_years– Liste der Jahre mit GuVmanagement.signatories_history– Zeichnungsberechtigte je Jahrderivations–metrics_version+ Formel-Registry der Kennzahlen
Auch hier gilt: Namen bleiben ausgeblendet (DSGVO).
4 Filter, Sortierung, Seiten
Argumente von search_companies.
| Filter | Bedeutung |
|---|---|
name | Teilstring im Firmennamen |
legal_form | Rechtsform, z. B. GmbH |
bundesland | Klarname, z. B. Wien |
size_gkl | Größenklasse W/K/M/G |
bilanzsumme_min / _max | Bilanzsumme von / bis (€) |
equity_ratio_min / _max | Eigenkapitalquote von / bis (0–1) |
revenue_min / _max | Umsatz von / bis (€) |
employees_min / _max | Beschäftigte von / bis |
growth_profile | shrinking / stable / growing / fast_growing |
has_guv · has_guv_latest | nur Firmen mit GuV (je / im jüngsten Jahr) |
last_filing_year_min | jüngster Abschluss mindestens aus diesem Jahr |
founded_year_min / _max | Gründungsjahr von / bis |
gf_age_min | primärer GF mindestens X Jahre (Nachfolge-Screen) |
manager_name | Teilstring im Namen der vertretungsbefugten Person (öffentliche Firmenbuchdaten) |
status | active / inactive / all |
Sortierung: sort = { field, descending } über u. a.
bilanzsumme, equity_ratio, revenue.
Seiten: page (ab 1), page_size (Standard 25).
5 Code-Tabellen
Bundesland (Code → Klarname): B Burgenland · K Kärnten ·
N Niederösterreich · O Oberösterreich · S Salzburg ·
St Steiermark · T Tirol · V Vorarlberg · W Wien.
Rechtsform: Der granulare Firmenbuch-Code steht im Profil
(legal_form). Die GmbH-Familie ist das Präfix GE…
(GES ≈ 99,7 %); die Suchkarte labelt das als GmbH.
Größenklasse gkl: W Kleinst/Mikro · K Klein ·
M Mittel · G Groß.
6 Beispiel-Antwort
So sieht eine vollständige get_company_details-Antwort für ein fiktives
Beispielunternehmen aus (gekürzt; Zeitreihen sind exemplarisch). Felder mit
null bzw. leere Objekte/Listen sind ebenfalls Teil der Antwort und werden,
wo sinnvoll, mitgesendet, damit der Agent den Unterschied zwischen „nicht
vorhanden" und „unbekannt" auswerten kann.
Hinweis: alle Werte unten sind frei erfunden und dienen ausschließlich der Darstellung der Struktur.
// Antwort-Umschlag "schema_version": "1.0", "data_version": "2026-06-27", "provenance": { "source": "Österreichisches Firmenbuch / BMJ – Justiz", "license": "CC BY 4.0", "data_version": "2026-06-27", "schema_version": "1.0", "built_at": "2026-06-27T07:32:14Z" }, "result": { "identity": { "fnr": "999999x", "register_id": "AT_999999x", "name": "Beispiel Industrie GmbH", "legal_form": "GES", // Code → Label "GmbH" (siehe §5) "status": "active", "court": null }, "location": { "country": "AUT", "bundesland": "O", // Oberösterreich "city": "Linz", "postal_code": "4020", "street": null }, "company": { "stammkapital": 35000, "first_filing_year": 2014, "last_filing_year": 2024, "filing_years_available": 11, "founded_year": 2013, "founded_source": "first_filing-1", "description": null }, "size": { "gkl": "M", // Mittel "bilanzsumme_band": "large", "peer_percentiles": { "bilanzsumme": 82.4, "equity_ratio": 71.3, "revenue": 68.9 } }, "financials": { "latest_year": 2024, "has_guv_latest": true, "revenue_basis": "umsatzerloese", "latest": { "bilanzsumme": 12450000, "eigenkapital": 5230000, "umsatzerloese": 18900000, "ebit": 1430000, "ebitda": 2210000, "jahresueberschuss": 980000 }, "bilanz": { "bilanzsumme": { "latest": 12450000, "latest_year": 2024, "history": { "2022": 10840000, "2023": 11620000, "2024": 12450000 } }, "eigenkapital": { "latest": 5230000, "history": { "2022": 4380000, "2023": 4790000, "2024": 5230000 } } // … weitere Bilanzpositionen (verbindlichkeiten, anlagevermoegen, vorraete, cash, …) }, "guv": { "umsatzerloese": { "latest": 18900000, "history": { "2022": 16200000, "2023": 17550000, "2024": 18900000 } }, "ebit": { "latest": 1430000, "history": { "2022": 1180000, "2023": 1290000, "2024": 1430000 } } // … materialaufwand, personalaufwand, abschreibungen, jahresueberschuss, … } }, "ratios": { "equity_ratio": { "latest": 0.42, "latest_year": 2024, "history": { "2022": 0.404, "2023": 0.412, "2024": 0.42 }, "avg_3y": 0.412, "min_5y": 0.39, "max_5y": 0.42, "trend": "rising", "growth_1y": 0.019, "growth_3y_cagr": 0.021 }, "ebit_margin": { "latest": 0.076, "trend": "stable" } // … debt_ratio, debt_to_equity, working_capital_ratio, anlagedeckungsgrad_1, // ebitda_margin, net_margin, personalkostenquote, materialaufwandsquote, // roa, roe, capital_profile }, "growth": { "profile": "growing", "method": "revenue_3y_cagr" }, "employees": null, // im Firmenbuch nur lückenhaft "management": { "n_signatories_latest": 2, "signatories_stable_years": 4, "primary_manager": { "age": 52, "birth_year": 1974, // nur Jahr (DSGVO) "role_label": "GESCHÄFTSFÜHRER/IN (handelsrechtlich)", "vertretung": "selbständig" } }, "filings": [ { "stichtag": "2024-12-31", "format": "jab40_semantic", "parsed": true, "gkl": "M", "eingereicht": "2025-08-12", "document_url": "https://justizonline.gv.at/…", "pdf_doc_key": null } // … ältere Abschlüsse, sortiert nach stichtag absteigend ], "events": [] }
In der Suchkarte (search_companies)
sind bereits Codes als Labels aufgelöst (z. B. legal_form: "GmbH",
bundesland: "Oberösterreich"). Im vollständigen Profil und im
get_full_record stehen die Roh-Codes — die Tabellen oben in §5 erklären
die Auflösung.
7 Stand & Gewähr
Jede Antwort trägt provenance.data_version und built_at
(Erstellungszeit der ausgelieferten Daten). Die Daten stammen aus dem
österreichischen Firmenbuch (BMJ – Justiz, EU High Value Dataset,
CC BY 4.0), werden automatisiert verarbeitet und ohne Gewähr auf
Richtigkeit, Vollständigkeit und Aktualität bereitgestellt. Maßgeblich ist stets der
amtliche Firmenbuchauszug.
Entwickler-Variante dieser Seite: FIELD_REFERENCE.md im Repo.