Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

New split proposition

#16

In this proposition, a transaction always has an amount. This amount is the amount of money that is moved. In other words, it's the sum of debits (which is equal to the sum of credits) in the transaction. This amount is a given value. It is not calculated from the splits. In the context of calculated transactions, it is the result of the calculation.

The splits are divided in two: the credit ("from") splits and the debit ("to") splits. Each split can be either a fixed amount or a percentage. To compute the amount of each split, moneyguru first allocates the fixed amounts. The rest is split between the percentage splits. If the percentages don't add up to 100%, the remaining amount is considered "unassigned". The credit splits and the debit splits are processed independently.

I can't find a completely satisfying solution if the total of fixed amounts is greater than the transaction amount, but I suggest that moneyguru allocates the fixed amounts in the order they appear in the transaction and stops allocating when there is no money left.

When an account name is entered directly in the table, it should create a 100% split. I'm not sure of the behavior we should adopt when more than one account is added, but we probably can find some useful defaults.

It's interesting to note that this proposition makes it possible to mass edit splits.


Modified Proposition

The original proposition for this ticket makes things a little to complex for my own taste, but I'd also like to have an Amount field in the info panel to simplify things a little bit. This ticket, instead of introducing a new notation (percentages) for amount fields in split, would simply define an auto-attribution mechanism when the Amount field is changed. This mechanism would be this one below...

The Amount field would contain the total amount of money moved by the transaction (what it currently shows in the transaction table). For 2-splits transactions, modifying the amount field would be like modifying the amount field in the transaction table: it just changes the 2 splits with the new amount. For transactions with more than 2 splits, it would consider the 2 first splits as the "variable" splits. Subsequent splits are considered as invariant, and moneyGuru simply balances the 2 variable splits so that the new amounts fits (note that if the 2 first splits are on the same side, moneyGuru must, of course, the first 2 splits that are not on the same side).

When the splits are edited, transaction balancing tries to preserve the value of the Amount field. For example, if the amount of a transaction is 100$ and that a 3rd split of 10$ is added, rather than adding a new unassigned split for 10$ (what happens now), the "main splits" are re-balanced to fit the 100 amount.

One exception to that is transactions involving more than one currencies. The Amount field would show what the transaction currently shows (a "natified" amount), but the field would be read-only, and a label would explain that multi-currency transactions must be edited through the split table.

