[GNC] Split Credit card transaction w/ two currencies

Jim DeLaHunt list+gnucash at jdlh.com
Sun Nov 13 20:48:50 EST 2022


Hello, Fred:

On 2022-11-12 14:04, Fred Tydeman wrote:
> ...I had a meal in Colombia with a friend.
> I paid for everything with a credit card,
> and the friend gave me pesos for their part.
>
> If I enter the two parts as two separate transactions,
> all is OK.  That is, when I enter the USD of the COP part,
> I get a popup asking for the exchange rate, which I enter
> and the correct amount is transferred to the COP account.
>
> In a credit card account, when I enter a split transaction
> that has part of the charge be in USD and the other part
> in COP (Colombia Pesos), I am getting bad results in the
> COP account.  While I get a popup asking about the
> exchange rate, the results are wrong in the COP account.
>
> The parts are:
> 26.63 Liabilities:Credit Cards:visa   == total charge
> 14.78 Expenses:meals     == mine
> 11.85 Assets:Investments:$colombia => 50,000 COP  == theirs
>
> There are 4219.41 COP per 1 USD on that date.
>
> Assets:Investments:$colombia is a Cash account with
> COP currency.
>
> My guess about the problem is: GnuCash in adding the
> splits for Trading:CURRENCY:USD and Trading:CURRENCY:COP
> has problems with a credit card transaction that has
> splits.

In my time with GnuCash, I have entered a lot of multi-currency credit 
card purchase transactions like this. I have not known GnuCash bugs to 
spoil the transaction. For instance, I have not known it to get the 
trading accounts arithmetic wrong. I have frequently known GnuCash's 
opaque handling of currencies and foreign exchange UI to make it hard to 
get the data entry right.

An important fact to know is that each transaction has a "base 
currency". GnuCash typically makes the base currency of the transaction 
be the currency of the account where you first enter the transaction. 
So, if you have your USD credit card register open, and you enter this 
dinner transaction, then the "base currency" of the transaction will be 
USD. Every split which is with an account having a different currency 
than the base currency has its own exchange rate, and will cause that 
foreign exchange dialogue to pop up independently.

Second, the amount to enter is confusing.  In the split representing the 
11.85 USD:50,000 COP exchange, it is important to enter the correct one 
of those two numbers in the register's split line, so that it appears in 
the correct place in the foreign exchange ("transfer") dialogue which 
pops up.  Which is correct? I don't remember, I usually get it wrong 20% 
of the time, and the GnuCash UI doesn't remind me. The foreign exchange 
dialogue does not let you recover if you enter the wrong one of the two 
numbers; you have to cancel out, go back to the split, and enter the 
other number.

So the way I navigate this difficult UI is: enter what I think is the 
correct number in the transaction's split (maybe 11.85 USD), let the 
foreign exchange dialogue appear, in the lower part of the dialogue 
enter the other cash amount (maybe 50,000 COP), then look just above 
that at the dialogue's calculated exchange rates. If the exchange rates 
are approximately right, I got the choice of numbers right. If the 
exchange rates are wildly wrong, then I got the choice of numbers backwards.

Remember, the foreign exchange dialogue is dealing only with the amounts 
for that part of the transaction, e.g. 11.85 USD:50,000 COP. The total 
transaction amount, 26.63 USD, has no place in that dialogue.

Disclaimer: I am writing all the above from memory, without having the 
GnuCash UI or documentation in front of me. Hopefully it is correct 
enough to be helpful, but I might be massively mistaken in how I am 
recalling some part of it. But I have entered a lot of transactions like 
this.

Best regards,

       —Jim DeLaHunt

P.S. I hope the meal was delicious, and the visit with the friend was 
satisfying! :-)




More information about the gnucash-user mailing list