[Kmymoney-devel] Review Request 124115: BUG:349027 Fix transaction classed as a "transfer" instead of a "withdrawal".

aga agander93 at gmail.com
Wed Aug 26 13:58:10 UTC 2015

On 26/08/15 14:36, Thomas Baumgart wrote:
> Hi,
> On Wednesday 26 August 2015 10:56:00 Allan Anderson wrote:
>>> On June 17, 2015, 2 p.m., Thomas Baumgart wrote:
>>>> I doubt that this is the solution. I still don't see the problem:
>>>> withdrawal and deposit are disabled (greyed out) only if the category
>>>> contains another asset or liability account. it it's empty, all three
>>>> are accessible. How can I reproduce the problem? Can you attach
>>>> necessary files to the bug entry?
>>>> In case it's a KMyMoney general problem and not related to any import
>>>> action, one should be capable of entering a transaction via the form to
>>>> show the problem.>
>>> Allan Anderson wrote:
>>>      As I indicated to the OP on the BKO, I don't see, and have never seen,
>>>      the withdrawal and deposit fields being disabled. He is on, I think,
>>>      4.7.1.
>>>      So, I concentrated on the mis-classification of a "transfer" as a
>>>      "withdrawal".
>>>      Entering manually a new transaction, or editing an existing withdrawal
>>>      or deposit, with no category, it will show as a transfer. Open it for
>>>      editing, and it will then switch to either withdrawal or deposit.
>>>      Close without any change, and it reverts to a transfer.  As this
>>>      seemed similar to the OP's other issue, I investigated that.
>>>      Similarly, an imported transaction with no category will show as a
>>>      transfer, and one with a category will show as either withdrawal or
>>>      deposit.>
>>> Allan Anderson wrote:
>>>      Do I need to be doing anything with this?  I'm thinking of the
>>>      upcoming 4.8.>
>>> Thomas Baumgart wrote:
>>>      I investigated this a bit further. The problem can only exist, if the
>>>      transaction is not categorized. In that case, the transaction has
>>>      only a single split. In all other cases, the existing logic works as
>>>      designed and should not be changed.
>>>      The fix should keep the current logic unchanged (it will change it in
>>>      case of a mixed multi-split transaction and shows different results
>>>      depending on the order of the splits referencing income/expense or
>>>      asset/liability accounts). If the first one found is income/expense
>>>      it shows 'Withdrawal' or 'Deposit' if it is asset/liability it will
>>>      show 'Transfer'. The current implementation shows
>>>      'Deposit/Withdrawal' for any mixed multi-split transaction.
>>>      I suggest to enclose the current logic to cover the corner case of a
>>>      single split transaction and determine withdrawal/deposit solely on
>>>      the amount of the split in this case, e.g.>
>>>          KMyMoneyRegister::Action StdTransaction::actionType() const
>>>          {
>>>            KMyMoneyRegister::Action action = ActionNone;
>>>            if(m_transaction.splitCount() > 1) {
>>>              // keep the current logic as is
>>>            } else {
>>>              action = m_split.shares().isNegative() ? ActionWithdrawal :
>>>              ActionDeposit;
>>>            }
>>>            return action;
>>>          }
>> I'm missing something here.
>> Without your proposed patch, I still don't see the withdrawal and deposit
>> fields being disabled.
>> If I import a simple QIF file, like -
>> !Type:Bank
>> D01-06-08
>> T80.07
>> ^
>> initially the Transfer tab is enabled, although clicking on any of them
>> moves focus to the following empty transaction.
> This is in view (as opposed to edit) mode. A click on any of the tabs creates
> a new transaction in this mode.
>> If I click Edit, any tab may be selected.
> That is OK, because it is not categorized yet.
>> If I select Withdrawal, and edit the payee and add a
>> category, as per the OP, both the Deposit and Withdrawal tabs are enabled.
> Yes, which is OK since you have a category and can switch between debit and
> credit transaction using these two tabs.
>> Clicking Enter, the transaction is saved correctly.
> Good to know.
>> If I don't add a category, all three are still enabled.
> Yes, because the transaction is still uncategorized.
>> If I enter an asset or liability account, only then are they disabled.
> Yes, because the transfer does not differentiate between a credit and debit
> transfer.
> I don't see where the problem is. Your description is completely in line with
> the original design (a few years old btw).

I don't, either, but that's not what the OP sees.  See his bug 
description.  And, this is without your patch.


More information about the KMyMoney-devel mailing list