> ## 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 havale fişini güncelle

> Fişin tüm alanlarını ve satırlarını değiştirir.

Tek tek alan değiştirecekseniz [kısmi güncellemeyi](/tr/v1/guides/partial-update) kullanın: `PATCH` yalnızca gönderdiğiniz alanları değiştirir.
`TransferType` değiştirilemez, `VoucherNumber` `"Next"` olamaz. Muhasebeleşmiş bir fiş güncellenemez. Satırların güncellemedeki kimliği ve kapatılmış hareket kilidi için [genel bakış](/tr/v1/finance/bank-transfers/overview) sayfasına bakın.

## 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`) |
| `8100` | 404  | Banka havale fişi bulunamadı                                                                                                                                 |
| `8101` | 400  | `TransferType` 1 (gelen) ya da 2 (giden) olmalı                                                                                                              |
| `8102` | 400  | `VoucherNumber` zorunlu                                                                                                                                      |
| `8103` | 400  | `VoucherNumber` şirkette (banka fişi tipleri arasında) kullanılıyor                                                                                          |
| `8104` | 400  | `VoucherNumber` güncellemede "Next" olamaz                                                                                                                   |
| `8105` | 400  | `Date` zorunlu                                                                                                                                               |
| `8106` | 400  | `BankAccountCode` zorunlu                                                                                                                                    |
| `8107` | 400  | `BankAccountCode` bulunamadı                                                                                                                                 |
| `8108` | 400  | En az bir satır zorunlu                                                                                                                                      |
| `8109` | 400  | Fiş muhasebeleştiği için güncellenemez ya da silinemez                                                                                                       |
| `8110` | 400  | `SharingCode` kullanıcının paylaşım kodlarından biri değil                                                                                                   |
| `8111` | 400  | `TransferType` fiş oluşturulduktan sonra değiştirilemez                                                                                                      |
| `8200` | 400  | Satırda `CustomerCode` zorunlu                                                                                                                               |
| `8201` | 400  | Satırda cari bulunamadı                                                                                                                                      |
| `8202` | 400  | Satırda `Amount` 0'dan büyük olmalı                                                                                                                          |
| `8203` | 400  | Satırda `ExchangeRate` (ya da `CustomerExchangeRate`) zorunlu ve 0'dan büyük olmalı                                                                          |
| `8204` | 400  | Satırda `CustomerCurrencyCode` bulunamadı                                                                                                                    |
| `8205` | 400  | Satırda `CustomerAmount x CustomerExchangeRate`, `Amount x ExchangeRate`'e eşit değil                                                                        |
| `8206` | 400  | Satırda `CustomerAmount` ve `CustomerCurrencyCode` birlikte gönderilmeli                                                                                     |
| `8207` | 400  | Satırın cari hareketi kapatılmış, işlem iptal edildi                                                                                                         |
| `8208` | 400  | Satırın cari hareketi için ödeme planı oluşturulmuş, işlem iptal edildi                                                                                      |


## OpenAPI

