Comment by journal
I've thought about separating the journal into a command-line application, where the end result might look exactly like plain text accounting, a sorta like ffmpeg for accounting. Plain text is part of my backup strategy.
If plain text are roads, then my approach is rail roads. A strict set of application logic so the operator doesn't get overwhelmed and is capable of managing large number of transactions at higher speeds of entry.
Then, it's just a matter of building more rail roads for any additional functionality. Once built, you'd probably never have to touch that code again.