Transactions| Double entry accounting multicurrency

Types of Multi-Currency Transactions

With the multi-currency accounting application, it is also possible to record transactions involving accounts in foreign currencies. In the Transactions table, in addition to transactions in the base currency, foreign currency transactions are also entered: all the transaction elements are specified, including the amount and the account in foreign currency, and the exchange rate applied to the transaction. The amount in the base currency is calculated automatically based on the entered exchange rate.

All amounts, both in base currency and foreign currency, must always be entered in the 'Amount' column.

For information regarding exchange rates, multipliers, and historical rates, refer to the page Exchange rates table.

various examples of transactions in multi-currency accounting

Note: in the transaction examples, the base currency is Euro.

Each transaction has two accounts (debit and credit). The program allows only one foreign currency per transaction row. The following direct combinations are possible:

  • Transaction between two base currency accounts with amount in base currency (in the image, transaction no. 1 in column Doc 1)
    The currency of both debit and credit accounts is the base currency.
  • Transaction between two base currency accounts with amount in foreign currency (Doc 2)
    The debit and credit accounts are in base currency, but the currency code (currency column) and amount entered in the transaction row are in a foreign currency.
    To enter the foreign currency, manually change the default base currency code.
    This is used when traveling abroad and exchanging money to pay in local currency. In this case, there is no specific account in the accounting.
    For balance calculation (as both are in base currency), only the base currency amount column is used.
  • Transaction between a foreign currency account and a base currency account (Doc 3)
    The currency must match the foreign currency account.
    To calculate the foreign currency account balance, the program uses the foreign currency amount, and for the base currency balance, it uses the base currency amount.
  • Transaction between two accounts with the same foreign currency (Doc 4)
    The currency must match the accounts used (USD1 and USD2). To update the exchange rate, position on the Currency cell and press F6.
  • Transaction with two accounts that have different foreign currencies (Doc 5)
    For example, the bank performs a currency exchange between two foreign currencies.
    In this case, the transaction must be entered in two rows (with the same date).
    The base currency amount must be identical. It's advisable to use a realistic exchange rate to avoid large exchange rate differences.
    To ensure that the base currency amounts on both rows are the same, manually enter the base currency amount and let the program calculate the exchange rate.
  • Exchange rate difference transactions (Doc 6)
    The purpose of this transaction is to realign the base currency balance with the foreign currency equivalent at the current exchange rate.
    Only the base currency amount related to the exchange difference is recorded on the account.
    These are automatically generated with the Calculate exchange rate differences command.
    • For exchange gains, the program automatically enters the revalued account as debit and the exchange gains account as credit, taken from File Properties, Basic Data, or from the account indicated in the Exchange differences column of the Other view (in the Accounts table) – defined for one or more specific accounts.
    • For losses, the program automatically enters the revalued account as credit and the exchange losses account as debit, taken from File Properties, Basic Data (menu File), or from the account indicated in the Exchange differences column of the Other view (defined for one or more specific accounts).
    • The foreign currency amount is left blank
    • The currency code is the base currency
    • In the base currency amount column, the revaluation amount (gain or loss) is indicated

Setting the Exchange Rate

The accountant decides which exchange rate to use for each transaction. Generally, the following rules apply:

  • For regular operations, use the exchange rate of the day.
  • For currency buying and selling operations, use the rates provided by the exchange office or the bank.
    In the program, first enter the amount in foreign currency and then the amount in base currency; the program will calculate the exchange rate. The rate provided by the bank may be slightly different as banks often round rates to a few decimal places.
  • If you carry out multiple transactions at the same rate, it is helpful to update the exchange rate in the Exchange Rates table so that the program can use it automatically.
  • For foreign operations subject to VAT, the national authority may prescribe a standard exchange rate. In this case, enter this rate in the Exchange Rate column of the transaction.
  • For the purchase of real estate or investments, use the historical exchange rate. In this case, you need to create a currency code (e.g. USD2) with the historical rate in the Exchange Rates table, which will not fluctuate.
    You can create currency codes for all desired historical rates.

Transactions with VAT

In a multi-currency accounting with VAT, to correctly record transactions without error messages, it is essential that the VAT account and the account from which VAT is deducted are in base currency. It is not possible to apply a VAT code to an account in foreign currency.

To record transactions with VAT that involve foreign currency accounts as counterparties, you must use two transaction rows:

  • First, record the purchase amount on an intermediate account in base currency and apply the appropriate VAT code.
    The base currency amount must be calculated using the exchange rate in accordance with tax authority regulations.
  • In a second row, clear the intermediate account and use the foreign currency account as the counterparty.
    The amount used for this transaction, both in base and foreign currency, must be net of VAT.
    You must use the same exchange rate as in the previous transaction.

