> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openregister.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Financials

## Get company financials

Retrieve detailed financial reports including balance sheets (Bilanz) and income statements (Gewinn- und Verlustrechnung) from the Bundesanzeiger. This endpoint provides structured financial data across multiple reporting periods, allowing for trend analysis and financial health assessment.

**Cost:** 10 credits

### Financial Data Structure

The response includes complete balance sheet data (assets/Aktiva and liabilities/Passiva) and income statement information when available. Financial reports are structured according to German accounting standards (HGB - Handelsgesetzbuch) and include line items such as current assets, fixed assets, equity, liabilities, revenue, expenses, and net income.

In addition to the raw financial statements, we provide pre-calculated financial indicators extracted from the balance sheet for immediate use. These include key metrics such as balance sheet total, revenue, net income, cash, equity, employees, and other important financial ratios - ready to use without additional calculations. These indicators are also returned at the top level of the response under `indicators`, sorted by date (latest first).

Each report additionally exposes its rendered document under `sources` as a short-lived, presigned `html_url` (valid for 30 minutes), so you can download or display the full original HTML report.

You'll receive data for all available reporting periods, typically covering multiple years. Each report includes the reporting date, currency, and a detailed breakdown of financial positions. Not all companies are required to publish detailed financial statements - data availability depends on company size and legal requirements.

### Use Cases

**Financial Analysis:** Assess a company's financial health by analyzing revenue trends, profitability, liquidity ratios, and capital structure. Compare financial metrics across multiple periods to identify growth patterns or concerns.

**Credit Assessment:** Evaluate creditworthiness by examining equity ratios, debt levels, and cash flow indicators. Banks and suppliers use this data for credit decisions and risk management.

**Market Research:** Identify financially strong companies in your target market. Filter for companies with specific revenue ranges, employee counts, or financial characteristics for business development or investment opportunities.


## OpenAPI

````yaml GET /v1/company/{company_id}/financials
openapi: 3.1.0
info:
  title: OpenRegister API
  version: 2.5.0
  description: >
    API for accessing comprehensive company data from official registers.

    This API provides access to company information, shareholder data, financial
    reports, and contact details.
servers:
  - url: https://api.openregister.de
    description: Production
security:
  - BearerAuth: []
