Hi Moisés I would have suggested beanahead <https://github.com/maread99/beanahead> for regular transactions, forecasting and reconciliation - although note you seem to have come across it already. As the author I'd be interested to know why you thought it was too involved and I'd certainly welcome any suggestions.
Cheers Marcus On Tue, 28 Oct 2025 at 02:23, Alan H <[email protected]> wrote: > Red's answer is straight forward and clear so I certainly won't cover any > duplicate ground. > > For tracking recurring and reconciliation I use a (modified) > beancount_periodic plugin that posts computed transactions for mortgages > with the flag as '"#" not "*" then to reconcile, in fava I open the > transaction and change the flag, then I roll the base month of the > original computing posting forwards one month. This is simple and low > effort. The trick is that my plugin computes the postings from metadata and > balances so there isn't an issue with the recurring transaction > 'hardcoding' anything that is in error. > > NOTE I am the lender in this example ... > > ; set a value for zyx_loan_rate > 2025-01-01 event xyz_loan_rate "0.095" > ; Compute interested automatically > 2025-01-01 # "Interest Charges [MONTHLY]" > bal_acc_loan: "Assets:Loans:Secured:XYZ-CA" > event_int_rate: "xyz_loan_rate" > expr_i: "R(div(mul(gcu(loan,'CAD'),int_rate),12),2)" > ; > Income:Loans:Secured:XYZ-CA 0 CAD > expr: "-i" > Assets:Loans:Secured:XYZ-CA 0 CAD expr: "i" > > There's another recurring transaction that records the payment by the > beneficiary and everything tracks itself quite nicely - statements are a > simple query, etc. > > The plugin is a little rough (the computation is done by creating a dict > context with the noted events and balances referenced in the metadata that > is passed to an eval) but it works for me. > > Alan > On Monday, 27 October 2025 at 17:05:09 UTC+8 [email protected] wrote: > >> Hi, >> I don’t use forecasting myself, and there are probably plugins and >> scripts other uses, but here are some quick answers outside that. >> >> In GNUCash, I could set up recurring transactions using a mortgage >> formula that automatically calculated principal + interest. When you >> >> Here’s the trivial script >> <https://gist.github.com/redstreet/3bf5b9da37329835297b851e933a1b05> I >> use. When importing from your bank, manually replace your mortgage >> transaction with the output of this script. Or automate it if you have >> fancy importers setup. >> >> >> - Buy milk from farmer. >> >> Simplified: >> 2025-03-03 txn "Pay Milk January/February" Assets:Csah -50 EUR >> Expenses:Groceries:Milk >> >> Or if expense spreading matters, I use my plugin >> <https://github.com/redstreet/beancount_reds_plugins/tree/main/beancount_reds_plugins/effective_date#readme> >> : >> 2025-03-03 txn "Pay Milk January/February" Assets:Csah -50 EUR >> Expenses:Groceries:Milk 25 EUR effective_date: 2025-01-01 >> Expenses:Groceries:Milk 25 EUR effective_date: 2025-02-01 >> >> I have a car that can use LPG or Gasoline (95 or 98). Rigth now I do: >> >> Use metadata: >> 2024-06-01 * "Gasoline" odometer: 66,324 gallons: 11.567 >> Liabilities:Credit-Cards:Credit-Card -50 USD Expenses:Car:Koeninsegg:Fuel >> >> You can then write a simple plugin to compute fuel efficiency and such. I >> use it for oil changes as well. >> >> >> - Net Profit Liabilities and Expenses I have a mortgage on my main >> house (it’s my only >> one and not an investment). >> >> As far as I can tell, net profit is calculated without accounting for >> principal >> payments on the mortgage because those are treated as Liabilities, not >> Expenses. This >> doesn’t make much sense for personal finance tracking. How can I adjust >> this? Or, >> alternatively, how can I calculate what money I really have available >> (Income - >> Expenses - Payments on Liabilities)? >> >> Payments are typically booked as such: >> 2025-10-12 * "Mortgage Payment" Assets:Banks: -1000 USD >> Expenses:House:Mortgage:Interest 800 USD Liabilities:Mortgage 200 USD >> >> So money flows from Assets:Bank to Liabilities:Mortgage and >> Expenses:Interest. There’s nothing you should have to do: your net >> profit and net worth should all compute correctly as expected. >> >> >> -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/beancount/59517c6b-8041-4e4e-8e1c-7a7177c3e80cn%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/59517c6b-8041-4e4e-8e1c-7a7177c3e80cn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/beancount/CACNAvY2qpyE4oK%2B-9F38egedVXFE%2BHq1JwEGpRLOPaRXjxaoGw%40mail.gmail.com.
