Re: Getting started with budgets in ledger and org-mode

2014-07-20 Thread Alan Schmitt
On 2014-07-20 03:31, Will Monroe wtmon...@gmail.com writes:

 Thanks, Erik. I guess the basic concepts of double-entry accounting have
 not sunk in very deeply yet ; ) I added assets as you suggested and it
 balanced just fine.

 Also, I appreciate your advice regarding ledger's built in budgeting
 features. I too prefer envelope budgeting and would like to implement
 something like it in my use of org-mode and ledger. I'll try to study
 your example and see if I can't make it work.

I've been using a system very close to the one Erik describes for about
six months now, and it works great. My tweaks are mostly on the org
side, to get a table summarizing what remains in the envelopes, how much
was spent in the current and in the previous month, and average
spending. This is described here:
http://permalink.gmane.org/gmane.comp.finance.ledger.general/5673

Best,

Alan

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7


pgp_Wv7xK8JNp.pgp
Description: PGP signature


Re: Getting started with budgets in ledger and org-mode

2014-07-20 Thread Gmail
Alan,

Thanks for sharing this.  I ran across your example when I was searching the 
list but it was a bit beyond me since I hadn't a working version of Erik's 
example at the time.  But yours intrigues me.  As I read this, it appears that 
you keep all your ledger data in a separate file, mescomptes.ledger, is that 
correct?  Am I also correct in thinking that all of the code blocks you shared 
are run from within the same org file?

Will


-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Multiple file support for ledger mode

2014-07-20 Thread Richard Cobbe
On Wed, Jul 16, 2014 at 06:19:34AM -0700, Craig Earls wrote:
 I would like to see the specific elisp error that reconciliation
 threw.  The reconcile window is populated by output from ledger
 itself, so the included transactions should be there.  Right now I
 don't track to see what file the transaction came from, so this is
 probably what threw the error.

Ok, I just reproduced the error -- thanks for your patience!

The actual error message I got, in the minibuffer, upon hitting C-c C-c in
the reconciliation window was
Wrong type argument: window-live-p, nil

However, I happened to discover that it's actually more complicated than
I'd originally thought, as it appears to depend on the width of the Emacs
frame in which I'm doing the reconciliations!  In particular, I only get
the error if the window showing the ledger file is wider than
split-width-threshold.

In my normal configuration, split-width-threshold is 160, and the frame is
80 characters wide.  So, if the frame contains a single window
(main.ledger), then when I hit C-c C-r, the frame is split so that the
reconciliation buffer is below the window that displays the transaction I'm
currently pointing at in the reconciliation buffer.  Under this
configuration, when I hit C-c C-c, I get the error above.

However, when I was reconciling my checking account, I'd resized the Emacs
frame halfway through, because the reconciliation buffer assumes a window
wider than 80 characters.  I don't know the precise width, but I'm pretty
sure it was over split-width-threshold.  When I finished reconciliation, I
had two windows in the frame, one over the other, with the *reconciliation*
buffer in the bottom window.  Upon hitting C-c C-c in the reconciliation
buffer, Emacs then split the upper window horizontally, displaying
main.ledger in one window and included-file.ledger in the other -- so there
are two windows, side-by-side, in the space previously occupied by the
upper window.  And I didn't get the error message in this case.

(Sorry for such a long-winded explanation, but I couldn't figure out how to
make it shorter and still be precise about what I observed.)

Brief note: I'm working on MacOS 10.9.4, using emacs 24.3.1, patched with
YAMAMOTO Mitsuharu's support for AppKit Unicode rendering.  This Emacs
binary is a native OSX application, not an X client.  I rather doubt that
these details are relevant here, but I mention them out of thoroughness.

Richard

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Multiple file support for ledger mode

