So I have this design where I have a large list of transactions, which I want to categorize. The transactions have the following information:

**Date**: 2014-03-16
**Note**: 1231832 Belfast account
**Amount**: 21000

When this large list is imported I can leave every item as "uncategorized", or click each item to give it a category. When I categorize an item, I want to have the option to create a rule, which will give me the ability to categorize all items, for both previous imports, this import and future imports. One rule could be <categorize all transactions containing "Belfast account" into the "Ireland" category>

I therefore need (?) to select a subset of the "note" string. In the above example I'd want to remove the "1231832" part from the rule, only selecting "Belfast account" for the rule. I'm thinking of using sliders, to also scale well between pc and mobile. The problem I see with this solution is that I'd either have to have the create-rule-action on a separate page, making the flow a bit cumbersome, or I'd have sliders on every row on the import page, possibly making it cluttered.

Any suggestions?

  • Is the character position important? If not, you can easily use a basic text search: "Note Contains 'Belfast Account'". Typing in a search term is far easier on all platforms than selecting a substring with a GUI. Commented Jul 1, 2014 at 13:23
  • Are you only ever creating rules on the Note text? Or could a rule also/alternatively depend on the amount, for example? Commented Jul 2, 2014 at 15:48
  • My plan is to only use the note text for creating rules. There are going to be hundreds of different transaction rules for an average user, so speed and simplicity is key. I think that rules "note is exactly <string>" and "note contains <string>" should cover all non-edge cases Commented Jul 3, 2014 at 7:39
  • I do agree that it seems like just a text field should be the better solution, now that I think about it. Also it is posisble that "note contains <string>" could cover all non-edge cases. So perhaps just a text field with the string with all numbers removed could cover my needs Commented Jul 3, 2014 at 7:43

2 Answers 2


The easiest thing for the user is probably a textfield - that'll make it easy to delete any bits of the text they don't want. Something like this perhaps?

Mockup of dialog for creating a rule

I've left out the 'exact match' option: it makes it simpler for the user, and I suspect that there are very few cases where the user needs to do an exact match where a substring match wouldn't work.

  • Something like this should be the way to go. A user will probably want to do a lot of these categorizations in one go, so a way of having this interaction in an table-inline-edit sort of way would be interesting if it can be done without cluttering up the interface Commented Jul 3, 2014 at 11:38
  • I'd also need a category-picker. Possibly with the option to create new categories on the fly. Making me lean more towards popup overlay than inline-edit Commented Jul 3, 2014 at 11:40
  • @magnus.westrom: Yes, I was imagining this as a popup. The main grid of transactions can have an inline category picker, then once the user has confirmed the categorisation then the popup lets them generalise it as a rule. Commented Jul 3, 2014 at 12:44

Are you always selecting complete words as triggers?

If so, you could use completion: User types "B", system proposes "Belfast" and "Belfast account", user selects second one.

Or, the user taps trigger words to include in rule.

Esp. the last idea depends heavily on the task familiarity and training - it sounds you have a rather specialized task which is done by people who know how...

  • Non-edge cases should be only complete words. However, it might not be all complete words in a string. For example "1231231 Mastercard McDonalds" could be a string, and I'd want to create a rule "all notes containing <Mcdonalds> should be categorized as <something>" Commented Jul 3, 2014 at 7:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.