````yaml api-reference/openapi.tr.json PUT /api/v1/finance/bank-transfers/{bankTransferId}
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-transfers/{bankTransferId}:
    put:
      tags:
        - Bank Transfers
      summary: Banka havale fişini güncelle
      description: >-
        Fişin tüm alanlarını ve satırlarını değiştirir: satırların gönderildiği
        sıra kimliklerini belirler (mevcut bir satırla aynı sırada gönderilen
        satır o satır kabul edilir), daha kısa bir liste sondaki satırları
        kaldırır, daha uzun bir liste sona yeni satırlar ekler. TransferType
        değiştirilemez ve VoucherNumber "Next" olamaz. Muhasebeleşmiş (zaten
        muhasebeye gönderilmiş) bir fiş güncellenemez. Cari hareketi bir
        tahsilat/ödeme ile zaten kapatılmış ya da bir ödeme planı olan bir
        satırın carisini, tutarını, dövizini ya da kurunu değiştirmek
        reddedilir.
      parameters:
        - name: bankTransferId
          in: path
          description: Banka havale fişi ID'si.
          required: true
          schema:
            type: string
            format: uuid
        - 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/BankTransferRequestDto'
          text/json:
            schema:
              $ref: '#/components/schemas/BankTransferRequestDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/BankTransferRequestDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfBankTransferDetailDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '8109'
                Message: >-
                  The bank voucher has been posted to accounting and can no
                  longer be updated.
                Errors:
                  - Code: '8109'
                    Message: >-
                      The bank voucher has been posted to accounting and can no
                      longer be updated.
        '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.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '8100'
                Message: Bank transfer not found.
                Errors:
                  - Code: '8100'
                    Message: Bank transfer not found.
        '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:
    BankTransferRequestDto:
      type: object
      properties:
        TransferType:
          type: integer
          description: >-
            Zorunlu. 1: Gelen havale (Gelen EFT/Havale), 2: Giden havale (Giden
            EFT/Havale). Fiş oluşturulduktan sonra değiştirilemez.
          format: int32
          example: 1
        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'
        BankAccountCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Banka hesabı adı (GET /api/v1/finance/bank-accounts'tan
            Name). Fişteki bütün satırlar bu hesaba yazılır.
          example: TEST POS
        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/BankTransferLineRequestDto'
          description: Zorunlu, en az bir satır.
    DataResultOfBankTransferDetailDto:
      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/BankTransferDetailDto'
    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.
    BankTransferLineRequestDto:
      type: object
      properties:
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Cari kodu (GET /api/v1/customers'taki carinin CustomerCode
            değeri).
          example: C-0001
        Amount:
          type: number
          description: >-
            Zorunlu. Banka hesabının kendi dövizinde tutar. 0'dan büyük
            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.
        CustomerAmount:
          type:
            - 'null'
            - number
          description: >-
            Carinin kendi hesabına yazılan tutarı değiştirir
            (CustomerCurrencyCode ve CustomerExchangeRate ile birlikte
            gönderilir, ya da cari hareketin banka hareketiyle aynı
            tutar/döviz/kurda yazılması için üçü de boş bırakılır).
            CustomerAmount ile CustomerExchangeRate çarpımı, Amount ile
            ExchangeRate çarpımına eşit olmalıdır.
          format: double
        CustomerCurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Cari hareket farkı için döviz kodu (GET
            /api/v1/definitions/currencies'ten). CustomerAmount ve
            CustomerExchangeRate ile birlikte gönderilir.
        CustomerExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Cari hareket farkı için kur değeri. CustomerCurrencyCode şirketin
            varsayılan dövizinden farklıysa zorunludur (ve 0'dan büyük
            olmalıdır).
          format: double
    BankTransferDetailDto:
      type: object
      properties:
        Id:
          type: string
          description: Banka havale fişi ID'si.
          format: uuid
        TransferType:
          type: integer
          description: >-
            1: Gelen havale (Gelen EFT/Havale), 2: Giden havale (Giden
            EFT/Havale).
          format: int32
          example: 1
        VoucherNumber:
          type:
            - 'null'
            - string
          description: Fiş numarası.
          example: 5466CACC0016
        Date:
          type:
            - 'null'
            - string
          description: Fiş tarihi.
          format: date-time
        BankAccountCode:
          type:
            - 'null'
            - string
          description: Banka hesabı adı.
          example: TEST POS
        BankAccountId:
          type:
            - 'null'
            - string
          description: Banka hesabı ID'si.
          format: uuid
        CurrencyCode:
          type:
            - 'null'
            - string
          description: Banka hesabının (ve her satırın Amount alanının) döviz kodu.
        CurrencyId:
          type:
            - 'null'
            - string
          description: Banka hesabının döviz ID'si.
          format: uuid
        ExchangeRate:
          type: number
          description: >-
            Satırların ağırlıklı ortalama kur değeri: toplam(Amount x
            ExchangeRate) / toplam(Amount).
          format: double
        Amount:
          type: number
          description: Toplam tutar (satırların Amount toplamı).
          format: double
        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
        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/BankTransferLineDto'
          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ı.
    BankTransferLineDto:
      type: object
      properties:
        CustomerName:
          type:
            - 'null'
            - string
          description: Cari adı.
        CustomerId:
          type:
            - 'null'
            - string
          format: uuid
        CustomerCurrencyId:
          type:
            - 'null'
            - string
          format: uuid
        CustomerCode:
          type:
            - 'null'
            - string
          description: >-
            Zorunlu. Cari kodu (GET /api/v1/customers'taki carinin CustomerCode
            değeri).
          example: C-0001
        Amount:
          type: number
          description: >-
            Zorunlu. Banka hesabının kendi dövizinde tutar. 0'dan büyük
            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.
        CustomerAmount:
          type:
            - 'null'
            - number
          description: >-
            Carinin kendi hesabına yazılan tutarı değiştirir
            (CustomerCurrencyCode ve CustomerExchangeRate ile birlikte
            gönderilir, ya da cari hareketin banka hareketiyle aynı
            tutar/döviz/kurda yazılması için üçü de boş bırakılır).
            CustomerAmount ile CustomerExchangeRate çarpımı, Amount ile
            ExchangeRate çarpımına eşit olmalıdır.
          format: double
        CustomerCurrencyCode:
          type:
            - 'null'
            - string
          description: >-
            Cari hareket farkı için döviz kodu (GET
            /api/v1/definitions/currencies'ten). CustomerAmount ve
            CustomerExchangeRate ile birlikte gönderilir.
        CustomerExchangeRate:
          type:
            - 'null'
            - number
          description: >-
            Cari hareket farkı için kur değeri. CustomerCurrencyCode şirketin
            varsayılan dövizinden farklıysa zorunludur (ve 0'dan büyük
            olmalıdır).
          format: double
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````