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

# Get Transaction

> Ruft eine einzelne Transaktion per ID ab — inklusive `description_parsed` (geparste SEPA-Felder aus dem Verwendungszweck) und `payment_id`.

Nur `account_id` ist erforderlich; `organization_id`, Connection und `api` werden automatisch aus der (eindeutigen) Account-ID aufgelöst — das gilt auch für Agency-Keys (Scope wird geprüft). Die Transaktion wird über das Konto ermittelt.

**Cost:** 1 Credit per call



## OpenAPI

````yaml GET /v2/banking/transactions/{id}
openapi: 3.1.0
info:
  title: Business OS API
  description: >-
    API für Business OS – Zugang zu DATEV und Banking Enterprise-Schnittstellen.
    Alle Endpoints erfordern einen API Key im `x-api-key` Header. Credits werden
    pro API-Call abgezogen.
  version: 2.0.0
  contact:
    name: Business OS Support
    email: impressum@business-os.de
    url: https://business-os.de/kontakt
servers:
  - url: https://api.business-os.de
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: DATEV Allgemein
    description: >-
      Modulübergreifende DATEV-Endpunkte (z. B. Abo-/Service-Diagnose für
      Mandanten)
  - name: DATEV DUO
    description: DATEV Unternehmen Online — Kassenbuch, Belegbilder und Buchungsvorschläge
  - name: DATEV ReWe - Write
    description: 'DATEV Rechnungswesen — Write: Buchungen, Kontakte, Belegtypen, Steuersätze'
  - name: DATEV ReWe - Read
    description: >-
      DATEV Rechnungswesen — Read (Export): Geschäftsjahre und weitere
      Lesemodule
  - name: Banking AIS
    description: >-
      Account Information Services — Verbindungen, Kontostände und Transaktionen
      verwalten
  - name: Banking PIS
    description: Payment Initiation Services — Zahlungen ausführen und Status abrufen
  - name: Banking Webhooks
    description: Webhook-Konfiguration für Echtzeit-Benachrichtigungen
