Hi all - I wanted to share a scheduled transaction repo I've been vibe coding as I learned Beancount over the past few months. It's still a work in progress but I've been using it consistently.
beanschedule <https://github.com/slimslickner/beanschedule> provides two primary features: a plugin for forecasting scheduled transactions and a hook for augmenting imported transactions. Every schedule is defined as a yaml file with match logic, recurrence rules, and expected postings. Currently, the only "dynamic" posting is loan amortization which would include accounts like Interest and Principal; the basic match is just a cost range. Beangulp Import Hook If you use the import hook, then imported transactions will be matched with metadata and postings applied. Missing schedules are logged as part of the beangulp logging. Schedules Plugin If you use the plugin, then forward looking transactions are added to the ledger in the same style as the `beanlabs.plugins.forecast.py` transactions with a `#` flag. I currently have this commented out most of the time because past forecasted transactions (e.g. the transaction hasn't posted yet) will mess with balance assertions, but it can be helpful to see cash flow (obviously, doesn't capture non-scheduled transactions). CLI Beanschedule provides a CLI, `beanschedule`, with a few commands for viewing loan amortization, detecting existing recurring transactions, summarizing configured schedules, and a few more commands (see the docs and code). Roadmap The roadmap is mostly administrative, specifically improving the formatting and making the repo more Ruff-compliant. --- This is my first "real" open repo so I'd love to get any feedback! I'd love feedback on the repo, documentation, or feature requests! I know there are some *similar* implementations and some of the stuff that's been built here may not be super beancount-esque, so I'd love to hear about how I can improve the style. To be clear, this is *heavily vibe coded*, I don't want to claim credit for most of the code, but wanted to share with the community in case something like this is helpful for someone else. It's very much a set-and-forget library, once schedules are onboarded, it's a pretty easy maintenance process. --- Thanks all! Tim -- 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/0d2b86cc-be4e-4dc0-b3ec-5dceba0d639en%40googlegroups.com.
