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.