paths:
  /v1/company/{company_id}/financials:
    get:
      tags:
        - v1
      summary: Get financial reports
      operationId: getFinancialReports
      parameters:
        - name: company_id
          in: path
          required: true
          description: |
            Unique company identifier.
            Example: DE-HRB-F1103-267645
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialsResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Openregister from 'openregister';

            const client = new Openregister({
              apiKey: process.env['OPENREGISTER_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.company.getFinancialsV1('company_id');

            console.log(response.indicators);
        - lang: Python
          source: |-
            import os
            from openregister import Openregister

            client = Openregister(
                api_key=os.environ.get("OPENREGISTER_API_KEY"),  # This is the default and can be omitted
            )
            response = client.company.get_financials_v1(
                "company_id",
            )
            print(response.indicators)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/oregister/openregister-go\"\n\t\"github.com/oregister/openregister-go/option\"\n)\n\nfunc main() {\n\tclient := openregister.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.Company.GetFinancialsV1(context.TODO(), \"company_id\")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Indicators)\n}\n"
        - lang: CLI
          source: |-
            openregister company get-financials-v1 \
              --api-key 'My API Key' \
              --company-id company_id
components:
  schemas:
    FinancialsResponse:
      type: object
      properties:
        reports:
          type: array
          items:
            $ref: '#/components/schemas/Report'
        indicators:
          $ref: '#/components/schemas/CompanyIndicators'
          description: >
            Key financial indicators per fiscal year, sorted by date (latest
            first).
        merged:
          description: All report periods merged into a single view
          nullable: true
          allOf:
            - $ref: '#/components/schemas/MergedFinancials'
      required:
        - reports
        - indicators
        - merged
    Report:
      type: object
      properties:
        report_id:
          description: |
            Unique identifier for the financial report.
            Example: f47ac10b-58cc-4372-a567-0e02b2c3d479
          type: string
        consolidated:
          description: |
            Whether the report is a consolidated report or not.
          type: boolean
        aktiva:
          $ref: '#/components/schemas/ReportTable'
        passiva:
          $ref: '#/components/schemas/ReportTable'
        guv:
          $ref: '#/components/schemas/ReportTable'
          nullable: true
        report_start_date:
          description: |
            Format: ISO 8601 (YYYY-MM-DD)
          type: string
          format: date
          nullable: true
        report_end_date:
          description: |
            Format: ISO 8601 (YYYY-MM-DD)
          type: string
          format: date
        sources:
          description: >
            Sources of the report data. Presigned URLs accessible for 30
            minutes.
          type: array
          items:
            $ref: '#/components/schemas/ReportSource'
      required:
        - report_id
        - aktiva
        - consolidated
        - passiva
        - report_end_date
        - report_start_date
        - sources
    CompanyIndicators:
      description: >
        The indicators for the company sorted by date with the first element
        being the latest.
      type: array
      items:
        $ref: '#/components/schemas/CompanyIndicator'
    MergedFinancials:
      type: object
      description: Financial data merged across all available report periods
      properties:
        aktiva:
          $ref: '#/components/schemas/MergedReportTable'
        passiva:
          $ref: '#/components/schemas/MergedReportTable'
        guv:
          $ref: '#/components/schemas/MergedReportTable'
      required:
        - aktiva
        - passiva
    ReportTable:
      type: object
      properties:
        rows:
          type: array
          items:
            $ref: '#/components/schemas/ReportRow'
      required:
        - rows
    ReportSource:
      type: object
      properties:
        html_url:
          description: >
            Url of the rendered HTML report. In the form of a presigned url
            accessible for 30 minutes.
          type: string
      required:
        - html_url
    CompanyIndicator:
      description: |
        The indicators of the company for a given year.
        Values of the indicator are given in the smallest currency unit (cents).
        Example: 2099 represents €20.99 for monetary values
        For non-monetary values (e.g., employees), the actual number.
      type: object
      properties:
        date:
          description: |
            Date to which this financial indicators apply.
            Format: ISO 8601 (YYYY-MM-DD)
            Example: "2022-01-01"
          type: string
          format: date
        report_id:
          description: The report id (source) of the indicators.
          type: string
          format: uuid
        balance_sheet_total:
          description: The balance sheet total of that year (in cents).
          type: integer
          format: int64
          nullable: true
        net_income:
          description: The net income of that year (in cents).
          type: integer
          format: int64
          nullable: true
        parent_net_income:
          description: The parent-attributed net income of that year (in cents).
          type: integer
          format: int64
          nullable: true
        income_before_tax:
          description: The income before income taxes of that year (in cents).
          type: integer
          format: int64
          nullable: true
        income_after_tax:
          description: The income after income taxes of that year (in cents).
          type: integer
          format: int64
          nullable: true
        ebit:
          description: The earnings before interest and taxes of that year (in cents).
          type: integer
          format: int64
          nullable: true
        ebitda:
          description: >-
            The earnings before interest, taxes, depreciation, and amortization
            of that year (in cents).
          type: integer
          format: int64
          nullable: true
        revenue:
          description: The revenue of that year (in cents).
          type: integer
          format: int64
          nullable: true
        gross_profit:
          description: The gross profit (Rohergebnis) of that year (in cents).
          type: integer
          format: int64
          nullable: true
        cash:
          description: The cash of that year (in cents).
          type: integer
          format: int64
          nullable: true
        employees:
          description: The number of employees of that year.
          type: integer
          format: int64
          nullable: true
        equity:
          description: The equity of that year (in cents).
          type: integer
          format: int64
          nullable: true
        real_estate:
          description: The real estate of that year (in cents).
          type: integer
          format: int64
          nullable: true
        materials:
          description: The materials of that year (in cents).
          type: integer
          format: int64
          nullable: true
        pension_provisions:
          description: The pension provisions of that year (in cents).
          type: integer
          format: int64
          nullable: true
        salaries:
          description: The salaries of that year (in cents).
          type: integer
          format: int64
          nullable: true
        taxes:
          description: The taxes of that year (in cents).
          type: integer
          format: int64
          nullable: true
        other_taxes:
          description: Other taxes (Sonstige Steuern) of that year (in cents).
          type: integer
          format: int64
          nullable: true
        commission_income:
          description: Commission income (Provisionserträge) of that year (in cents).
          type: integer
          format: int64
          nullable: true
        commission_expense:
          description: Commission expense (Provisionsaufwendungen) of that year (in cents).
          type: integer
          format: int64
          nullable: true
        liabilities:
          description: The liabilities of that year (in cents).
          type: integer
          format: int64
          nullable: true
        capital_reserves:
          description: The capital reserves of that year (in cents).
          type: integer
          format: int64
          nullable: true
        active_accruals:
          description: The active accruals of that year (in cents).
          type: integer
          format: int64
          nullable: true
        passive_accruals:
          description: The passive accruals of that year (in cents).
          type: integer
          format: int64
          nullable: true
        fixed_assets:
          description: The fixed assets of that year (in cents).
          type: integer
          format: int64
          nullable: true
        current_assets:
          description: The current assets of that year (in cents).
          type: integer
          format: int64
          nullable: true
        receivables:
          description: The receivables of that year (in cents).
          type: integer
          format: int64
          nullable: true
        trade_receivables:
          description: The trade receivables of that year (in cents).
          type: integer
          format: int64
          nullable: true
        inventory:
          description: The inventory of that year (in cents).
          type: integer
          format: int64
          nullable: true
        provisions:
          description: The provisions of that year (in cents).
          type: integer
          format: int64
          nullable: true
        bank_debt:
          description: The bank debt of that year (in cents).
          type: integer
          format: int64
          nullable: true
        trade_payables:
          description: The trade payables of that year (in cents).
          type: integer
          format: int64
          nullable: true
        tangible_assets:
          description: The tangible assets of that year (in cents).
          type: integer
          format: int64
          nullable: true
        financial_assets:
          description: The financial assets of that year (in cents).
          type: integer
          format: int64
          nullable: true
        retained_earnings:
          description: The retained earnings of that year (in cents).
          type: integer
          format: int64
          nullable: true
        profit_carryforward:
          description: The profit carryforward of that year (in cents).
          type: integer
          format: int64
          nullable: true
        other_provisions:
          description: The other provisions of that year (in cents).
          type: integer
          format: int64
          nullable: true
        shareholder_liabilities:
          description: The shareholder liabilities of that year (in cents).
          type: integer
          format: int64
          nullable: true
        operating_depreciation:
          description: The operating depreciation and amortization of that year (in cents).
          type: integer
          format: int64
          nullable: true
        financial_depreciation:
          description: >-
            The signed financial asset depreciation, write-down, or reversal of
            that year (in cents).
          type: integer
          format: int64
          nullable: true
        other_operating_income:
          description: The other operating income of that year (in cents).
          type: integer
          format: int64
          nullable: true
        interest_income:
          description: The interest income of that year (in cents).
          type: integer
          format: int64
          nullable: true
        interest_expense:
          description: The interest expense of that year (in cents).
          type: integer
          format: int64
          nullable: true
        other_liabilities:
          description: The other liabilities of that year (in cents).
          type: integer
          format: int64
          nullable: true
        financial_debt:
          description: The financial debt of that year (in cents).
          type: integer
          format: int64
          nullable: true
        intangible_assets:
          description: The intangible assets of that year (in cents).
          type: integer
          format: int64
          nullable: true
        other_operating_expenses:
          description: The other operating expenses of that year (in cents).
          type: integer
          format: int64
          nullable: true
        affiliated_liabilities:
          description: The affiliated liabilities of that year (in cents).
          type: integer
          format: int64
          nullable: true
      required:
        - date
        - report_id
        - balance_sheet_total
        - net_income
        - parent_net_income
        - income_before_tax
        - income_after_tax
        - ebit
        - ebitda
        - revenue
        - gross_profit
        - cash
        - employees
        - equity
        - real_estate
        - materials
        - pension_provisions
        - salaries
        - taxes
        - other_taxes
        - commission_income
        - commission_expense
        - liabilities
        - capital_reserves
        - active_accruals
        - passive_accruals
        - fixed_assets
        - current_assets
        - receivables
        - trade_receivables
        - inventory
        - provisions
        - bank_debt
        - trade_payables
        - tangible_assets
        - financial_assets
        - retained_earnings
        - profit_carryforward
        - other_provisions
        - shareholder_liabilities
        - operating_depreciation
        - financial_depreciation
        - other_operating_income
        - interest_income
        - interest_expense
        - other_liabilities
        - financial_debt
        - intangible_assets
        - other_operating_expenses
        - affiliated_liabilities
    MergedReportTable:
      type: object
      description: Report table with data merged across multiple report periods
      properties:
        rows:
          type: array
          items:
            $ref: '#/components/schemas/MergedReportRow'
      required:
        - rows
    ReportRow:
      type: object
      properties:
        name:
          type: string
        formatted_name:
          type: string
        current_value:
          type: integer
          format: int64
          nullable: true
        previous_value:
          type: integer
          format: int64
          nullable: true
        children:
          type: array
          items:
            $ref: '#/components/schemas/ReportRow'
      required:
        - name
        - formatted_name
        - current_value
        - previous_value
        - children
    MergedReportRow:
      type: object
      description: Report row with values from multiple report periods
      properties:
        name:
          type: string
        formatted_name:
          type: string
        values:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Report end date to value mapping (ISO date string as key)
        children:
          type: array
          items:
            $ref: '#/components/schemas/MergedReportRow'
      required:
        - name
        - formatted_name
        - values
        - children
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |
        API Key Authentication
        Provide your API key as a Bearer token in the Authorization header.

````