[Kmymoney-devel] Questions about KMyMoney
ostroffjh at sbcglobal.net
Thu Apr 19 15:37:42 UTC 2012
On 2012.04.19 09:20, Marek Laane wrote:
> 2012/4/19 Thomas Baumgart <thb at net-bembel.de>
> > On Wednesday 18 April 2012 19:02:03 Marek Laane wrote:
> > > > 2: There was a bunch of strings "shares set to value in split
> > > >
> > > >>> transaction" or "value set to shares in split of transaction"
> and so
> > > >>> on. What does that exactly mean? What is set to what? Share
> > > >>> here like stock but rather like a part, is it?
> > > >>>
> > > >>>
> > > >>>
> > > >>> It looks like these are all within the consistency check.
> There are
> > > >>> comments in the code referring to currency, so this may refer
> > > >>> cases
> > > >>> where there is a currency conversion, and the two values
> should be
> > > >>> the same if they are in the same currency. I know that
> > > >>> really help with the definition - but I think the "value" is
> > > >>> value of that split of the transaction, and "shares" is either
> > > >>> really a number of shares of an investment, or else just the
> > > >>> on the other side of the currency conversion. I would have to
> > > >>> understand the code better to be sure.>>
> > > >> So you think "shares" are real shares as stock? Not shares as
> part of
> > > >> something? It was my first reaction, too, but the syntax made
> > > >> doubt...>
> > > > I am not completely certain, but it is part of an error message
> > > > the consistency check, so it would still lead the user to look
> to the
> > > > correct transaction for the problem.
> > >
> > > OK, let's wait to step forward somebody with deep knowledge :-)
> > Sounds like you're calling me ;)
> > Since we support multi-currency we have two numbers for each split
> in a
> > transaction: the number of 'shares' and it's value. They are
> related such:
> > value = price * shares
>> The number of shares is always kept in the currency of the account
>> this split references whereas the value is always kept in the
>> currency assigned to the transaction. So in case the currency for
>> account and transaction are identical, 'value' and 'share' are
>> identical since the price is 1.
>> The messages you translate are caused by a consistency check. The
>> comment says:
> > // make sure, that shares and value have the same number if
> > // represent the same currency.
>> In case the sum of all values of all splits in a transaction is zero
>> (the transaction is balanced) the amount of shares is adjusted, if
>> it is not, the value is adjusted.
>> A second instance of those messages pop up where they deal with
>> scheduled transactions.
>> They should not pop up nowadays anymore since the application does
>> not create 'invalid' splits anymore. They could still arise when you
>> import from other sources though.
>> I hope that gives enough information for you to continue your very
>> welcome and appreciated work.
> > --
> Well, great thanks for thorough explanation! That was I suspected but
> was not sure at all I do understand correctly. I just want to ask
> once more: so "shares" here are shares as stock you can trade, not
> shares as part of something? Because in Estonian there isn't possible
> to use same word for both of them
Given Thomas' explanation, they are not shares of stock, but not really
"part" of anything. It is just a term used in KMM to describe how it
handles multiple currencies. The "value" of a split of a transaction
is the amount in the currency of the transaction. The "shares" is the
same amount, but in the currency of the account of the transaction.
This term was probably chosen because the "value = price * shares" is
the same equation used for shares of stock. In this case the "price"
is the currency conversion rate. It is using a word to describe
something that does not really have a single word to describe it. It
exists only because of the need to deal with multiple currencies.
One thing this tells me I should expand the section in the manual on
currency conversion to mention that transactions in an account that
uses a different currency from the base currency are describe with the
terms share and value (as Thomas explained above). I think the main
problem here is that the user will never see these terms, unless the
consistency check finds a problem. Also, as Thomas said, that should
never happen now except possibly if there is a problem with some
Finally, at least from my perspective, this means that you actually
have some flexibility in the translation. It doesn't really matter
whether you use the word for shares of stock or parts of a thing - as
long as the user can tell it refers to problems with the internal data
of a transaction. (I think even an English speaking user might be
confused about seeing the term "share" in this context, but without
using a much longer string for the message, I don't see any better way.)
More information about the KMyMoney-devel