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

# Create transaction

## Field support per integration

<AccordionGroup>
  <Accordion title="DATEV Unternehmen Online" icon="https://mintcdn.com/maesn/NQwZPkomn6wLid0x/logo/datev.svg?fit=max&auto=format&n=NQwZPkomn6wLid0x&q=85&s=5589154dcfa064e1d967a067e488896a" width="24" height="24" data-path="logo/datev.svg">
    <Note>
      This endpoints is asynchronous. To check the status of the request, use the `GET asyncTask` endpoint.
      For more info about asynchronous tasks visit the [`Asynchronous Task`](/async-task) section.
    </Note>

    <Note>
      If you're not using the [Interactive Authentication Flow](/authentication#interactive-authentication-flow), make sure the query parameter `companyId` is accurately populated with the appropriate company ID. You can obtain this value by using the `GET Companies` endpoint available under the Authentication section.
    </Note>

    Supported Request Parameters:

    <ResponseField name="transaction" type="string" required>
      <Expandable title="properties">
        <ResponseField name="id" type="string" required>
          The `id` field is the identifier for the transaction.

          It must match the pattern: `^[a-zA-Z0-9$%&*\+\-/]{0,36}$`.
        </ResponseField>

        <ResponseField name="accountNumber" type="number">
          The `accountNumber` field specifies the general ledger account linked to the transaction.
        </ResponseField>

        <ResponseField name="amount" type="number" required />

        <ResponseField name="bookingDate" type="string" required />

        <ResponseField name="currency" type="enum" required>
          The `currency` field supports **ISO 4217** (3-letter codes).
          For details visits the [`Standardized Data`](/standardization) section.
        </ResponseField>

        <ResponseField name="description" type="string" required>
          The `description` field provides details about the transaction.

          It cannot exceed 60 characters in length.
        </ResponseField>

        <ResponseField name="ledgerName" type="string" required>
          The `ledgerName` field represents the name of the correct ledger folder where the data will be sent to.

          To get the correct name, you can use the  `GET Accounts` endpoint.
        </ResponseField>

        <Note>
          The `ledgerName` must be of type `CASH`.
        </Note>

        <ResponseField name="taxRatePercentage" type="number" required>
          The `taxRatePercentage` field represents the tax rate applied to the transaction.

          It must be a positive number.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="files" type="file[]" />
  </Accordion>

  <Accordion title="Exact Online" icon="https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/exact.svg?fit=max&auto=format&n=gCd41Ws3USFubam4&q=85&s=afa1af7a261b22f843ac73ee60896ede" width="24" height="24" data-path="logo/exact.svg">
    <Note>
      If you're not using the [Interactive Authentication Flow](/authentication#interactive-authentication-flow), make sure the query parameter `companyId` is correctly populated.
      You can obtain this value by using the `GET Companies` endpoint available under the Authentication section.
    </Note>

    Supported Request Parameters:

    <ResponseField name="transaction" type="string" required>
      <Expandable title="properties">
        <ResponseField name="accountId" type="string" required>
          The `accountId` is the id of the GL account related to the transaction.

          You can obtain this value by using the `GET Accounts` endpoint.
        </ResponseField>

        <ResponseField name="amount" type="number" required />

        <ResponseField name="bookingDate" type="string" />

        <ResponseField name="contact" type="string" />

        <ResponseField name="currency" type="enum">
          Available options (3-letter ISO 4217):
          `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUC`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EEK`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GQE`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZM`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VEB`, `VND`, `VUV`, `WST`, `XAF`, `XCD`, `XDR`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMK`, `ZWR`
        </ResponseField>

        <ResponseField name="description" type="string" />

        <ResponseField name="journalCode" type="string" required />

        <ResponseField name="reference" type="string" />

        <ResponseField name="status" type="string" />

        <ResponseField name="taxRatePercentage" type="string" />
      </Expandable>
    </ResponseField>
  </Accordion>

  <Accordion title="Lexware Office" icon="https://mintcdn.com/maesn/51AaCYhZi3VILsjj/logo/lexoffice.svg?fit=max&auto=format&n=51AaCYhZi3VILsjj&q=85&s=efe4da1d7b59a552d1938ec981ccbc1e" width="24" height="24" data-path="logo/lexoffice.svg">
    Supported Request Fields:

    <ResponseField name="transaction" type="string" required>
      <Expandable title="properties">
        <ResponseField name="accountId" type="string" required>
          The `accountId` is the id of the bank account related to the transaction.
        </ResponseField>

        <ResponseField name="amount" type="number" required />

        <ResponseField name="bookingDate" type="string" required />

        <ResponseField name="description" type="string" required />

        <ResponseField name="reference" type="string" />

        <ResponseField name="valueDate" type="string" required />
      </Expandable>
    </ResponseField>
  </Accordion>

  <Accordion title="sevdesk" icon="https://mintcdn.com/maesn/gCd41Ws3USFubam4/logo/sevdesk.svg?fit=max&auto=format&n=gCd41Ws3USFubam4&q=85&s=2b266052b2531cf2995f78c2aecf6019" width="24" height="24" data-path="logo/sevdesk.svg">
    Supported Request Fields:

    <ResponseField name="transaction" type="string" required>
      <Expandable title="properties">
        <ResponseField name="accountId" type="string" required>
          The `accountId` is the id of the bank account related to the transaction.

          You can obtain this value by using the `GET Bank Accounts` endpoint.
        </ResponseField>

        <ResponseField name="amount" type="number" required />

        <ResponseField name="contact" type="string" required />

        <ResponseField name="description" type="string" />

        <ResponseField name="status" type="enum" required>
          Available options:
          `CREATED`, `LINKED`, `PRIVATE`, `BOOKED`
        </ResponseField>

        <ResponseField name="valueDate" type="string" required />
      </Expandable>
    </ResponseField>
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml post /accounting/transactions
openapi: 3.0.0
info:
  title: Maesn unified API
  description: The Maesn unified API description
  version: '1.0'
  contact: {}
servers:
  - url: https://api.maesn.dev
security: []
tags:
  - name: maesn
    description: ''
paths:
  /accounting/transactions:
    post:
      tags:
        - accounting
      operationId: createTransaction
      parameters:
        - name: companyId
          required: false
          in: query
          schema:
            type: string
        - name: journalCode
          required: false
          in: query
          schema:
            type: string
        - name: X-API-KEY
          description: API key
          in: header
          schema:
            type: string
          required: true
        - name: X-ACCOUNT-KEY
          description: Account key
          in: header
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  type: array
                  items:
                    format: binary
                  description: Array of files to upload
                transaction:
                  $ref: '#/components/schemas/CreateTransactionRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseResponseDto'
                  - properties:
                      data:
                        $ref: '#/components/schemas/TransactionResponseDto'
                        type: object
components:
  schemas:
    CreateTransactionRequestDto:
      type: object
      properties:
        accountId:
          type: string
          example: 14a6b5e92-a261-4be9-814d-84dec9636c16
        accountNumber:
          type: number
          example: 4900
        amount:
          type: number
          example: 100
        bookingDate:
          type: string
          example: '2025-07-15T00:00:00Z'
        contact:
          type: string
          example: eaa28f49-6028-4b6e-bb12-d8f6278073fc
        currency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EEK
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GQE
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZM
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VEB
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XDR
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMK
            - ZWR
          example: EUR
        description:
          type: string
          example: Hotel for dreamforce
        journalCode:
          type: string
          example: '31'
        ledgerName:
          type: string
          example: Payroll
        reference:
          type: string
          example: RCXF197253F
        status:
          type: string
          enum:
            - CREATED
            - LINKED
            - PRIVATE
            - BOOKED
            - AUTHORISED
            - DELETED
        taxRatePercentage:
          type: number
          example: 19
        type:
          type: string
          enum:
            - RECEIVE
            - RECEIVE-OVERPAYMENT
            - RECEIVE-PREPAYMENT
            - SPEND
            - SPEND-OVERPAYMENT
            - SPEND-PREPAYMENT
            - RECEIVE-TRANSFER
            - SPEND-TRANSFER
          example: SPEND
        valueDate:
          type: string
          example: '2025-07-15T00:00:00Z'
    BaseResponseDto:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/MetaResponse'
        data:
          oneOf:
            - type: object
            - type: array
    TransactionResponseDto:
      type: object
      properties:
        id:
          type: string
          example: f733a433-9662-4a40-8e36-e38ebda94fe1
        accountId:
          type: string
          example: 14a6b5e92-a261-4be9-814d-84dec9636c16
        accountNumber:
          type: number
          example: 4900
        amount:
          type: number
          example: 100
        bookingDate:
          type: string
          example: '2025-07-15T00:00:00Z'
        contact:
          type: string
          example: eaa28f49-6028-4b6e-bb12-d8f6278073fc
        currency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EEK
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GQE
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZM
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VEB
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XDR
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMK
            - ZWR
          example: EUR
        description:
          type: string
          example: Hotel for dreamforce
        files:
          type: array
          items:
            type: string
            example: file1.pdf
        journalCode:
          type: string
          example: '31'
        ledgerName:
          type: string
          example: Payroll
        reference:
          type: string
          example: RCXF197253F
        status:
          type: string
          enum:
            - CREATED
            - LINKED
            - PRIVATE
            - BOOKED
            - AUTHORISED
            - DELETED
          example: CREATED
        taskId:
          type: string
          example: ADB4457839PXTC2220
        taxRatePercentage:
          type: number
          example: 19
        type:
          type: string
          enum:
            - RECEIVE
            - RECEIVE-OVERPAYMENT
            - RECEIVE-PREPAYMENT
            - SPEND
            - SPEND-OVERPAYMENT
            - SPEND-PREPAYMENT
            - RECEIVE-TRANSFER
            - SPEND-TRANSFER
          example: SPEND
        valueDate:
          type: string
          example: '2025-07-15T00:00:00Z'
    MetaResponse:
      type: object
      properties:
        warnings:
          type: array
          items:
            type: string
            example: Field not used by target system
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
    PaginationResponse:
      type: object
      properties:
        total:
          type: number
          example: 125
        perPage:
          type: number
          example: 50
        currentPage:
          type: number
          example: 1
        totalPages:
          type: number
          example: 3

````