I have found some projection tools, and am curious what others use. I use almost entirely manual projection, in this format:
[historical entries]
#pending
[pending entries]
#projected
[entries projected a month in advance]
[some entries projected up to a year in advance]
I do this in one journal for the purpose of projecting. (Other journals are simply normal history, with maybe some pending transactions.) I plan all entries in this projecting journal in the projected section, and move them through pending until they are in the historical section. I use very few specialized tools to supplement this, but I am curious what others use, and why.
I don't do that because me and my tools like to append new entries at the end of the file, and those forecast entries would get in the way. (Also, depending what kind of entries they are, they could affect non-forecast reports which you might not always want.)
So I keep mine in (this year) forecast25.journal. I include this from the main file permanently, but I use periodic rules for forecasting, so that they will only show up when I use --forecast.
I do almost exactly what SImon does, except I include my main journal into forecast.journal and then run hledger register -f forecast.jornal "my liquid cash accounts" -e "end of year" and this helps me see whether I would go into red accross all my "cash-like" assets in view of my future obligations
That's interesting. My old system treated all future dates as forecasted, and I typically insert entries in date order. I tried something like periodic rules in that system, but found it was less complicated to add future entries, some semi-automatically, because many of the amounts and payment dates are hard to predict more than about a month in advance.
In ledger, it seems I could use periodic rules in the projection section, and convert them to normal rules when moving/copying them to pending. I would still insert new entries in date order in other sections/files, but the projection section would have less of a date order, due to some periodic rules representing multiple entries. On the other hand, it may be best for me to make a separate forecast journal, as this seems standard. I expect the pending section can be dropped, too. Interesting. Thanks!
This sounds like a good situation to explicitly make forecast.journal a separate file so that, when you run an hledger command, you are forced to specify the extra file and it's obvious that that's what you're doing. I use this approach to keep the four different foreign exchange rate standards (that I'm forced to use for different purposes) from clobbering each other. Instead, I get used to the fact that when I work with hledger, I must specify the foreign exchange rate file that I want for this command.
Maybe it helps you to see --file forecast.journal in every command to remind you that you're forecasting right now. It might even help you more to easily try out different forecasts.