## Currencies values

something_new
Registered Member
Posts
52
Karma
0
OS

### Currencies values

Thu Dec 07, 2017 11:06 pm
I found a strange behavior in Skrooge with operations done with accounts that have different currencies. Why doesn't Skrooge take the value of a currency at the date of a transaction?

Example

https://imgur.com/a/ggRaH

I received a payment in dollars on my US paypal account of \$1455.4
I sent the same amount a month later but in euros, €-1.065.85 (~ \$1455.4 * 0.73)

When I run a report on these transactions on Kmymoney, the sum is equal to zero. Since Skrooge takes the amount in \$ from 2014 and converts it to € at today's rate (\$1455.4*0.85 instead of * 0.73), the yellow payee (Paypal US) is ~\$2469 instead of ~\$2130

*edit correct link
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Fri Dec 08, 2017 11:23 am
something_new wrote:I found a strange behavior in Skrooge with operations done with accounts that have different currencies. Why doesn't Skrooge take the value of a currency at the date of a transaction?

Example

https://imgur.com/a/ggRaH

I received a payment in dollars on my US paypal account of \$1455.4
I sent the same amount a month later but in euros, €-1.065.85 (~ \$1455.4 * 0.73)

Your paypal account is in \$.
You shouldn't create operation in €.
If you buy something in €. In fact, your operation is done in \$ based on the rate of the date (0.73). So, you should enter the \$.
Normally, when you enter an amount in € in an account in \$, you should have a warning panel to decide if:
- you really want to enter the amount in €. This is the option you took.
- you prefer to enter the amount in \$ based on the today rate. You should choose this option.
something_new wrote:When I run a report on these transactions on Kmymoney, the sum is equal to zero. Since Skrooge takes the amount in \$ from 2014 and converts it to € at today's rate (\$1455.4*0.85 instead of * 0.73), the yellow payee (Paypal US) is ~\$2469 instead of ~\$2130

*edit correct link

If you apply my advice, you should have the expected behavior.

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Fri Dec 08, 2017 11:07 pm
I might have not explained myself correctly. I understand what you say but, in my case, the euro payment was done on my current account, which is in Euros

(Approximate values)
For context, let's assume I got the \$\$\$ for a friend that doesn't have a \$ account, so I had to pay him back in €
• 21/7/2014, US paypal, +\$1,455, tracker "camera"
• 21/7/2014, \$ to € is 0.73, \$1,455 = €1,065
• 21/8/2014, Current € Acc, -€1,065, tracker "camera", payment to my friend from the money I got, which is his

On 21/8/2014, I've settled my debt with my friend. Tracker "camera" shows zero.

Now, if today, I go on and change the exchange rate to an absurd value 1\$=50€, the tracker "camera" changes accordingly. I argue it shouldn't change because the price of \$1.4K was approximately €1K back in 2014.

*edit, here's the proof
https://imgur.com/a/kZtWn
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Sat Dec 09, 2017 2:11 pm
Hi

If I well understood:
1- You created an operation \$1455 in an account in "\$" tracked by "camera"
2- You created an operation -€1065, in an account in "€" tracked by "camera"
==> The tracker is at 0 because because \$1455=€1065.

Some days later the rate of the \$ changes.
==> The tracker is no more at 0.

My point of view:
This is normal. In Skrooge all computation is done on the last value of operations.

My advice:
Trackers are made to help you get your money back. Once the refund is made, you must close the tracker, so even if its value changes, you won't see it.

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Sun Dec 10, 2017 1:19 pm
smankowski wrote:Hi

If I well understood:
1- You created an operation \$1455 in an account in "\$" tracked by "camera"
2- You created an operation -€1065, in an account in "€" tracked by "camera"
==> The tracker is at 0 because because \$1455=€1065.

Some days later the rate of the \$ changes.
==> The tracker is no more at 0.

Correct

My point of view:
This is normal. In Skrooge all computation is done on the last value of operations.

I wouldn't say normal, but an implementation choice If you ask how much \$100 were in euros back in 2000, you get the rate then, not the value of those \$100 now. Both are interesting to know, but it's two different questions.

Is ti something you could consider to implement in Skrooge, an option for the calculation to be based on the transaction date rate, instead of the latest one?

thanks
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Sun Dec 10, 2017 10:07 pm
something_new wrote:
smankowski wrote:Is ti something you could consider to implement in Skrooge, an option for the calculation to be based on the transaction date rate, instead of the latest one?

For many reasons, I think that this is not a good idea:
1- Example:
The 21 Mach 2011, you bought 1 bitcoin for 0.84\$.
So, you have 2 operations:
op1: 2011/03/21 -0.84\$
op2: 2011/03/21 +1 BTC (=+0.84\$)

If operations amounts are computed based on the date of the operation, you have 0\$ (0.84-0.84=0).
If operations amounts are computed on today, you have more than 14000\$ (14199.52-0.84).

This is not exactly the same, the second option is more realistic.

2- This will be very difficult to understand your accounts

3- This is technically much more complex to compute and will have a huge impact on performances

Regards.

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Sat Dec 16, 2017 6:48 pm
These are two different things. One is the transaction amount and the other is the account balance. The first doesn't change, the second does.

The cost of the transaction of 011/03/21 +1 BTC (=+0.84\$) it will always be \$0.84, it's immutable. I agree that now you'd have \$14,000 but that's the balance in USD.
But when I look back at the price of that 1BTC (assuming I paid a debt to a buddy) Skrooge will say I paid him \$14,000, which is not true

