new transactions are automatically assigned to categories

Registered by simpsus

The user defines some rules and when a new csv is imported, the transactions are matched to categories by those rules and automatically assigned to them

Blueprint information

Status:
Complete
Approver:
wolfer
Priority:
High
Drafter:
simpsus
Direction:
Approved
Assignee:
avernus-heros
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 0.7.0
Started by
wolfer
Completed by
wolfer

Related branches

Sprints

Whiteboard

Parts needed:
Database - in the first version this should be pretty easy: One table with colunms id, categoryID, rule.
-> Does it need an id?
The rule is the rule itself (a string) and the category is the category the rule maps to

Preferences - the user needs a place to define rules. Probably the preferences dialog is a good place for this. Maybe even in the accounts tab? There is some space lef tbut the option currently there is pretty unrelated. GThe widget for defining rules could be a treeview with two columns, one dropdown list of the categories and one editable string field. the usual "add" and "remove" buttons would do. Perhaps a helpful feature in the long run and definetely for testing would be some button that would process an account with the currently selected rule and display the matching transactions in a dialog or so. Of course, no assignments should be made by this

The import
->Can rules only be applied upon importing a csv?
->Can the user specify which rules to apply when importing?
If the latter question is "yes" we could expand the import csv dialgo with a checkable list of the rules that shall be applied to the imported transactions. If could have "select all" and "select none" buttons.

mechanics
Rules are regular expressions in string format that are searched in the description of the transaction. If they are found, the transaction is to be considered to be of the rules category. In the first version I think we should not care if a transaction matches more than one rule. As each category assignment overrides, the transaction would be assigned to the last applied rule. This gives room to many errors when the user defines poor rules. In future version there should at least be a warning. Uber feature would be if the engine would tell the user upon rule creation if one rule is found within another rule, i.e. that the newly defined rule will never have an effect, but thats esotheric and unneeded I think

After importing, there should be some kind of feedback about the automatic assignments, perhaps configurable to a) just show the number in the info panel or b) pop up a dialog showing what has been assigned where. Maybe in the future the matching and the assignment can be separated, so that the user can review the to-be-made assigments before they will be executed.

wolfer:
database:
* add active/inactive and priority

preferences:
* maybe tools->transaction filter
* preview tree should be there

the import:
* rules can be applied during import and by clicking apply now in the filter dialog. (maybe even apply all and apply selected)
* select rules during import - i dont think we need this feature.

mechanics:
searching the description is fine.
a later version could also include the amount. eg >1000

information:
we already have a preview tree in the import dialog. we could display the to be assigned categories there. we should show some information about # of imported transactions and assigned categories. either a dialog or a gtk.infobar

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.