I like this idea so much I added it to ledger-mode. C-c C-t will insert the effective date at the beginning of the payee line, or the end of the posting line depending on what sort of line point is on when you execute.
Thanks for the idea Peter! Craig On Sun, Mar 24, 2013 at 4:50 PM, Peter Hogg <[email protected]>wrote: > After I make a transaction, I enter it into Ledger using the date that I > initiated the transaction as the only date. At some later point I'll look > at my bank statement and clear all the transactions in my Ledger file, > entering the bank's posting date as the left-most date in Ledger. > > So, if made a purchase on Amazon on March 15th, I would enter it as such: > > 2013/03/15 Amazon > ... > > A week later I'll look at my bank statement and see that the transaction > didn't post to my account till the 17th. I'll then edit the Ledger > transaction to look like this: > > 2013/03/17=2013/03/15 * Amazon > ... > > This way the output of ledger register matches my bank statements for > easy error checking, but I can always pass the --aux-date flag if I want > the transaction date to match the date on the receipt I have archived. > > What I would like in vim-ledger is to have some shortcut to add today's > date as the leftmost date (what I would call the effective date) while > moving the transaction's current date to the right of the = (making it be > what I would call the actual date). > > The :call LedgerSetDate(line('.'), 'effective') shortcut adds today's > date to the right of the =. In my mind that is changing the transaction's > actual date, which I never want to do, as every transaction was always > initially entered with the correct actual date. > > The :call LedgerSetDate(line('.'), 'actual') shortcut overwrites the > transaction's date with today's date. This properly sets the effective > date, but results in my loosing the actual date, which I never want to do. > > I think the ideal solution is three-fold: > > 1) Change the 'effective' and 'actual' keywords to 'auxiliary' and > 'primary'. The words 'effective' and 'actual' are confusing and can mean > different things depending on your perspective. The ledger > documentation<http://ledger-cli.org/3.0/doc/ledger3.html#Auxiliary-dates>refers > to the two dates simply as 'primary' and 'auxiliary', and leaves the > meaning up to the user. (The meaning I prefer comes from the hledger > documentation <http://hledger.org/MANUAL.html#secondary-dates>.) > > 2) Keep the current behaviour of the :call LedgerSetDate(line('.'), > 'effective') shortcut (which would have its effective argument actually > replaced with auxiliary). This would add today's date as the auxiliary > date, without changing the transaction's primary date. > > 3) Change the behaviour of the :call LedgerSetDate(line('.'), > 'actual')shortcut (which would have its > actual argument replaced with primary). Currently this shortcut replaces > the transaction's primary date with today's date, which has the effect of > deleting the old date. Instead I think it should add today's date as the > primary date, while moving the transaction's old primary date to the > auxiliary date position. This way no information is lost. > > I think these changes would remove confusion about the shortcut's > behaviour and make them useful for everyone regardless of the meaning they > assign to primary and auxiliary dates. > > — > Reply to this email directly or view it on > GitHub<https://github.com/ledger/vim-ledger/issues/6> > . > -- Craig, Corona De Tucson, AZ enderw88.wordpress.com -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
