Bug 418334

Summary: Request: Use latest values to fill in transaction
Product: [Applications] kmymoney Reporter: Michael Eager <eager>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: normal CC: me
Priority: NOR    
Version: 5.0.7   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 5.1.0
Sentry Crash Report:

Description Michael Eager 2020-02-29 19:17:34 UTC
SUMMARY
When entering a new transaction, entering the Receiver name brings up a list of past Receivers with similar names.  If one is selected, the new transaction is initialized with values for category, price, and maybe others, from a memorized past transaction.  This makes it easy to enter a repeating transaction.

The data used to initialize values appears to come from the oldest transaction to the Receiver.  When there are changes to a repeated transaction, say an increase in payment on a repeated bill, this means that this field needs to be updated each time a new transaction for  is entered.  It would be better and more user-friendly, to use information from the most recent transaction to a payer.

STEPS TO REPRODUCE
1. Open a ledger which has existing entries.
2. Add a new transaction to a past Receiver, changing one of the fields.
3. Add a new transaction to the same Receiver.

OBSERVED RESULT
Oldest transaction is used to set defaults in a memorized transaction.

DESIRED RESULT
Newest transaction is used to set defaults in a memorized transaction.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: Fedora 31
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Thomas Baumgart 2020-02-29 23:38:17 UTC
What is the setting of your autofill option? Can you check if the problem persits with version 5.0.8? Use the AppImage version if you don't have access to a newer version.
Comment 2 Michael Eager 2020-03-01 00:37:38 UTC
Autofill: "With previously most often used transaction for the payee".

Best case, this means that a different amount will have to be entered overriding the autofilled amount the same number of times as the previous amount.  But this doesn't seem to be happening.  If I have a bill or payment which I enter, it is the first value which is used to prefill the amount field, not the value from the subsequent several transactions.

I'll try 5.0.8, but it may be a couple days.
Comment 3 Michael Eager 2020-03-14 23:21:41 UTC
I can verify that this happens with the 5.0.8 Appimage.
Comment 4 Thomas Baumgart 2020-03-19 20:15:34 UTC
Git commit 029de47016d17a9d6d01a6a79f4a92bf8e7af97a by Thomas Baumgart.
Committed on 19/03/2020 at 20:15.
Pushed by tbaumgart into branch '5.0'.

Fix autofill to use latest transaction not earliest

The logic to auto fill a transaction with data from a previous
transaction to the same payee was using the first transaction when the
option "With previously most often used transaction for the payee" was
selected.

This change will instruct KMyMoney to use the latest transaction
instead.
FIXED-IN: 5.0.9

M  +1    -0    kmymoney/dialogs/stdtransactioneditor.cpp

https://commits.kde.org/kmymoney/029de47016d17a9d6d01a6a79f4a92bf8e7af97a