I'm working on an app where you can see transactions. Every transaction will be categorized (automatically). So far so good. The thing I run into now is how to deal with transactions that can (and maybe should) belong to multiple categories. For example car insurance. It would be logical to categorize it under "Car expenses", but also under "Insurances". I think it would be beneficial to actually see this transaction in both categories. The problem here though is that it is hard to calculate a total for every category if a transaction can belong to multiple categories; the total of the categories will not be equal to the total amount of the transactions. How would you approach this problem?

Thanks a lot in advance!

3 Answers 3


Interesting question. You're right if you categorise transactions under more than one category then the sum of the categories will not equal the sum of the total transactions.

The following questions then come to mind:

  1. Do they need to total up? are you working on an accounting system which has this as a requirement for example.
  2. Do the categories have a logical hierarchy rather than being siblings? This way you could get the totalling to work.
  3. Could you have a "primary" or "accounting" category and then a list of display categories? This might mean in the overall list you could put the cost in one place, but you could display it in multiple places.

Overall I think you should consider this in Information Architecture problem, but driven by your use cases.

For example, in your example, if the transaction is both a car expense and an insurance if I want to see all my insurance transactions you'd presumably show it. But how about If I want to see all my car expenses? Where /how do I show it?

Now I think more about it, it seems that "category" might be insufficient to describe your transactions. In particular, Car expenses would presumably include any expense related to a car. It seems like you might want something like a "category" for "insurances" and then a "subject" or "topic" of car.

  • Thanks for your answer! [1] Yes, it is an accounting system, so the total needs to add up. [2] I do not understand it completely. What do you mean by "logical hierarchy" and in what scenario can the totalling work out? [3] I think this might be a good solution 🎉 I'm now thinking about showing a Category page with the assigned sub-categories (which do add up correctly) and then below that something like Related costs where you can find the other logically expenses. Jan 10, 2020 at 15:15
  • For example category Car shows subcategories Gas and Maintenance. Below in the Related area, I'll show Car insurance and Car taxes. I also like your suggestion about adding Topics, although I'm a bit afraid it can result in tedious work for the users. I'd like it to work automatically. Anyway, thanks for think along with me! 🙏 Jan 10, 2020 at 15:15

Just choose one.

As far as I can see putting the transaction in both would cause more problems than it would solve.

The best way to determine which category any given transaction belongs to is to ask the people that will use this app. Doesn't have to fancy, a simple questionnaire might do. Then select the category based on what your users think.


The core idea to assign a thing (expense) more than one label (category) sounds very much like tags. Example would be the label system in Gmail - where you can assign an email any combination of label.

You could make the totals add up if you dynamically create the unique categories from any existing combination of tags. E.g

  • Total of expenses that only have the label “insurance”
    • Total of expenses that have the label “insurance” AND the label “car expenses”
    • Total of expenses that only have the label “car expenses”

And only show a total line/ dynamic category if there are more than 0 expenses with that combination of labels.

So at the start, there is only 1 total line: “expenses without any label”, As soon as the user assigns any label to an expense (let’s say “insurance”), then the new dynamic category appears.

Users cannot define dynamic categories. The dynamic categories would be generated from the label combinations assigned by the user to the expenses.

Visually, a tag UI would be intuitive for this. like: 

The amount of lines with subtotaal would depend on the labels the user assigns.

Good news: The subtotals would always add up.

The bad news: There may be no subtotal for just insurance. if the user has some expenses with only “insurance” tag, and other expenses with both “insurance” and “car expenses” tags, there would be 2 subtotal lines.

This bad news may not be so bad: you could provide filters to always allow users to get a subtotal for “all expenses with labels xxx”.

  • Thanks for your elaborate answer! Might be something to test, but my first feeling is that there will be a lot of categories, probably so many it kind of takes away the whole purpose of categorizing in the first place. Will take it into consideration though. Again thanks for taking the time to give your view on this! Jan 13, 2020 at 7:53
  • You’re welcome! Yeah, with many categories, this can get too complex with a tag-like setup. In our startup company (300 monthly expenses) we use around 80 unique, non-overlapping categories, and consolidate them into around 10 bigger categories (eg consolidate around 20 categories from car-insurance, fuel, train, meals) all under personnel. Hope this helps! Good luck!
    – wintvelt
    Jan 13, 2020 at 21:21

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.