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

# Banka virman fişi oluştur

> Yeni banka virman fişini satırlarıyla birlikte tek işlemde ekler.

Zorunlu alanlar ve satır kuralları için [genel bakış](/tr/v1/finance/bank-internal-transfers/overview) sayfasına bakın. Satırların toplam `Debit`'i toplam `Credit`'ine eşit olmalıdır (`8508`).

## Hata kodları

Bu endpoint'in dönebileceği kodlar. Her endpoint için geçerli olan [genel hatalar](/tr/v1/guides/result-codes) (kimlik doğrulama, yetki, istek header'ları, günlük limit) burada tekrarlanmaz.

| Kod    | HTTP | Anlamı                                                                                                                                                       |
| ------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `0002` | 400  | İstek gövdesi okunamadı (bozuk JSON, alan tipi uyumsuz)                                                                                                      |
| `0003` | 400  | Alan azami uzunluğu aşıyor (mesajda alan adı ve sınır yazar)                                                                                                 |
| `0580` | 400  | Metinle verilen değer (kod ya da ad) birden fazla kayıtla eşleşiyor; hangisi olduğunu ayırt edecek bilgiyi ekleyin (ör. ilçe için `City`, il için `Country`) |
| `8180` | 400  | Şirket için `"BANKAFİŞNO"` seri tanımı bulunamadı                                                                                                            |
| `8181` | 400  | Seri tanımının detayı yok                                                                                                                                    |
| `8182` | 400  | Desteklenmeyen seri numarası bölüm tipi                                                                                                                      |
| `8183` | 400  | Üretilen fiş numarası azami uzunluğu aşıyor                                                                                                                  |
| `8184` | 400  | Üretilen fiş numarası şirkette zaten kullanılıyor                                                                                                            |
| `8185` | 400  | Fiş numarası üretilemedi                                                                                                                                     |
| `8501` | 400  | `VoucherNumber` zorunlu                                                                                                                                      |
| `8502` | 400  | `VoucherNumber` şirkette (banka fişi tipleri arasında) kullanılıyor                                                                                          |
| `8503` | 400  | `VoucherNumber` güncellemede "Next" olamaz                                                                                                                   |
| `8504` | 400  | `Date` zorunlu                                                                                                                                               |
| `8505` | 400  | En az bir satır zorunlu                                                                                                                                      |
| `8507` | 400  | `SharingCode` kullanıcının paylaşım kodlarından biri değil                                                                                                   |
| `8508` | 400  | Satırların toplam `Debit`'i toplam `Credit`'ine eşit olmalı                                                                                                  |
| `8600` | 400  | Satırda `BankAccountCode` zorunlu                                                                                                                            |
| `8601` | 400  | Satırda `BankAccountCode` bulunamadı                                                                                                                         |
| `8602` | 400  | Satırda `ExchangeRate` zorunlu ve 0'dan büyük olmalı                                                                                                         |
| `8603` | 400  | Satırda `Debit`/`Credit`'ten tam olarak biri 0'dan büyük olmalı                                                                                              |


## OpenAPI

````yaml api-reference/openapi.tr.json POST /api/v1/finance/bank-internal-transfers
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://dev.noyax.com/services/noyax_api
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Quotes
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Orders
  - name: Bank Accounts
  - name: Bank Internal Transfers
  - name: Bank Openings
  - name: Banks
  - name: Bank Transfers
  - name: Credit Card Collections
  - name: Repayment Plans
  - name: Despatches
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Line Groups
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Statement
  - name: Customer Telephones