paths:
  /v2/banking/transactions/{id}:
    get:
      tags:
        - Banking AIS
      summary: Get Transaction
      description: >-
        Ruft eine einzelne Transaktion per ID ab — inklusive
        `description_parsed` (geparste SEPA-Felder aus dem Verwendungszweck) und
        `payment_id`.


        Nur `account_id` ist erforderlich; `organization_id`, Connection und
        `api` werden automatisch aus der (eindeutigen) Account-ID aufgelöst —
        das gilt auch für Agency-Keys (Scope wird geprüft). Die Transaktion wird
        über das Konto ermittelt.


        **Cost:** 1 Credit per call
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Eindeutige Transaktions-ID
          example: '6450918273645091827'
        - name: account_id
          in: query
          required: true
          schema:
            type: string
          description: >-
            ID des Bankkontos, zu dem die Transaktion gehört. Organisation,
            Connection und `api` werden daraus abgeleitet.
          example: '8273645091827364509'
      responses:
        '200':
          description: Die Transaktion
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Transaction'
        '400':
          description: account_id fehlt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Ungültiger API Key
        '402':
          description: Nicht genügend Credits
        '404':
          description: Transaktion oder Konto nicht gefunden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Transaction:
      type: object
      description: Eine Kontotransaktion
      properties:
        id:
          type: string
          description: Eindeutige Transaktions-ID
          example: '6450918273645091827'
        account_id:
          type: string
          description: ID des zugehörigen Kontos
          example: '8273645091827364509'
        payment_id:
          type: string
          nullable: true
          description: >-
            ID der zugehörigen Zahlung, sofern diese Transaktion über `POST
            /v2/banking/payments` initiiert wurde (Match über die
            server-generierte `end_to_end_id`). Sonst `null`.
          example: '4509182736450918273'
        duplicated:
          type: boolean
          description: Ob die Transaktion als Duplikat erkannt wurde
          example: false
        mode:
          type: string
          description: Modus der Transaktion
          example: normal
        status:
          type: string
          enum:
            - posted
            - pending
          description: Buchungsstatus
          example: posted
        made_on:
          type: string
          format: date
          description: Datum der Transaktion
          example: '2026-01-23'
        amount:
          type: number
          description: Betrag (negativ = Abbuchung, positiv = Gutschrift)
          example: -2000
        currency_code:
          type: string
          description: Währungscode (ISO 4217)
          example: EUR
        description:
          type: string
          description: Buchungstext
          example: FOLGELASTSCHRIFT
        description_parsed:
          type: object
          description: >-
            Aus dem `description`-Verwendungszweck geparste, standardisierte
            SEPA-Felder (DK-/DFÜ-Konvention). Alle Felder sind immer vorhanden,
            `null` wenn nicht im Text gefunden. EREF, Gegen-IBAN und
            Gegenpartei-Name sind hier bewusst ausgelassen — die liefert das
            `extra`-Objekt bereits strukturiert (`extra.end_to_end_id`,
            `extra.payee`/`extra.payer`,
            `extra.payee_information`/`extra.payer_information`). Erkennt sowohl
            Kurz-Codes (`CRED:`/`MREF:` …) als auch deutsche Langformen
            (`Glaeubiger-ID:`/`Mandatsreferenz:` …); Kurz-Codes haben Vorrang.
          properties:
            cred:
              type: string
              nullable: true
              description: Gläubiger-ID (SEPA Creditor Identifier, CRED)
              example: DE98ZZZ09999999999
            mref:
              type: string
              nullable: true
              description: Mandatsreferenz (MREF)
              example: M-2026-0042
            kref:
              type: string
              nullable: true
              description: Kundenreferenz (KREF)
              example: null
            debt:
              type: string
              nullable: true
              description: Debtor Identifier (DEBT)
              example: null
            svwz:
              type: string
              nullable: true
              description: SEPA-Verwendungszweck (SVWZ)
              example: null
            abwa:
              type: string
              nullable: true
              description: Abweichender Auftraggeber / Ultimate Debtor (ABWA)
              example: null
            abwe:
              type: string
              nullable: true
              description: Abweichender Empfänger / Ultimate Creditor (ABWE)
              example: null
            bic:
              type: string
              nullable: true
              description: BIC der Gegenpartei
              example: COBADEFF
            oamt:
              type: string
              nullable: true
              description: Ursprungsbetrag (Original Amount, OAMT)
              example: null
            coam:
              type: string
              nullable: true
              description: Zinskompensationsbetrag (Compensation Amount, COAM)
              example: null
            purp:
              type: string
              nullable: true
              description: SEPA-Zweckcode (Purpose Code, PURP)
              example: null
        category:
          type: string
          description: Automatisch erkannte Kategorie
          example: service_fee
        extra:
          type: object
          description: Zusätzliche Transaktionsdetails
          properties:
            time:
              type: string
              description: Uhrzeit der Buchung
              example: '00:07:13'
            payee:
              type: string
              description: IBAN des Empfängers
              example: DE02100100100006820101
            payer:
              type: string
              description: IBAN des Absenders
              example: DE89370400440532013000
            additional:
              type: string
              description: Zusätzlicher Buchungstext
              example: FOLGELASTSCHRIFT
            merchant_id:
              type: string
              nullable: true
              description: Händler-ID (sofern von der Bank geliefert, sonst null).
              example: null
            posting_date:
              type: string
              format: date
              description: Buchungsdatum
              example: '2026-01-23'
            end_to_end_id:
              type: string
              description: Ende-zu-Ende-Referenz
              example: RE-2026-0042
            payee_information:
              type: string
              description: Name des Empfängers
              example: Beispiel Handels GmbH
            payer_information:
              type: string
              description: Name des Absenders
              example: MUSTERMANN GMBH
            account_balance_snapshot:
              type: number
              description: Kontostand nach der Transaktion
              example: 12450.75
            categorization_confidence:
              type: number
              description: Konfidenz der automatischen Kategorisierung (0-1)
              example: 1
        created_at:
          type: string
          format: date-time
          description: Erstellungszeitpunkt
          example: '2026-03-24T13:51:32Z'
        updated_at:
          type: string
          format: date-time
          description: Letzter Aktualisierungszeitpunkt
          example: '2026-03-24T13:51:39Z'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Fehlermeldung
          example: 'Missing required parameter: connection_id'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Dein Business OS API Key. Erstelle einen unter
        [app.business-os.de](https://app.business-os.de/) → API Keys.

````