If you don’t want to do that, another option is hledger. I used that for a while before deciding to switch back to beancount for its ingest process. However, considering I have made no progress on that over the last year, I might just go back to using hledger.
hledger’s ingest process is not as sophisticated as beancount’s. You can’t write arbitrary plugins like with beancount, but you can pattern match on the incoming text and assign accounts that way. You can also define automatic transactions in your books, which I found incredibly helpful for managing my budget.
For example, here is a plugin that I wrote to "delay" a posting of a transaction to another date via an intermediate ("transfer") account [2] and its tests [3] that solves a problem pretty similar to yours (I should someday package my plugins properly and maybe put them on PyPI, but I haven't had the time yet). The beancount documentations also has a list of existing published plugins [4].
[1]: https://beancount.github.io/docs/beancount_scripting_plugins...
[2]: https://linx.marussy.com/selif/v31rtbi5.py
[3]: https://linx.marussy.com/selif/tpwlujdk.py
[4]: https://beancount.github.io/docs/external_contributions.html
[1] https://github.com/redstreet/beancount_reds_plugins/tree/mas...
e.g. When I do a debit card purchase I move currency from Whatnot:Cheque:Pending to the expense account, then later from Pending to Whatnot:Cheque:Current so for EVERY debit card transaction I'm copy-pasting a template and editing by hand.
Fava/beancount is so good though, that it's a local maximum - I'm a bit stuck.