2014-07-20 Thread Johann Klähn
Just a thought: Can you maybe do M-x toggle-debug-on-error and show where
it originates?
On Jul 20, 2014 8:32 PM, Richard Cobbe co...@ccs.neu.edu wrote:

 On Wed, Jul 16, 2014 at 06:19:34AM -0700, Craig Earls wrote:
  I would like to see the specific elisp error that reconciliation
  threw.  The reconcile window is populated by output from ledger
  itself, so the included transactions should be there.  Right now I
  don't track to see what file the transaction came from, so this is
  probably what threw the error.

 Ok, I just reproduced the error -- thanks for your patience!

 The actual error message I got, in the minibuffer, upon hitting C-c C-c in
 the reconciliation window was
 Wrong type argument: window-live-p, nil

 However, I happened to discover that it's actually more complicated than
 I'd originally thought, as it appears to depend on the width of the Emacs
 frame in which I'm doing the reconciliations!  In particular, I only get
 the error if the window showing the ledger file is wider than
 split-width-threshold.

 In my normal configuration, split-width-threshold is 160, and the frame is
 80 characters wide.  So, if the frame contains a single window
 (main.ledger), then when I hit C-c C-r, the frame is split so that the
 reconciliation buffer is below the window that displays the transaction I'm
 currently pointing at in the reconciliation buffer.  Under this
 configuration, when I hit C-c C-c, I get the error above.

 However, when I was reconciling my checking account, I'd resized the Emacs
 frame halfway through, because the reconciliation buffer assumes a window
 wider than 80 characters.  I don't know the precise width, but I'm pretty
 sure it was over split-width-threshold.  When I finished reconciliation, I
 had two windows in the frame, one over the other, with the *reconciliation*
 buffer in the bottom window.  Upon hitting C-c C-c in the reconciliation
 buffer, Emacs then split the upper window horizontally, displaying
 main.ledger in one window and included-file.ledger in the other -- so there
 are two windows, side-by-side, in the space previously occupied by the
 upper window.  And I didn't get the error message in this case.

 (Sorry for such a long-winded explanation, but I couldn't figure out how to
 make it shorter and still be precise about what I observed.)

 Brief note: I'm working on MacOS 10.9.4, using emacs 24.3.1, patched with
 YAMAMOTO Mitsuharu's support for AppKit Unicode rendering.  This Emacs
 binary is a native OSX application, not an X client.  I rather doubt that
 these details are relevant here, but I mention them out of thoroughness.

 Richard

 --

 ---
 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 ledger-cli+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: --getquote option not supported

2014-07-20 Thread Carl Hauser
Thanks, Craig.

On Saturday, July 19, 2014 5:56:51 AM UTC-7, Craig Earls wrote:

 You haven't missed anything. My patch for get quote had to be backed out. 
 I can't quite remember why. I will try to resurrect it. 




-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Tracking contributions to an account

2014-07-20 Thread Nathan Grigg
I’ve been thinking about how to track transfers into a certain account, for 
example, a Health Savings Account or 401k.

For example:

2014-06-01 Transfer
Assets:Health Savings  $500
Assets:Checking

2014-06-10 Doctor
Expenses:Health  $200
Assets:Health Savings

2014-07-01 Interest
Assets:Health Savings  $0.25
Income:Interest

For tax purposes, I care about the total amount transferred in ($500 in this 
case).

Solution 1: Tags.
2014-06-01 Transfer
Assets:Health Savings  $500
; Taxes: HSA Contribution
Assets:Checking

Now leger bal Assets:Health Savings” and “%Taxes=HSA Contribution” gives me 
$500. The downside is that tags can be difficult to work with. (For example, 
can you match a tag value by regex? Not that I can see)

Solution 2: extra accounts. I’ve put them under Expenses, because that seems 
most apt, but still a little weird.

2014-06-01 Transfer
Expenses:HSA:Contribution $500
Expenses:HSA:Transfer -$500
Assets:Health Savings  $500
Assets:Checking