paths:
  /api/v1/finance/bank-internal-transfers:
    post:
      tags:
        - Bank Internal Transfers
      summary: Banka virman fişi oluştur
      description: >-
        Yeni banka virman fişini satırlarıyla birlikte tek işlemde ekler. Her
        satır kendi banka hesabını (BankAccountCode) seçer ve hesabın kendi
        dövizinde bir Debit ya da Credit tutarı taşır. Tüm satırların toplam
        Debit'i toplam Credit'ine eşit olmalıdır. Şirketin banka fişi numara
        serisinden üretilmesi için VoucherNumber'ı "Next" olarak gönderin.
      parameters:
        - name: X-UserID
          in: header
          description: >-
            İsteğin adına yapıldığı Noyax kullanıcısının ID'si. Oluşturulan,
            güncellenen ve silinen kayıtların denetim alanlarına yazılır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            Şirketin ID'si. Kullanıcı bu şirkete tanımlı olmalıdır. Bütün okuma
            ve yazma işlemleri bu şirketle sınırlıdır.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            Muhasebe döneminin ID'si. Cari endpoint'lerinde isteğe bağlıdır;
            gönderilirse oluşturulan kayıtlara yazılır.
          schema:
            minimum: 1
            type: integer
            format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BankJournalVoucherRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/BankJournalVoucherRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/BankJournalVoucherRequestDto'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfBankJournalVoucherDetailDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '8505'
                Message: At least one line is required.
                Errors:
                  - Code: '8505'
                    Message: At least one line is required.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    BankJournalVoucherRequestDto:
      type: object
      properties:
        VoucherNumber:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Fiş numarası, şirkette tüm banka fişleri arasında
            benzersiz. Oluştururken "Next" gönderirseniz şirketin banka fişi
            numara serisinden üretilir. En fazla 20 karakter.
          example: Next
        Date:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Fiş tarihi. Saat de gönderilirse fiş saati olarak yazılır,
            gönderilmezse o anki saat kullanılır.
          format: date-time
          example: '2026-09-24T14:06:00'
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 1000 karakter.
        SharingCode:
          type:
            - 'null'
            - string
          description: >-
            Fişi kimlerin görebileceğini sınırlayan paylaşım kodu. Boşsa herkes
            görür; doluysa kullanıcının paylaşım kodlarından biri olmalıdır.
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/BankJournalVoucherLineRequestDto'
          description: Zorunlu, en az bir satır.
    DataResultOfBankJournalVoucherDetailDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: true
        ResultCode:
          type: string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Data:
          $ref: '#/components/schemas/BankJournalVoucherDetailDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: İşlemin başarılı olup olmadığı.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors
            içinde listelenir.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Success false olduğunda hata mesajı. Bütün hataların mesajları tek
            metinde birleştirilir.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: >-
            Kodlarıyla birlikte bütün hatalar. Yalnızca Success false olduğunda
            bulunur.
    BankJournalVoucherLineRequestDto:
      type: object
      properties:
        BankAccountCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Banka hesabı adı (GET /api/v1/finance/bank-accounts'tan
            Name). Satırın dövizi bu hesabın kendi dövizidir.
          example: TEST POS
        Debit:
          type: number
          description: >-
            Borç tutarı, banka hesabının kendi dövizinde. Debit/Credit'ten tam
            olarak biri 0'dan büyük olmalı, diğeri 0 olmalıdır.
          format: double
          example: 0
        Credit:
          type: number
          description: >-
            Alacak tutarı, banka hesabının kendi dövizinde. Debit/Credit'ten tam
            olarak biri 0'dan büyük olmalı, diğeri 0 olmalıdır.
          format: double
          example: 500
        ExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Banka hesabının dövizinin şirketin varsayılan dövizine karşı kur
            değeri. Yalnızca banka hesabının dövizi varsayılan dövizden
            farklıysa zorunludur (ve 0'dan büyük olmalıdır); aksi halde 1 kabul
            edilir.
          format: double
          example: 1
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
    BankJournalVoucherDetailDto:
      type: object
      properties:
        Id:
          type: string
          description: Fiş ID'si.
          format: uuid
        VoucherNumber:
          type:
            - 'null'
            - string
          description: Fiş numarası.
        Date:
          type:
            - 'null'
            - string
          description: Fiş tarihi.
          format: date-time
        Description:
          type:
            - 'null'
            - string
          description: Açıklama.
        SharingCode:
          type:
            - 'null'
            - string
          description: Fişi kimlerin görebileceğini sınırlayan paylaşım kodu.
        SharingCodeId:
          type:
            - 'null'
            - string
          description: Paylaşım kodu ID'si.
          format: uuid
        TotalDebit:
          type: number
          description: Toplam borç (satırların Debit toplamı).
          format: double
        TotalCredit:
          type: number
          description: Toplam alacak (satırların Credit toplamı).
          format: double
        ExchangeRate:
          type: number
          description: >-
            Satırların ağırlıklı ortalama kur değeri: toplam(SatırTutarı x
            ExchangeRate) / toplam(SatırTutarı); SatırTutarı, Debit +
            Credit'tir.
          format: double
        IsPosted:
          type: boolean
          description: >-
            Fişin muhasebeye işlenip işlenmediği. Muhasebeleşmiş bir fiş
            güncellenemez ya da silinemez.
        CreateDate:
          type:
            - 'null'
            - string
          format: date-time
        ModifyDate:
          type:
            - 'null'
            - string
          format: date-time
        Lines:
          type: array
          items:
            $ref: '#/components/schemas/BankJournalVoucherLineDto'
          description: Satırlar, satır sırasıyla.
      description: Response data. Null when Success is false.
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Hata kodu. Tam liste için sonuç kodları sayfasına bakın.
        Message:
          type: string
          description: Hata açıklaması.
    BankJournalVoucherLineDto:
      type: object
      properties:
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Banka hesabının döviz kodu.
        BankAccountId:
          type:
            - 'null'
            - string
          format: uuid
        CurrencyId:
          type:
            - 'null'
            - string
          format: uuid
        BankAccountCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Banka hesabı adı (GET /api/v1/finance/bank-accounts'tan
            Name). Satırın dövizi bu hesabın kendi dövizidir.
          example: TEST POS
        Debit:
          type: number
          description: >-
            Borç tutarı, banka hesabının kendi dövizinde. Debit/Credit'ten tam
            olarak biri 0'dan büyük olmalı, diğeri 0 olmalıdır.
          format: double
          example: 0
        Credit:
          type: number
          description: >-
            Alacak tutarı, banka hesabının kendi dövizinde. Debit/Credit'ten tam
            olarak biri 0'dan büyük olmalı, diğeri 0 olmalıdır.
          format: double
          example: 500
        ExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Banka hesabının dövizinin şirketin varsayılan dövizine karşı kur
            değeri. Yalnızca banka hesabının dövizi varsayılan dövizden
            farklıysa zorunludur (ve 0'dan büyük olmalıdır); aksi halde 1 kabul
            edilir.
          format: double
          example: 1
        Description:
          type:
            - 'null'
            - string
          description: Açıklama. En fazla 255 karakter.
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````