Enter future-dated transactions in your journal, commented out (with
Enter future transactions uncommented; use a query to exclude them from reports when needed (
date:-tomorrow. hledger-ui hides them by default.)
Enter future transactions in a separate
forecast.journal, which you can include when needed (eg, add
Enter periodic transaction rules describing future transactions (recurring or non-recurring), and activate the forecast with
Budgeting and forecasting (2018) > Forecasting - reusing a budget's periodic transactions to generate a forecast.