The same way, the bank will not change the transaction statement of operations that I performed with my € CC in the US. In jan 2017 I bought something for \$399 and they charged me €380 - it won't change. Sure, if I had \$399 in cash or in US account, it would be worth €335, but what I paid remains
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Sat Dec 16, 2017 8:29 pm
something_new wrote:These are two different things. One is the transaction amount and the other is the account balance. The first doesn't change, the second does.

The cost of the transaction of 011/03/21 +1 BTC (=+0.84\$) it will always be \$0.84, it's immutable.
You are right. This is the operation op1.
something_new wrote:I agree that now you'd have \$14,000 but that's the balance in USD.
This is the op2.
something_new wrote:But when I look back at the price of that 1BTC (assuming I paid a debt to a buddy) Skrooge will say I paid him \$14,000, which is not true
Wrong! If you look the op2, you will 1BTC=14000\$ and if you double click on op1 you will see -0,84\$ the payment for 1BTC.
something_new wrote:
The same way, the bank will not change the transaction statement of operations that I performed with my € CC in the US. In jan 2017 I bought something for \$399 and they charged me €380 - it won't change. Sure, if I had \$399 in cash or in US account, it would be worth €335, but what I paid remains

You are right. This is exactly the case with skrooge.
The problem in your case is that you put in the same tracker some operations in € and some operations in €. Due to change rates, the sum can change. Normal 1\$ +1€ is not alway equal to the same value in \$ (or €).

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Sun Dec 17, 2017 8:56 am
smankowski wrote:something_new wrote:
But when I look back at the price of that 1BTC (assuming I paid a debt to a buddy) Skrooge will say I paid him \$14,000, which is not true

Wrong! If you look the op2, you will 1BTC=14000\$ and if you double click on op1 you will see -0,84\$ the payment for 1BTC.

Ok, with this in mind, how do I make a report in Skrooge to know I settled my account with my buddy? Hypothetical example (€ ⟷ \$)

Jan 2017 (1\$ = 0.5€)
• I receive \$1,000 for his camera on my Paypal \$ account
• I paid him €500 through my € account
• Account is settled

Feb 2017 (\$1 = €1)
• I receive \$1,000 for his TV in my Paypal \$ account
• There is an open amount

In Feb, I want to run a report to show the amounts paid & received, including open amounts. In KMyMoney, where reports are also converted to base currency, it would show that in Jan the account is settled (\$1,000 into € at Jan's rate = €500, plus the €500 i paid) and in Feb I owe €1,000 (\$1,000 into € at Feb's rate)
I do this report by adding the same tag (equal to trackers in skrooge) to all three transactions.

More, if in March the rate changes to 1\$ = 2€, the same report in KMyMoney would still say that Jan is settled but, since I haven't paid the Feb debt, the open amount is now €2,000. This reflects the truth

As far as I can see, in Skrooge, the same report would say that I still owe him €1,500 in Feb and in March €3,500 because it calculates the Jan transaction using today's exchange rate
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Sun Dec 17, 2017 12:22 pm
I understand your trouble.
But what will be the result in KMyMoney if:

01 Jan 2017 (1\$ = 0.5€)
• I receive \$1,000 for his camera on my Paypal \$ account
• I paid him €500 through my € account
• Account is settled

10 Jan 2017 (\$1 = €1)

I think that you will have a report saying that the account is not settled.
The main difficulty in reports is how to sum operations not in the same units?
• If we use the amount of the unit at the date of the operation:
• Impossible to compare amounts over the dates ==> Impossible to build an history
• Impossible to group operations 1\$ of the 01 Jan 2017 + 1\$ of the 10 Jan 2017 is not equal to 2\$ whatever the date
• If we use the amount of the unit at the date of the last day of the date of the operation:
• Impossible to compare amounts over the dates ==> Impossible to build an history
• Impossible to group operations 1\$ of the 01 Jan 2017 + 1\$ of the 10 Jan 2017 is not equal to 2\$ whatever the date
• Possible to build monthly report
• If we use the amount of the unit at the current date:
• Amounts can be compare => we can build an history even if the past can be modified due to the new amounts
• Amounts can be grouped and sumed
That's why we chose this last option.

One exception is for "Monthly Reports". Indeed, in "Monthly Reports", you can read that:
* All amounts are calculated using the unit rates of the last day of the corresponding period.

So, monthly reports should be your solution.
Regards.

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Mon Dec 18, 2017 9:52 pm
In the example below, I created a temp file in KM with an initial exchange rate of \$1=2€, in 2017/01

In feb, the rate changes to \$1=0.1€

Screenshots
https://imgur.com/a/Iysbw

KMymoney temp file
https://file.io/6JIOWp
smankowski
Moderator
Posts
854
Karma
7
OS

### Re: Currencies values

Mon Dec 18, 2017 10:04 pm
Hi,

Your "KMymoney temp file" is not available (code 404).
In your example, you changed the rate in February, so there is no issue to do sums in January.
But, how to do if rates are changing in January like in my example?

Did you try the "Monthy Report" (because they are computed based on rates at the last day of the month)?

Skrooge, a personal finances manager powered by KDE
something_new
Registered Member
Posts
52
Karma
0
OS

### Re: Currencies values

Fri Dec 22, 2017 6:46 pm
I'll have a look at the monthly report to see if it helps

## Who is online

Registered users: Baidu [Spider], Bing [Bot], daret, Exabot [Bot], Google [Bot], gui-m, j1nz6, knutter, mcoudert, Sogou [Bot], Steven, usserr, Yahoo [Bot], Zeikcied