Bundesanzeiger: Jahresabschluss einer Firma als Kennzahlen
Der veröffentlichte Abschluss eines Geschäftspartners ist öffentlich - er liegt nur hinter einem Suchformular, einer Trefferliste und gelegentlich einer Sicherheitsabfrage. Diese Vorlage führt die Suche aus, öffnet den jüngsten Jahresabschluss und gibt Bilanzsumme, Eigenkapital und Ergebnis als JSON zurück.
Wer hier nachschlägt, und wie oft
Jede dieser Aufgaben besteht aus denselben acht Klicks, wiederholt für eine Namensliste.
- KYC und Onboarding
- Compliance öffnet den Abschluss jedes neuen Lieferanten oder Kunden oberhalb einer Schwelle, notiert Eigenkapital und Ergebnis und legt die Quelle ab. Zwanzig Namen pro Woche heißt zwanzigmal dieselbe Suche.
- Kreditmanagement
- Bevor ein Zahlungsziel eingeräumt wird, sieht sich das Finanzteam das zuletzt veröffentlichte Jahr an. Interessant ist meist das Verhältnis von Eigenkapital zur Bilanzsumme - zwei Zahlen von einer Seite.
- Bestandsüberwachung
- Quartalsweise wird eine feste Liste von Geschäftspartnern auf ein neu veröffentlichtes Jahr geprüft. Bei den meisten hat sich nichts geändert, und genau solche Prüfungen lässt man irgendwann bleiben.
- Was schiefgeht
- Die Sicherheitsabfrage, die fast gleichen Firmennamen und die Trennung zwischen Bundesanzeiger und Unternehmensregister seit 2022. Wer die falsche Musterbau GmbH geöffnet hat, hat eine falsche Zahl mit einer korrekt aussehenden Quelle abgelegt.
Woran sich die Vorlage entlanghangelt
| Zugang | Für das Lesen von Veröffentlichungen ist kein Konto nötig Öffentliche Seiten des Bundesanzeigers |
|---|---|
| Suchbereiche | Rechnungslegung/Finanzberichte ist ein eigener Suchbereich neben den Registerbekanntmachungen und anderen Meldungen Öffentliche Seiten des Bundesanzeigers |
| Sicherheitsabfrage | Vor der Anzeige eines Dokuments kann ein Captcha erscheinen; der Lauf endet dort, statt es zu lösen Öffentliche Seiten des Bundesanzeigers |
| Jüngere Geschäftsjahre | Geschäftsjahre, die nach dem 31. Dezember 2021 begonnen haben, werden im Unternehmensregister veröffentlicht Unternehmensregister |
| Rechtsgrundlage der Offenlegung | § 325 HGB verpflichtet Kapitalgesellschaften zur Offenlegung ihres Jahresabschlusses § 325 HGB |
Stand: 2026-09-08
So macht es eine Person auf bundesanzeiger.de
Nach den öffentlichen Seiten des Portals. Zum Lesen braucht der Bundesanzeiger kein Konto; was aufhält, ist die Reihenfolge, nicht der Zugang.
-
Im richtigen Bereich suchen
Auf der Startseite die Suche auf Rechnungslegung/Finanzberichte eingrenzen und den Firmennamen eingeben. Eine Namenssuche über alle Bereiche liefert auch Registerbekanntmachungen und Gläubigeraufrufe.
-
Die richtige Veröffentlichung wählen
Die Trefferliste zeigt eine Zeile je Veröffentlichung: Firma, Titel (meist Jahresabschluss zum Geschäftsjahr vom ... bis ...), Veröffentlichungsdatum. Mehrere Gesellschaften können denselben Namen tragen; unterscheiden lassen sie sich am Sitz im Titel.
-
Die Sicherheitsabfrage nehmen, wenn sie kommt
Beim Öffnen eines Dokuments erscheint gelegentlich eine Sicherheitsabfrage, bevor der Text angezeigt wird. Wann sie erscheint, steht in den öffentlichen Seiten nicht; in der Praxis kommt sie unregelmäßig.
-
Das Dokument lesen oder sichern
Der Abschluss wird als Text auf der Seite angezeigt. Bilanz, Gewinn- und Verlustrechnung und Anhang folgen aufeinander; kleine Gesellschaften veröffentlichen weniger, die kleinsten hinterlegen nur ihre Bilanz.
-
Für jüngere Jahre ins Unternehmensregister
Abschlüsse für Geschäftsjahre, die nach dem 31. Dezember 2021 begonnen haben, werden dort veröffentlicht statt im Bundesanzeiger. Ältere Jahre bleiben, wo sie sind.
Vorlage und Publish-Aufruf
Sechs Blöcke, kein Zugangsdatensatz. Der Validierungsblock ist das, was verhindert, dass eine Sicherheitsabfrage als Zahlenwerk gelesen wird.
{
"title": "Bundesanzeiger: veröffentlichten Jahresabschluss einer Firma holen",
"parameters": [
{
"key": "firma",
"description": "Firmenname wie eingetragen, etwa Musterbau GmbH",
"required": true
}
],
"blocks": [
{
"blockType": "navigation",
"label": "Start",
"url": "https://www.bundesanzeiger.de/"
},
{
"blockType": "action",
"label": "Suchen",
"instruction": "Grenze die Suche auf der Startseite auf den Bereich Rechnungslegung/Finanzberichte ein, gib {{ firma }} als Suchbegriff ein und starte die Suche"
},
{
"blockType": "extraction",
"label": "Veroeffentlichungen",
"instruction": "Jeder Treffer zu {{ firma }}: veröffentlichendes Unternehmen, Titel des Dokuments, Geschäftsjahr, Veröffentlichungsdatum",
"schema": {
"type": "object",
"properties": {
"treffer": {
"type": "array",
"items": {
"type": "object",
"properties": {
"firma": {
"type": "string"
},
"titel": {
"type": "string"
},
"geschaeftsjahr": {
"type": "string"
},
"veroeffentlichtAm": {
"type": "string"
}
},
"required": [
"firma",
"titel"
]
}
}
},
"required": [
"treffer"
]
}
},
{
"blockType": "action",
"label": "Neuesten_oeffnen",
"instruction": "Öffne aus der Trefferliste den jüngsten Jahresabschluss von {{ firma }}"
},
{
"blockType": "validation",
"label": "Dokument_sichtbar",
"criterion": "Auf der Seite steht der Volltext eines Jahresabschlusses und nicht eine Sicherheitsabfrage, ein Suchformular oder eine Fehlermeldung"
},
{
"blockType": "extraction",
"label": "Kennzahlen",
"instruction": "Aus dem angezeigten Jahresabschluss von {{ firma }}: Geschäftsjahr, Bilanzsumme, Eigenkapital, Jahresüberschuss oder Jahresfehlbetrag, durchschnittliche Mitarbeiterzahl falls angegeben, Abschlussprüfer falls angegeben",
"schema": {
"type": "object",
"properties": {
"geschaeftsjahr": {
"type": "string"
},
"bilanzsumme": {
"type": "number"
},
"eigenkapital": {
"type": "number"
},
"jahresergebnis": {
"type": "number"
},
"mitarbeiter": {
"type": "integer"
},
"pruefer": {
"type": "string"
}
},
"required": [
"geschaeftsjahr"
]
}
}
]
}
import { Browserberg } from '@browserberg/sdk';
import vorlage from './bundesanzeiger-kennzahlen.json' with { type: 'json' };
const bb = new Browserberg({
apiKey: process.env.BROWSERBERG_API_KEY,
baseUrl: 'https://browserberg.com',
});
const wf = await bb.workflows.publish(vorlage);
// Keine Anmeldung: eine frische Session genügt.
await using session = await bb.sessions.create();
const lauf = await bb.workflows.run(wf.workflowId, {
sessionId: session.id,
inputs: { firma: 'Musterbau GmbH' },
});
if (lauf.status === 'completed') {
console.log(lauf.outputs.Kennzahlen_output);
} else {
// Eine Sicherheitsabfrage stoppt den Lauf bei Dokument_sichtbar; der Block ist benannt.
console.log(lauf.status, lauf.blocks.find((b) => b.status === 'failed'));
}
Keine Anmeldung, ein Captcha, und wo der Lauf endet
Browserberg steht in keiner Verbindung zum Bundesanzeiger Verlag, der das Portal betreibt. Es geht hier darum, eine öffentliche Seite mit einem Browser zu lesen, den du kontrollierst.
Es gibt keine Anmeldung, also nichts zu vertresoren
Den Bundesanzeiger zu lesen braucht kein Konto. Das macht diese Vorlage zur einfachsten auf der Seite: eine Navigation, eine Aktion, zwei Extraktionen und eine Validierung. Kein Login-Block, keine Übernahme, und nichts, was ablaufen könnte außer der Browserberg-Session selbst.
Die Sicherheitsabfrage ist das Ende des Laufs, kein Hindernis, das umgangen wird
Das Portal zeigt vor einem Dokument manchmal ein Captcha. Browserberg löst keine Captchas und gibt sich nicht als etwas anderes aus; die Session ist ein gewöhnliches Chromium, und das Portal darf sie als solches behandeln. Der Validierungsblock Dokument_sichtbar steht genau deshalb da: Ein Lauf, der in die Abfrage läuft, scheitert dort mit dieser Begründung, statt Zahlen aus einer Seite zu ziehen, auf der keine stehen. Wenn eine Person die Abfrage nehmen soll, sieh dem Lauf in der Live-Ansicht zu, übernimm beim Stopp und starte erneut - die Session behält, was das Portal sich gemerkt hat.
Was die Effect Gates hier tun
Auf dem Bundesanzeiger gibt es nichts abzusenden, also haben die Gates wenig abzulehnen. Sie laufen trotzdem bei jedem Klick und stufen das Element ein, auf dem er landet. Ein Bedienelement, das ein kostenpflichtiges Dokument bestellt, wäre ein Zahlungs-Effekt und würde abgelehnt. Eine Suche ist ein Submit-Effekt, die harmlose Sorte, und läuft.
Zwei Portale seit 2022
Abschlüsse für Geschäftsjahre ab dem 1. Januar 2022 liegen im Unternehmensregister. Die Vorlage sucht wie veröffentlicht im Bundesanzeiger; für das jüngste Jahr eines Geschäftspartners richtest du den Navigationsblock auf das Registerportal und ziehst die Suchanweisung nach - die Extraktionsblöcke bleiben. Die Zahlen, die du willst, heißen dort genauso.
Hinweis · Von der öffentlichen Seite abgeschrieben, nicht gegen sie geprüft
Die Bezeichnung des Suchbereichs, die Spalten der Trefferliste und die Sicherheitsabfrage sind so beschrieben, wie die öffentlichen Seiten des Bundesanzeigers sie heute zeigen. Die Vorlage wurde beim Schreiben dieser Seite nicht gegen das Live-Portal ausgeführt. Ändert die Startseite ihren Aufbau, gehört die Suchanweisung nachgezogen.
Fragen aus Compliance-Teams
Löst die Vorlage das Captcha?
Nein. Erscheint die Sicherheitsabfrage, scheitert der Validierungsblock und benennt sich selbst. Eine Person kann die Abfrage über die Live-Ansicht nehmen und den Lauf auf derselben Session neu starten; nichts im Produkt ist darauf gebaut, sie zu umgehen.
Wie wird die falsche Firma vermieden?
Der Lauf kann nicht wissen, welche von zwei gleichnamigen Gesellschaften du meinst. Die Extraktion Veroeffentlichungen gibt jeden Treffer mit Titel und Jahr zurück, sodass dein System den Sitz prüfen kann, bevor es den Kennzahlen-Ausgabe vertraut. Übergib einen genaueren Namen samt Sitz, wenn du einen hast.
Wie belastbar sind die Zahlen?
Die Extraktion liest die Zahlen so, wie sie im veröffentlichten Abschluss stehen, und meldet, was sie nicht gefunden hat, statt zu raten. Hinterlegt eine kleine Gesellschaft nur ihre Bilanz, sind Eigenkapital und Bilanzsumme da und das Ergebnis nicht.
Warum taucht ein Geschäftsjahr 2024 nicht auf?
Weil es im Unternehmensregister veröffentlicht wurde, wo Offenlegungen für Geschäftsjahre ab dem 1. Januar 2022 hingehören. Richte den Navigationsblock der Vorlage für jüngere Jahre dorthin.
Geht das für eine Liste von Geschäftspartnern?
Ja: ein Lauf je Name, oder die Blöcke in einen Loop über einen Parameter mit der Liste. Ein Lauf je Name hält einen Fehler lokal, was zählt, wenn die Sicherheitsabfrage beim siebten von vierzig kommt.
Weiterlesen
- Handelsregisterauszug Die andere Hälfte einer KYC-Akte, aus dem Registerportal
- Workflows erstellen Blöcke, Labels und wie ein Block die Ausgabe eines anderen liest
- Webseite zu Text Eine öffentliche Seite als Text sehen, bevor du ein Extraktionsschema schreibst
- JSON-Schema-Generator Das Extraktionsschema aus einem Beispiel entwerfen
Auf einen Geschäftspartner loslassen, den du schon geprüft hast
Fünf Browserstunden, keine Karte. Vergleich das JSON mit der Akte, die dein Analyst von Hand gebaut hat.