Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • KMyMoney KMyMoney
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 38
    • Issues 38
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OfficeOffice
  • KMyMoneyKMyMoney
  • Issues
  • #25
Closed
Open
Issue created Jun 26, 2020 by Dawid Wrobel@wrobeldaDeveloper

Consider replacing Payee matching with a more robust 'if-this-then-that' workflow 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 [1].

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 the time passing is naturally 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 would need to be a core functionality, and part of the plugin API.

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 Apple Shortcuts, IFTTT, or "Scenes" functionality on any of the smart home platforms (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

[1] 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.

Edited Nov 12, 2021 by Dawid Wrobel
Assignee
Assign to
Time tracking