In the example, the base currency is EUR. A domestic purchase is assumed, but payment is made from a foreign currency account (USD).

purchase with VAT not in base currency

Transactions with VAT and Foreign Currency

In transactions involving foreign currency accounts, VAT can be recorded using the gross amount (Amount Type 0, VAT included).
If net values are entered (Amount Type 1, VAT excluded), the program displays an error because calculating the gross value would often be incorrect due to rounding differences in VAT and exchange rate.
In these cases, it is recommended to enter the gross amount. See also Explanation about the error.

Automation During Entry of Multi-Currency Transactions

When entering a new transaction, the data in the previously mentioned columns must be completed.

If certain values in the transaction row are changed, the program completes the transaction with default values. If these values do not meet your needs, they must be modified directly in the transaction row.

Modifying the values in the Exchange Rates table has no effect on transactions already entered. So, if you change the exchange rate in the Exchange Rates table, it will not affect existing transactions.

  • When entering the foreign currency amount and either the Debit or Credit account is already filled, and there are no other values, the program behaves as follows:
    • the currency code is taken from the account used, giving priority to the non-base currency account;
    • the exchange rate is taken from the Exchange Rates table based on the following logic:
      • the historical rate with the date equal to or earlier than the transaction date is used
      • if no historical rate is found, the rate from the exchange rates row without a date is used
    • the multiplier defined in the Exchange Rates table is used, or 1 if it's the base currency.
    • the base currency amount is calculated.
  • When the foreign currency amount is modified (and other values already exist), the program:
    • recalculates the base currency amount using the existing exchange rate
  • If the currency code is modified, the program:
    • retrieves the exchange rate and multiplier and recalculates the base currency amount (as above).
  • If the exchange rate is modified, the program:
    • calculates the base currency amount using the entered exchange rate.
  • If the base currency amount is modified, the program:
    • recalculates the exchange rate.

Info Window

In the info window, the program shows:

  • Any differences between the total debit and total credit in base currency.
  • Information about using the F6 key.

For the accounts related to the transaction row you are on, the program always displays the following in the Info window:

  • account number
  • account description
  • transaction amount in base currency
  • current account balance in base currency
  • account currency code
  • transaction amount in account currency (if not in base currency)
  • current account balance in account currency (if not in base currency)
     

Opening Balance Transactions

For multi-currency accounting, when entering opening balances in the Accounts table, the program converts the amount into base currency using the opening exchange rate defined in the Exchange Rates table, Opening Exchange Rate column.
To use historical rates for opening balances, you can create another currency code or create entries in the Transactions table with the opening balances. This way, different exchange rates can be used for the accounts.

  • Enter a transaction for each account with an opening balance (Assets and Liabilities), indicating the start date of the accounting and the debit or credit account.
  • In the DocType column, enter the value "01" to indicate it is an opening balance.
    • In Banana Accounting's calculations and printouts, this amount will be treated as an opening balance.
    • However, the transaction does not update the opening balance column in the Accounts table.

Points to consider when using opening transactions:

  • To avoid revaluation of accounts at the current exchange rate, enter "0;0" in the Exchange Rate Difference Accounts column in the Accounts table for accounts that should not be revalued.
  • The program allows entering opening balances either in the Accounts table or as opening transactions (Assets and Liabilities) in the Transactions table.
    In both cases, the amounts are included in the calculations, and if it’s the same account, they are summed.
    It is not recommended to use both methods simultaneously to avoid errors and hard-to-find differences.
  • Opening transactions must be entered manually.
    Any debit and credit differences will be shown as a difference in the transactions.

Useful Tips

  • By pressing the F6 key while on the Amount column, the program rewrites all values using the logic explained above, as if no values existed. This function is useful when changing the Debit or Credit account.
  • If there is a transaction with a single base currency account (in compound transactions) and the Currency column has been changed to a foreign currency, to update the exchange rate, position on the Currency cell and press F6.
  • Smart fill for the Exchange Rates column
    The program suggests various rates, taking them from the Exchange Rates table or from rates previously used in transactions.

Importing Data from Previous Versions

In version 4 or earlier, the absence of a currency code in the Transactions table was interpreted as base currency.
In version 7, each transaction must have its own currency code. Therefore, when upgrading from version 4 to version 7, you must complete the transactions that lack a currency code. To do this, you need to add a new Currency column to the Transactions table by executing the Arrange Columns command from the Data menu.

汇率差

登记汇率差

