SUMMARY Reversing a transaction (A) which is in fact a split of another transaction (B), will create as many new transactions as there were splits in B. This is likely to behave the same when Duplicating a transaction, since the code is basically the same. STEPS TO REPRODUCE 1. Select a transaction that is a split of another transaction. 2. Revert or Duplicate it OBSERVED RESULT Several new transactions are created, one for each of the splits in the original transaction. EXPECTED RESULT Just a single transaction should be created with no splits in it.
Is it creating one new transaction with all the splits from the original transaction, or is it actually creating one transaction for each split? (The latter would be a bunch of unbalanced transaction, which makes it even more of a problem.) I think the underlying problem is that when viewing a split (in the Category View, for example) it appears to be a transaction, but it isn't - it is only one split from the transaction. Perhaps we should consider finding a way to indicate in a ledger that the item is only one split in a transaction with multiple splits.
Jack, It is creating one transaction for each split. I agree about the confusion over how we display splits. At the end of the day I think the way GnuCash displays split transactions in their ledger is a superior UX: they simply show all the splits upfront, and semantically there isn't a *main* transaction there – it's only a matter of which account is it looked at from.