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

# Create bank account

> Create a new bank account in the accounting system



## OpenAPI

````yaml post /consumers/{consumer_id}/accounting/bank-accounts
openapi: 3.1.0
info:
  title: Chift API
  description: >-
    The Chift API is a universal API giving you access to financial data from
    the software of your clients. It helps software companies to offer native
    integrations to their clients without the effort needed to maintain those
    native integrations. By using the APIs (Accounting, POS, eCommerce) of
    Chift, you connect once and allow your clients to use their software
    packages.
  version: 1.0.0
servers:
  - url: https://api.chift.eu
    description: Chift
security:
  - bearerAuth: []
paths:
  /consumers/{consumer_id}/accounting/bank-accounts:
    post:
      tags:
        - Accounting
        - Bank accounts
      summary: Create bank account
      description: Create a new bank account in the accounting system
      operationId: accounting_create_bank_account
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Consumer Id
        - name: folder_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Folder Id
          description: >-
            Id of the accounting folder instance. A folder represents a legal
            entity within the system. Required when the multiple folders feature
            is enabled.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankAccountItemIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankAccountItemOut'
        '400':
          content:
            application/json:
              example:
                message: >-
                  A bank account/journal already exists with the same code in
                  the accounting system.
                status: error
              schema:
                $ref: '#/components/schemas/ChiftError'
          description: Bad Request
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - mcp_auth:
            - accounting
            - accounting.bank_accounts
components:
  schemas:
    BankAccountItemIn:
      properties:
        code:
          type: string
          minLength: 1
          title: Code
          description: >-
            A userfriendly code to represent the bank account. This will be used
            as the code of the journal if we need to create a journal for the
            bank account.
        currency:
          type: string
          minLength: 1
          title: Currency
          description: Currency of the bank account (e.g., EUR, USD).
        account_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Name
          description: >-
            Name of the bank account. Represents this specific bank account in
            the accounting system.
        account_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Number
          description: >-
            Unique number representing the bank account. At least one of the
            fields 'account_number' or 'IBAN' must be filled in.
        iban:
          anyOf:
            - type: string
            - type: 'null'
          title: Iban
          description: >-
            IBAN of the bank account. At least one of the fields
            'account_number' or 'IBAN' must be filled in.
        bank_name:
          type: string
          title: Bank Name
          description: Name of the bank linked to the bank account.
      type: object
      required:
        - code
        - currency
        - bank_name
      title: BankAccountItemIn
    BankAccountItemOut:
      properties:
        id:
          type: string
          title: Id
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
          description: >-
            A userfriendly code to represent the bank account. This will be used
            as the code of the journal if we need to create a journal for the
            bank account.
        currency:
          anyOf:
            - type: string
            - type: 'null'
          title: Currency
          description: Currency of the bank account (e.g., EUR, USD).
        account_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Name
          description: >-
            Name of the bank account. Represents this specific bank account in
            the accounting system.
        account_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Number
          description: Unique number representing the bank account.
        iban:
          anyOf:
            - type: string
            - type: 'null'
          title: Iban
          description: IBAN of the bank account.
        bank_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Name
          description: Name of the bank linked to the bank account.
        journal_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Journal Id
          description: >-
            Indicates the journal used in the accounting system to represent the
            bank account. The journal contains all the transactions related to
            this specific bank account.
        ledger_account:
          anyOf:
            - type: string
            - type: 'null'
          title: Ledger Account
          description: >-
            Indicates the ledger account used in the accounting system to
            represent the bank account. The ledger account is used in all the
            transactions related to this specific bank account. This ledger
            account is used to track the balance of the bank account.
        unallocated_account:
          anyOf:
            - type: string
            - type: 'null'
          title: Unallocated Account
          description: >-
            Unallocated ledger account used to book entries when the final
            ledger account / client / supplier / employee is not yet known
            (specific to bank and cash journals)
      type: object
      required:
        - id
      title: BankAccountItemOut
    ChiftError:
      properties:
        message:
          type: string
          title: Message
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
          default: error
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
          default: ''
      type: object
      required:
        - message
      title: ChiftError
    HTTPValidationError:
      title: Validation Error
      required:
        - message
      type: object
      properties:
        message:
          title: Message
          type: string
          default: Validation error
        status:
          title: Status
          type: string
          default: error
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        This access token needs to be included in each of your request to the
        Chift API.

````