Multi-currency transactions with trading accounts from 2.4.13 getting messed up in latest 2.6.3
Mark
msalists at gmx.net
Sun Jun 22 16:15:17 EDT 2014
I think I figured out what is happening (not why, and also no fix for
it, though):
For some reason, when I created the multi-currency transactions in
2.4.13, GnuCash did not create any exchange rate record in the prices
repository. This shouldn't be a problem, since the exchange rate is
implicitly stored in the split lines of the transaction.
And so, GnuCash 2.4.13 is fine with this.
For some reason, version 2.6.3 is misbehaving when it finds transactions
without a matching exchange rate.
Instead of just not touching the transaction and its split lines, it
assumes an exchange rate of 1 and then based on that exchange rate,
modifies one of the 2 trading account split amounts (this is the crucial
thing which definitely must NOT happen), thus imbalancing (and
essentially corrupting) the transaction. This is not happening in the
file, but in memory.
And because it just imbalanced the transaction by messing with the
Trading account split amount, it adds the Imbalance split line to
compensate.
When I try to fix the error by reverting the 4 lines back to their
original amounts and removing the Imbalance split line, as soon as I try
to save the transaction, it once again tries to pull the exchange rate,
does not find it and kicks off the previously described corrupting
mechanism.
The only way to fix the corrupted transactions is to use "Edit exchange
rate" on the transaction, which can not be regarded as a fix for this
bug, though.
I also documented this in my bug submission.
I wonder if there are other circumstances, in which existing transations
are modified in the background without the user knowing...
Fortunately, this one was pretty obvious, so that I stumbled over it
right away, but others might b more subtle...
Mark
More information about the gnucash-user
mailing list