> ## 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.

# Bank Internal Transfer Vouchers

> Fields, balance requirement and exchange rate rules for the voucher that moves money between bank accounts.

A bank internal transfer (virman) voucher records money moving between bank accounts (for example, withdrawing from one account and depositing into another). Like a bank opening voucher, it **produces no customer movement**; only bank movement lines are written.

| Operation      | Endpoint                                                                                                            |
| -------------- | ------------------------------------------------------------------------------------------------------------------- |
| List           | [`GET /finance/bank-internal-transfers`](/en/v1/finance/bank-internal-transfers/list)                               |
| Get            | [`GET /finance/bank-internal-transfers/{bankInternalTransferId}`](/en/v1/finance/bank-internal-transfers/get)       |
| Create         | [`POST /finance/bank-internal-transfers`](/en/v1/finance/bank-internal-transfers/create)                            |
| Update         | [`PUT /finance/bank-internal-transfers/{bankInternalTransferId}`](/en/v1/finance/bank-internal-transfers/update)    |
| Partial update | [`PATCH /finance/bank-internal-transfers/{bankInternalTransferId}`](/en/v1/finance/bank-internal-transfers/patch)   |
| Delete         | [`DELETE /finance/bank-internal-transfers/{bankInternalTransferId}`](/en/v1/finance/bank-internal-transfers/delete) |

## Required fields

* `VoucherNumber`: unique in the company **across all bank voucher types**, at most 20 characters. Send `"Next"` to generate it from the same `"BANKAFİŞNO"` series used by [bank transfers](/en/v1/finance/bank-transfers/overview). Cannot be `"Next"` on update.
* `Date`: voucher date. If a time is sent it is stored as the voucher time, otherwise the current time is used.
* `Lines`: at least one line.

`Description` and `SharingCode` are optional; an empty `SharingCode` makes the voucher visible to everyone, otherwise it must be one of the user's [sharing codes](/en/v1/guides/sharing-codes).

## Lines

Same line shape as [bank openings](/en/v1/finance/bank-openings/overview): each line picks its own bank account.

* `BankAccountCode`: required, one of the company's [bank accounts](/en/v1/finance/bank-accounts/list). The line's currency is that account's own currency.
* `Debit`/`Credit`: exactly one must be greater than 0, the other must be `0`.
* `ExchangeRate`: required (and must be greater than 0) when the bank account's currency **differs** from the company's default currency; otherwise treated as `1` even if not sent.
* `Description`: optional, per-line description.

<Warning>
  **The total balance is required to match**: the lines' total `Debit` must equal their total `Credit` (`8508`), otherwise the request is rejected. This is the biggest difference from a bank opening voucher, where this equality is not required.
</Warning>

The voucher's `ExchangeRate` (in the response) is the amount-weighted average of the lines (`Debit + Credit` is a line's amount).

## Update

Since it produces no customer movement, lines are **fully replaced** on update: existing lines are removed and the lines in the request are saved (the balance requirement applies again).

## Posted voucher

When `IsPosted` is `true` (the voucher has been linked to an accounting entry) it **cannot be updated or deleted** (`8506`).
