https://bugs.kde.org/show_bug.cgi?id=345655
Bug ID: 345655 Summary: Rounding problems between checking and investment account Product: kmymoney4 Version: 4.7.1 Platform: openSUSE RPMs OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general Assignee: kmymoney-devel@kde.org Reporter: romain....@laposte.net [A] If you sell shares which have a precision of eg 1/10000 towards a checking account where precision is 1/100 and repeat this operation several times. You finally get a total in the checking account that does not fit the sum of all operations. [B] You also have an error message when saving your file : "Consistency check result : shares set to value in split of transaction..."1. Create a new file containing a checking account (check_acc) and an investment account (invest_acc) 2. Create an investment (invest_share) 3. Add eg 100 shares of (invest_share) in (invest_acc) 4. Sell 12 shares of (invest_share) towards(check_acc) value=1,5270 [C] Moreover, if you edit the transaction in the checking account, you get a window saying : "The total amount of this transaction is (eg) 15,12 while the sum of the splits is 15,12. The remaining 0,00 are unassigned..." [D] Finally, selling shares without paying fees creates a transfer transaction in the checking account, but if you pay fees, this creates a deposit transaction. Reproducible: Always Steps to Reproduce: 1. Create a new file containing a checking account {check_acc} and an investment account {invest_acc} 2. Create an investment {invest_share} 3. Add eg 100 shares of {invest_share} in {invest_acc} 4. Sell 12 shares of {invest_share} towards {check_acc} (value=1,5120, fee amount=1,00) 5. Save you file. You should get message box described in [B] 6. Sell 15 shares of {invest_share} towards {check_acc} (value=1,5269, no fee) 7. Sell 15 shares of {invest_share} towards {check_acc} (value=1,5269, no fee) 8. Save your file, you get [B] again 9. Open and watch ledgers for {check_acc} 10. There is a Deposit transaction with amount=17,14 and 2 Transfer transactions with amount=22,90, like said in [D] 11. You should receive a bank statement containing 17,14 + 22,90 + 2,90 = 62,94, but balance is 62,95 in kmymoney. Thus reconciliation won't work, as said in [A]. 12. Now try to reconcile with a final balance of 62,95, like it appears in kmymoney. Clear the 3 transactions to have a difference of 0,00 and click on Finish. Kmymoney says there is a difference between the bank statement and the transactions marked as cleared ! 13. Double clock the "Deposit invest" and simply click on the Enter button. There is now an error because of a missing assignment of 0,00... Actual Results: I can't reconcile my account anymore without an error message. Expected Results: Rounding values should be used in the checking account (precision of 1/100) When creating the sell transaction in the investment account, why not adding a split field with a category of eg "Rounding error", which contains the difference between the rounded value and the exact value. It could use the 1/10000 precision. This way, no money would be lost in space and there would not be problems between accounts with different precisions. It could be edited by the user in case his bank doesn't have the same rounding rules as kmymoney's ones. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ KMyMoney-devel mailing list KMyMoney-devel@kde.org https://mail.kde.org/mailman/listinfo/kmymoney-devel