Now leger bal “Expenses:HSA:Contribution gives me $500. The downside is that 
this is more verbose. You also have a more or less meaningless account in 
Expenses:HSA:Transfer. You can use automated transactions to clean up data 
entry, but it still may not be worth it. Also, I’m soured on automatic 
transactions since rediscovering bug 983 
http://bugs.ledger-cli.org/show_bug.cgi?id=983.

Does anyone else try to solve this problem? Is there a solution I’m 
overlooking? 

Nathan


signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: Tracking contributions to an account

2014-07-20 Thread Michael Norrish
How about

ledger {reg|bal} assets:health.savings and payee transfer

?

Of course, you need to be consistent about what you're doing in the payee field.

Michael

On 21/07/14 13:19, Nathan Grigg wrote:
 I've been thinking about how to track transfers into a certain account, for 
 example, a Health Savings Account or 401k.

 For example:

 2014-06-01 Transfer
 Assets:Health Savings  $500
 Assets:Checking

 2014-06-10 Doctor
 Expenses:Health  $200
 Assets:Health Savings

 2014-07-01 Interest
 Assets:Health Savings  $0.25
 Income:Interest

 For tax purposes, I care about the total amount transferred in ($500 in this 
 case).

 Solution 1: Tags.
 2014-06-01 Transfer
 Assets:Health Savings  $500
 ; Taxes: HSA Contribution
 Assets:Checking

 Now leger bal Assets:Health Savings and %Taxes=HSA Contribution gives me 
 $500. The downside is that tags can be difficult to work with. (For example, 
 can you match a tag value by regex? Not that I can see)

 Solution 2: extra accounts. I've put them under Expenses, because that seems 
 most apt, but still a little weird.

 2014-06-01 Transfer
 Expenses:HSA:Contribution $500
 Expenses:HSA:Transfer -$500
 Assets:Health Savings  $500
 Assets:Checking

 Now leger bal Expenses:HSA:Contribution gives me $500. The downside is that 
 this is more verbose. You also have a more or less meaningless account in 
 Expenses:HSA:Transfer. You can use automated transactions to clean up data 
 entry, but it still may not be worth it. Also, I'm soured on automatic 
 transactions since rediscovering bug 983 
 http://bugs.ledger-cli.org/show_bug.cgi?id=983.

 Does anyone else try to solve this problem? Is there a solution I'm 
 overlooking? 

 Nathan

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Tracking contributions to an account

2014-07-20 Thread Erik Hetzner
At Sun, 20 Jul 2014 20:19:07 -0700,
Nathan Grigg wrote:
 
 I’ve been thinking about how to track transfers into a certain
 account, for example, a Health Savings Account or 401k.

 […]

Hi Nathan,

I use “transfer” accounts to keep track of transferring money. [1]
Maybe you can try this:

2014-06-01 Transfer
  Transfer:A:Checking-A:Health Savings
  Assets:Checking-$500

2014-06-01 Transfer
  Transfer:A:Checking-A:Health Savings
  Assets:Health Savings   $500

2014-06-10 Doctor
Expenses:Health  $200
Assets:Health Savings

2014-07-01 Interest
Assets:Health Savings  $0.25
Income:Interest

2014-08-01 Transfer
  Transfer:A:Savings-A:Health Savings
  Assets:Savings -$100

2014-08-01 Transfer
  Transfer:A:Savings-A:Health Savings
  Assets:Health Savings   $100

This report (if I understand it correctly) will report transfers to
the health savings account:

$ ledger -f x.lgr -s -r  --display account=~/^Assets:Health/ bal ^Transfer
 $600.00  Assets:Health Savings

best, Erik

1. I find transfer accounts useful because my banks tend to report
each “side” of a transfer, e.g. when I pay a credit card my bank
account has a transaction and my credit card has a transaction. Rather
than delete one of these, I keep both with an intermediary transfer
account. Additionally, they allow reports like this one with needing a
particular payee or metadata.

-- 
Sent from my free software system http://fsf.org/.

