On Mon, Nov 17, 2014 at 12:54 PM, Harpreet Sangha <[email protected]> wrote:

> I'm curious to know how people use Ledger for paycheck budgeting and
> forecasting...
>
> Ideally, I'd like to enter my paycheck as an itemized, recurring
> transaction with each posting in the form of a expression that allow
> calculating how much to deposit into account based it's YTD balance.  This
> would be useful, for example, with taxes for which withholding amounts vary
> based on YTD earnings and retirement contributions that have YTD maximums.
>
> To my knowledge, achieving this with automatic transactions is not
> possible, but I'm optimistic that it can be achieved, if necessary, with
> embedded python scripts.  Before I go down that road, though, I'd like to
> know what other, more experienced users of Ledger do.  My goal, as the the
> subject suggests, is to allow me to budget and forecast.
>
> The obvious "simple" solution seems to be to simply manually enter known
> future transaction, taking the tax withholding and retirement contributions
> into consideration.  This approach, however, requires manual maintenance of
> each and ever forecasted transaction when factors change (i.e. bonus pay
> differs from estimated amount, W-4 change, contributions change, etc.).
>
> I look forward to any feedback.  Thanks in advance!
>

I'm not doing this yet with Beancount, but I have built a tiny tiny
proof-of-concept prototype for forecasting:
https://bitbucket.org/blais/beancount/src/52298ff27387eb8359bedb8a5d0274990ec5354b/src/python/beancount/plugins/forecast.py?at=default

I think the essential features to build are:

- Building in some way to express the frequency of future transactions.
This may require some coding (or a simple expression language built on top
of existing Python calendaring code to say, e.g., "every two weeks starting
on the 7th").

- Automatically ignoring past history when it is updated, that is, the code
that adds the forecast should automatically figure out the final date for
which matching transactions already exist, and only add transactions in the
future

- It should be possible to enable/disable the forecast transactions easily
(more easily than commenting out the entries that define them) to generate
reports both with and without them.

I believe we should recognize that automated transactions are always
approximate, and should never be used to replace "real" history. Historical
transactions nearly always have some amount of small variation that you
need to enter manually. This means that one should always be able to enter
or import real history "over" automatic transactions and that
auto-generated transactions should automatically get out of the way where
real history appears. The last "up-to-date" date of real imported history
can be figured out by looking at the date of the last posting or balance
assertions on key accounts. This is the lens I'm using when looking at
automated transactions for forecasting.  In my view, automated transactions
that mix in with real history (as an input convenience) are a distinct type
of feature, and I don't see much of a use case for them (it's unrealistic).

(As for budgeting, that's a separate topic...)

-- 

--- 
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/d/optout.

Reply via email to