[GNC] Exchange rates and split transactions
Jim DeLaHunt
list+gnucash at jdlh.com
Fri Aug 22 01:00:02 EDT 2025
Hello, Guido, and welcome to Gnucash!
On 2025-08-18 05:23, Guido via gnucash-user wrote:
> Hi everyone,
>
> I have a bank subaccount in TRY under a parent account in EUR. When I
> record expenses in TRY, I use a split transaction, as each entry is 50%
> expense and 50% credit. For example:
>
> Expense: 34 TRY
> Credit: 34 TRY
> TRY account: -68 TRY
>
> When entering each positive amount, GnuCash (5.10 on Ubuntu) asks for
> either an exchange rate or the corresponding EUR amount. I choose to
> enter the EUR amounts. If the total EUR amount is uneven, the amounts
> naturally differ by 0.01 EUR, resulting in two slightly different
> exchange rates.
>
> For example, 68 TRY exchanged as 1.59 EUR would split as:
>
> Expense: 0.80 EUR
> Credit: 0.79 EUR
>
> The problem is that the last exchange rate entered seems to overwrite
> the rate for the first transaction, causing inconsistencies in the
> parent account. Instead of -1.59 EUR, I end up with -1.60 EUR or -1.58
> EUR depending on which exchange rate I enter last.
>
> Has anyone encountered this situation? Am I doing something wrong?
I use multiple currencies all the time in my book. I am using GnuCash
5.12 on macOS Sonoma 14.7.8. So, I am using a slightly newer version
than you, and I am using a different OS. But that should not matter for
this issue.
I must confess, I am not following your explanation completely. I do not
know what you mean by a "subaccount". I do not understand "50% expense
and 50% credit", because in double-entry bookkeeping, every transaction
must have debits and credits which add up to the same amounts.
Have you read through The GnuCash Tutorial and Guide[1], section 12.2.3.
Recording Purchases in a Foreign Currency?
There is one tricky detail of currency handling in GnuCash. It is
important to understand that
1. Every account has a currency
2. Every transaction has a base currency
3. The base currency is set by the currency of the account you use to
enter the transaction
4. For every split in a transaction, if the currency of the account is
not the same as the base currency of the transaction, GnuCash will
prompt you with a Transfer Funds dialogue to collect an exchange
rate between the split's account's currency and the transaction's
base currency, and
5. Different splits can have different transaction rates.
It sounds like you are entering a transaction within the TRY bank
subaccount, where both splits of the transaction are to accounts in the
TRY currency. But, are you using the register of that TRY bank
subaccount to enter the transaction? If not, that may explain your problem.
If you are using a different register to enter the TRY account, and the
different register belongs to an account having a EUR currency, then the
base currency of the transaction will be EUR. Every time you enter a
split to a TRY account in that transaction, GnuCash will prompt you to
enter a TRY-EUR exchange rate.
The solution may be to always enter such transactions from the register
of the TRY bank subaccount. Then the transaction's base currency will be
TRY, and GnuCash will not prompt you to enter an exchange rate.
Does this help? Best regards,
—Jim DeLaHunt
[1]
<https://gnucash.org/docs/v5/C/gnucash-guide//currency_manual.html#currency_purchase1.ol.2>
More information about the gnucash-user
mailing list