Consider replacing Payee matching with a more robust 'if-this-then-that' rules engine
The current Payee matching is limited in a way that it only allows to do one thing: assign a default category. Moreover, one can only assign a default category by matching the Payee only .
This is very limited and doesn't allow following exemplary scenarios:
- Matching the Payee name and the Memo.
- some of my banks' scheduled automatic credit-card payment transfers contain the last 4 digits of card paid to in the Memo field
- I have previously brought this up on the -dev mailing-list.
- Matching the account
- I assign "Interest Payment" transactions to different income categories, depending on whether the source account is Checking, Saving, a CD, etc.
- Automatically creating a transaction once another is detected
- I have no way of downloading a breakdown of my salary and contributions, but since it doesn't change month-to-month, I could generate the transactions automatically once the salary transfer is detected
- Assigning a category by matching Payee field but not rewriting the Payee field, which is currently impossible.
- Automatically triggering a warning, e.g.:
- when a positive transaction is added to a specified account that must only have charges
- when upon saving the book, a specified account has a non-zero balance (e.g. a "Resolved temporary charges" account)
By extension, this would also include rewriting of the Scheduling functionality into the engine, since time is one of the triggers. Also, I think it could be made a plugin, not core functionality, effectively reducing the complexity of the importing logic.
It's my personal opinion, but I think everyone will agree that this type of workflow is more natural to human brain and is already widely recognizable, used by popular products like IFTTT, or "Scenes" functionality in any smart home platform (Google Home, SmartThings, Apple Home).
Some existing, commercial finance software also uses this approach, providing a very powerful yet simple to use tool: https://lunchmoney.app/features/rules
 OFX importer comes with its own, additional matching mechanism. It can match against both Payee and Memo fields, but the mere fact it has its own mechanism makes it even more confusing.