Moreover, the transaction info panel would be split in 2 tabs, the split table going in a separate view (there's going to be a 3rd tab with #19 Note field for transactions/accounts). The split tab would also contain an Amount field, allowing the user to directly see the effect changing the Amount field has on the splits.

Reported by Virgil Dupras · June 4th, 2009 @ 04:53 PM

State: fixed
Milestone: v1.8
Assigned to: Virgil Dupras Virgil Dupras

Activity

  1. Virgil Dupras
    Virgil Dupras
    • Tag changed from from-trac, suggestion to feature, from-trac

    [not-tagged:"suggestion" tagged:"feature" bulk edit command]

    September 5th, 2009 @ 07:10 PM

  2. Virgil Dupras
    Virgil Dupras
    • State changed from new to hold

    January 14th, 2010 @ 01:53 PM

  3. Virgil Dupras
    Virgil Dupras
    • State changed from hold to accepted
    • Milestone set to v1.8

    I modified the ticket to simplify it a little bit.

    February 18th, 2010 @ 02:21 PM

  4. Virgil Dupras
    Virgil Dupras
    • Tag changed from feature, from-trac to big, feature, from-trac
    • Assigned user set to Virgil Dupras

    February 19th, 2010 @ 12:58 PM

  5. Virgil Dupras
  6. Virgil Dupras
  7. Virgil Dupras
    Virgil Dupras

    (from [3a4b5fb6c42d]) [#16 New split proposition] Added an Amount field to core's transaction panel (but it really doesn't do much yet). http://bitbucket.org/hsoft/moneyguru/changeset/3a4b5fb6c42d/

    February 20th, 2010 @ 11:36 AM

  8. Virgil Dupras
  9. Virgil Dupras
    Virgil Dupras

    (from [302667665e92]) [#16 New split proposition] When a currency-less amount is typed in the transaction panel, the previous amount's currency is used. http://bitbucket.org/hsoft/moneyguru/changeset/302667665e92/

    February 20th, 2010 @ 05:59 PM

  10. Virgil Dupras
    Virgil Dupras

    (from [3102c81c6770]) [#16 New split proposition] Transaction info panel's amount field becomes disabled when a transaction is MCT. http://bitbucket.org/hsoft/moneyguru/changeset/3102c81c6770/

    February 20th, 2010 @ 05:59 PM

  11. Virgil Dupras
    Virgil Dupras

    (from [eaca883c2ae6]) [#16 New split proposition] When doing multi-currency balancing, an amount is now assigned to the transaction. Also, the transaction table now uses Transaction.amount, which triggered a few test failures here and there which had to be fixed. http://bitbucket.org/hsoft/moneyguru/changeset/eaca883c2ae6/

    February 20th, 2010 @ 05:59 PM

  12. Virgil Dupras
  13. Virgil Dupras
    Virgil Dupras

    (from [4619e505d791]) [#16 New split proposition] The default currency for amounts in the split table is now the currency of the transaction's amount. http://bitbucket.org/hsoft/moneyguru/changeset/4619e505d791/

    February 20th, 2010 @ 06:42 PM

  14. Virgil Dupras
    Virgil Dupras

    (from [ad49ad3cdbf8]) [#16 New split proposition] The Amount field in the transaction panel is updated when it is modified through the split table. http://bitbucket.org/hsoft/moneyguru/changeset/ad49ad3cdbf8/

    February 20th, 2010 @ 06:42 PM

  15. Virgil Dupras
    Virgil Dupras

    And splits should be sortable through drag & drop.

    February 21st, 2010 @ 12:34 PM

  16. Virgil Dupras
  17. Virgil Dupras
  18. Virgil Dupras
  19. Virgil Dupras
    Virgil Dupras

    (from [f5c7bd18cdbd]) [#16 New split proposition] Transactions with more than 2 splits (of the same currency) can have their amount field edited through the ttable. http://bitbucket.org/hsoft/moneyguru/changeset/f5c7bd18cdbd/

    February 21st, 2010 @ 05:26 PM

  20. Virgil Dupras
    Virgil Dupras

    (from [a51fa6f987ba]) [#16 New split proposition] The Amount field in the mass edition panel is now enabled even when transactions with more than 2 splits are selected. http://bitbucket.org/hsoft/moneyguru/changeset/a51fa6f987ba/

    February 21st, 2010 @ 07:57 PM

  21. Virgil Dupras
  22. Virgil Dupras
  23. Virgil Dupras
    Virgil Dupras

    (from [3d0edad1fe66]) [#16 New split proposition] Fixed a glitch with transaction balancing when a split would be deleted and pushed amount field related code up the chain so it can be used in the schedule panel. http://bitbucket.org/hsoft/moneyguru/changeset/3d0edad1fe66/

    February 22nd, 2010 @ 05:03 PM

  24. Virgil Dupras
    Virgil Dupras

    (from [81bb39aa4540]) [#16 New split proposition] Added the Amount field to the schedule panel, as well as the Info/Splits tab view. http://bitbucket.org/hsoft/moneyguru/changeset/81bb39aa4540/

    February 22nd, 2010 @ 05:03 PM

  25. Virgil Dupras
  26. Virgil Dupras
    Virgil Dupras
    • State changed from accepted to fixed

    February 22nd, 2010 @ 05:29 PM

  27. Virgil Dupras
  28. Virgil Dupras
  29. Virgil Dupras
    Virgil Dupras
    • Tag changed from big, feature, from-trac to big, feature
    • Milestone order changed from 0 to 0

    June 7th, 2011 @ 02:17 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.