对于理论方面,请访问重估和汇率差页面。

  • 汇兑差发生业务是使外币账户的余额与以账户的基准货币计算的余额相平衡的发生业务。从本质上讲,这是对基准货币价值的重估,任何收益或损失都是由于汇率波动造成的。
  • 如果未计算这些汇率差,当进入下一年度时,在期初余额中可能会有差异
  • 汇率差可以在会计期末时或在会计期间 (例如,在一个季度末) 进行计算。在这种情况下,历史汇率是很有用的,因为它们允许在特定日期使用的不同汇率。
  • 该程序根据指定日期的余额计算汇率差。
    因此,即使在指定日期之后输入了发生业务,也可以计算出某个日期的汇率差。
  • 有关更多说明,请参阅汇率差额未登记页面。

汇率差计算对话框

操作菜单 → 汇率变动更改设置命令,可以对外币账户进行重估计算。

为汇率变动创建业务

汇率差发生业务的日期

即使存在超过指定日期的发生业务,该程序也可以为汇率差创建发生业务。

  • 输入创建汇率差的日期。
    • 程序建议使用日期,即当前月份的结束日期,相对于最后输入的发生业务。
    • 如果存在同一日期的汇率差发生业务,程序会提示是否要替换它们。
      如果现有的汇率差发生业务具有相同的日期,记账凭证号,摘要,账户和货币,并且没有账户货币的金额,则程序会考虑现有的汇兑差发生业务。

记账凭证号

输入汇率差发生业务的记账凭证号 (将用于填写记账凭证列) 。

使用历史汇率 (带有日期的汇率行)

  • 使用未激活的历史汇率
    • 如果汇率表中没有历史汇率 (带有日期) ,则此选项无效。 
    • 使用的是无日期行的汇率表的汇率。
    • 如果使用历史汇率进行结算,请确保用于结算的历史汇率与当前汇率相同。
  • 使用已激活的历史汇率
    • 程序指出在汇率表中找到的汇率行的日期,该日期将用于计算汇率差额。
      这是汇率表的汇率,其日期等于或早于指示日期。
      这样,您可以了解指示日期是否有更改。
    • 对于会计结算时的汇率差,最好不要激活这个选项。
    • 在结账做汇率差发生业务时,所使用的历史汇率必须等于当前汇率,否则您会收到汇率差额未登记的信息,尽管它们已经被登记。

用于创建发生业务的值

有关更多信息,请参阅多币种发生业务页面。

发生业务的金额

  • 只有在指定日期基准货币余额与计算余额不同的外币账户,才会创建汇兑差发生业务。
  • 以基准货币计算的账户余额与换算为基准货币的外币账户余额之间的差额被作为基准货币金额。

账户余额

在指定日期的账户货币和基准货币余额被用来计算汇兑差。

汇率利润和汇率损失账户

在使用汇率利润和损失账户时,优先顺序为:

  1. 账户表的账户汇率差额列中指示的特定账户或指示该账户不计算任何汇兑差额的值。
  2. 文件和账户属性中显示的汇兑损益帐户 (多币种) 。

插入行的位置

如果在发出命令的时候在发生业务表中,则会将行插入到光标所处的位置。
否则,如果要替换现有发生业务,则将行插入到最后或前一位置。

使用命令前

  1. 确保在文件菜单的文件和账户属性中的外汇标签,标明汇率损益账户,以登记汇率差异。可以为外汇利润和损失指明同一个账户。
  2. 确保外币账户是最新的,并且这些账户的外币余额 (如银行账户) 与银行显示的余额一致。
  3. 更新汇率表中的当前汇率。
    您必须在汇率列中没有任何日期的行中注明结束汇率或期末汇率 (请勿更改期初汇率) 。
    实际上,为了计算汇率差,程序使用了不带日期行的汇率。如果没有不带日期的行,程序将报告一个错误。

汇率表

新年的期初汇率

为了使新年度以基准货币计算的期初余额与上一年度的期末余额完全一致,汇率表中显示的新年度的期初汇率必须与期末汇率相同,因此:

  • 期末汇率必须显示在不带日期行的汇率列中。
  • 期初汇率要被指示在初期汇率列的行中,并且不带日期。

创建新年度或恢复上一年度余额的过程,将上一年的期初汇率 (汇率列,不带日期的行) 复制到上一年的期末汇率 (汇率表,期初列,不带日期的行) 中。

与成本中心的汇率差

为汇率变动创建业务命令不包括成本中心中存在的除会计货币以外的任何汇率差。这些差异必须在年末时手工记录。发生业务必须只显示以会计货币表示的金额。首先说明这个金额,然后是有关的成本中心和成本中心的货币。输入货币后,账户中的外币金额将被删除,因此必须重新输入。