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.
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. 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.
Lines
Same line shape as bank openings: each line picks its own bank account.
BankAccountCode: required, one of the company’s bank accounts. 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.
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.
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).