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

# Obtenir les comptes annuels déposés

> Les chiffres déposés, une ligne par exercice, le plus récent d'abord. Une rectification remplace le dépôt qu'elle rectifie et est signalée plutôt que cachée. Chaque exercice coûte des crédits, donc dix ans coûtent dix fois un an.



## OpenAPI

````yaml /api-reference/openapi.fr.json get /v1/companies/{id}/financials
openapi: 3.0.3
info:
  title: API OTB Studio
  version: 1.0.0
  description: >-
    Le registre belge des entreprises via REST : recherche, profils,
    actionnariat, comptes annuels déposés et mandats. Chaque route demande un
    jeton `otb_live_`, et chaque réponse livrée coûte des crédits pour les
    données qu'elle contient.
servers:
  - url: https://api.otbstudio.ai
security:
  - token: []
tags:
  - name: Companies
    description: Un registre des entreprises, lu de cinq façons.
paths:
  /v1/companies/{id}/financials:
    get:
      tags:
        - Companies
      summary: Obtenir les comptes annuels déposés
      description: >-
        Les chiffres déposés, une ligne par exercice, le plus récent d'abord.
        Une rectification remplace le dépôt qu'elle rectifie et est signalée
        plutôt que cachée. Chaque exercice coûte des crédits, donc dix ans
        coûtent dix fois un an.
      operationId: getCompanyFinancials
      parameters:
        - $ref: '#/components/parameters/id'
        - name: years
          in: query
          required: false
          description: >-
            Nombre d'exercices renvoyés, de 1 à 20. Une valeur absente, nulle,
            négative ou plus grande donne 10.
          schema:
            type: integer
            default: 10
        - name: detail
          in: query
          required: false
          description: >-
            `true` ajoute le tableau des flux de trésorerie et les postes de
            bilan nommés à chaque exercice.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Les exercices. Une liste vide si l'entreprise n'a rien déposé.
          headers:
            X-Credits-Cost:
              $ref: '#/components/headers/X-Credits-Cost'
            X-Credits-Remaining:
              $ref: '#/components/headers/X-Credits-Remaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialsReply'
              example:
                periods:
                  - closingDate: '2025-03-31'
                    reference: 2025-00184417
                    schemaType: full
                    employees: 186.4
                    equity: 12480310.52
                    operatingIncome: 3912774.18
                    ebitda: 5240118.66
                    resultForPeriod: 2731905.07
                    healthIndicator: 10
                    cashFlow:
                      operating: 4410228.35
                      investing: -1876340.12
                      financing: -1504377.8
                      free: 2533888.23
                      cashAtPeriodEnd: 1388902.41
                      distributionsToOwners: 600000
                    balanceSheet:
                      operatingProfit: 3480112.9
                      depreciation: 1328006.48
                      staffCosts: 9876540.21
                      totalAssets: 31902554.7
                      totalDebt: 8044120.33
                      interestPaid: 288410.12
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/Internal'
        '503':
          $ref: '#/components/responses/Busy'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: >-
        Le numéro d'entreprise. `0712.345.630`, `BE 0712 345 630` et
        `BE0712345630` sont tous acceptés.
      schema:
        type: string
      example: BE0712345630
  headers:
    X-Credits-Cost:
      description: Ce que cette réponse a coûté, en crédits.
      schema:
        type: integer
    X-Credits-Remaining:
      description: Le solde après cette réponse.
      schema:
        type: integer
    Retry-After:
      description: Secondes à attendre avant de réessayer.
      schema:
        type: integer
  schemas:
    FinancialsReply:
      type: object
      additionalProperties: false
      required:
        - periods
      properties:
        periods:
          type: array
          items:
            $ref: '#/components/schemas/Period'
    Period:
      type: object
      additionalProperties: false
      description: Un exercice, tel que déposé. Les montants sont en euros.
      required:
        - closingDate
      properties:
        closingDate:
          type: string
          format: date
        reference:
          type: string
          description: >-
            La référence du dépôt à la Banque nationale de Belgique, pour
            vérifier un chiffre dans le document source.
        schemaType:
          type: string
          description: >-
            Le schéma du dépôt, par exemple `full` ou `abbreviated`. Une
            entreprise qui change de schéma rapporte un autre niveau de détail.
        corrected:
          type: boolean
          description: >-
            Ce dépôt a remplacé un dépôt antérieur pour le même exercice. C'est
            le chiffre qui fait foi.
        comparative:
          type: boolean
          description: >-
            Ces chiffres viennent de la colonne de l'exercice précédent d'un
            dépôt ultérieur, pas d'un dépôt propre. La référence ne peut pas
            être consultée.
        employees:
          type: number
          description: >-
            Moyenne des équivalents temps plein sur l'exercice, pas le nombre de
            personnes.
        equity:
          type: number
        operatingIncome:
          type: number
        ebitda:
          type: number
          description: >-
            Le chiffre dérivé de la source. Les comptes annuels belges n'ont pas
            de poste EBITDA.
        resultForPeriod:
          type: number
        healthIndicator:
          type: number
          description: >-
            Le score de la source, un nombre entier de 1 à 10. La méthode n'est
            pas publiée.
        cashFlow:
          $ref: '#/components/schemas/CashFlow'
        balanceSheet:
          $ref: '#/components/schemas/BalanceSheet'
    Unauthorized:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - missing_token
            - invalid_token
    PaymentRequired:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - insufficient_credits
    NotFound:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - not_found
    RateLimited:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - rate_limited
    Internal:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - internal
    Busy:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - busy
    CashFlow:
      type: object
      additionalProperties: false
      description: Le tableau des flux de trésorerie déposé. Seulement avec `detail=true`.
      properties:
        operating:
          type: number
        investing:
          type: number
        financing:
          type: number
        free:
          type: number
        cashAtPeriodEnd:
          type: number
        distributionsToOwners:
          type: number
          description: >-
            Dividendes et autres distributions aux propriétaires, tels que
            déposés.
    BalanceSheet:
      type: object
      additionalProperties: false
      description: Les postes du bilan demandés par leur nom. Seulement avec `detail=true`.
      properties:
        operatingProfit:
          type: number
        depreciation:
          type: number
        staffCosts:
          type: number
        totalAssets:
          type: number
          description: Le total du bilan.
        totalDebt:
          type: number
        interestPaid:
          type: number
          description: Le coût des dettes pour l'exercice.
  responses:
    Unauthorized:
      description: >-
        Aucun jeton, ou un jeton non valide. `missing_token` sans en-tête
        `Authorization: Bearer`, `invalid_token` si le jeton est inconnu,
        révoqué ou du mauvais type.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    PaymentRequired:
      description: >-
        L'organisation n'a pas d'abonnement, son solde est vide, ou le solde ne
        couvre pas cette réponse. Si la réponse était trop chère, les en-têtes
        disent ce qu'elle aurait coûté et ce qui reste.
      headers:
        X-Credits-Cost:
          $ref: '#/components/headers/X-Credits-Cost'
        X-Credits-Remaining:
          $ref: '#/components/headers/X-Credits-Remaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequired'
    NotFound:
      description: Aucune entreprise n'a ce numéro d'entreprise.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
    RateLimited:
      description: >-
        L'organisation dépasse sa limite (10 appels par seconde, pointes de 20)
        ou a 4 appels en cours. Réessayez après `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimited'
    Internal:
      description: Une erreur s'est produite de notre côté.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Internal'
    Busy:
      description: >-
        Les données n'ont pas pu être lues en 15 secondes. Réessayez après
        `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Busy'
  securitySchemes:
    token:
      type: http
      scheme: bearer
      description: Un jeton `otb_live_`, créé dans le tableau de bord OTB Studio.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.