-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Tracking contributions to an account

2014-07-20 Thread Martin Blais
Michael: this is a clever solution, I had never thought of it.
Mostly because I don't have good filtering capabilities yet.

Nathan: I solved this problem by using a second currency to track the
transfers, with an associated Income, Asset and Expense accounts in that
currency. This requires no special filtering, only a bit of discipline to
replicate existing postings (which can be automated). I'm assuming these
HSA accounts are similar to tracking 401k and IRA contributions, which have
limits and for which you may have to declare an amount for taxes.

I briefly allude to this in this new section of the cookbook I wrote today
(look for US401K):
https://docs.google.com/document/d/1Tss0IEzEyAPuKSGeNsfNgb0BfiW2ZHyP5nCFBW1uWlk/edit#heading=h.pud91h3035s4

I'll be adding a section about 401K's very soon - meant to do it today
actually - which describe this mirrorring solution in more detail, but if
you look on the list you will find some emails where I discuss the
solution, look for IRA or 401K or RSP.

Cheers,



On Sun, Jul 20, 2014 at 11:31 PM, Michael Norrish michael.norr...@gmail.com
 wrote:

 How about

 ledger {reg|bal} assets:health.savings and payee transfer

 ?

 Of course, you need to be consistent about what you're doing in the payee
 field.

 Michael

 On 21/07/14 13:19, Nathan Grigg wrote:
  I've been thinking about how to track transfers into a certain account,
 for example, a Health Savings Account or 401k.
 
  For example:
 
  2014-06-01 Transfer
  Assets:Health Savings  $500
  Assets:Checking
 
  2014-06-10 Doctor
  Expenses:Health  $200
  Assets:Health Savings
 
  2014-07-01 Interest
  Assets:Health Savings  $0.25
  Income:Interest
 
  For tax purposes, I care about the total amount transferred in ($500 in
 this case).
 
  Solution 1: Tags.
  2014-06-01 Transfer
  Assets:Health Savings  $500
  ; Taxes: HSA Contribution
  Assets:Checking
 
  Now leger bal Assets:Health Savings and %Taxes=HSA Contribution
 gives me $500. The downside is that tags can be difficult to work with.
 (For example, can you match a tag value by regex? Not that I can see)
 
  Solution 2: extra accounts. I've put them under Expenses, because that
 seems most apt, but still a little weird.
 
  2014-06-01 Transfer
  Expenses:HSA:Contribution $500
  Expenses:HSA:Transfer -$500
  Assets:Health Savings  $500
  Assets:Checking
 
  Now leger bal Expenses:HSA:Contribution gives me $500. The downside is
 that this is more verbose. You also have a more or less meaningless account
 in Expenses:HSA:Transfer. You can use automated transactions to clean up
 data entry, but it still may not be worth it. Also, I'm soured on automatic
 transactions since rediscovering bug 983
 http://bugs.ledger-cli.org/show_bug.cgi?id=983.
 
  Does anyone else try to solve this problem? Is there a solution I'm
 overlooking?
 
  Nathan

 --

 ---
 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 ledger-cli+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 

--- 
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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Tracking contributions to an account

2014-07-20 Thread Martin Michlmayr
* Nathan Grigg nat...@nathangrigg.net [2014-07-20 20:19]:
 Now leger bal Assets:Health Savings” and “%Taxes=HSA Contribution” gives me 
 $500. The downside is that tags can be difficult to work with. (For example, 
 can you match a tag value by regex? Not that I can see)

Yes, you can match tags:
  ledger -f d reg tag(Taxes) =~ /^HSA*/'

 Does anyone else try to solve this problem? Is there a solution I’m 
 overlooking?

If you always transfer from Assets:Checking, you can do:

ledger -f d reg 'Assets:Health Savings' and expr 'any(account =~ 
/Assets:Checking/)'

-- 
Martin Michlmayr
http://www.cyrius.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 ledger-cli+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.