Given the following expense hierarchy:

  • Insurances
    • Car insurance
    • Health insurance
  • Mobility
    • Fuel

Is it possible to add a different hierarchy as an alternative view on the same data such as:

  • Health
    • Health insurance
  • Car
    • Car insurance
    • Fuel

If so, how? If not, is there another finance software that allows this?

  • 3
    In GnuCash, this would probably be handled at the report level, where a report is basically an arbitrary script that can manipulate the input anyway you like. Other programs might use a tag-based system, where instead of a transaction being a record of money transferred from one explicit account to another, the debit and credit sides of the transaction would each take an arbitrary set of tags, and you would reconstruct any given account using transaction with the appropriate tags.
    – chepner
    May 15, 2020 at 12:24
  • 1
    Similar to the difference between traditional e-mail systems (which file messages in exactly one folder) vs Gmail (which allows multiple tags per e-mail, and a "folder" is just the set of messages with one particular tag).
    – chepner
    May 15, 2020 at 12:25
  • 2
    It is really a question of reporting. Money finally has to be recorded in exactly one pair of credit:debit transactions, so hierarchies are of the nature - you set one that you are comfortable with and just remember where you put certain expenses. If gnucash built in reporting (make different reports to summarise according to your needs as you asked) is insufficient, use the sqlite backend, create SQL queries (save them as scripts) and get your answers instantly. If fancy output needed - use R and Rmarkdown.
    – r0berts
    Jan 7, 2021 at 9:21

2 Answers 2


Update: Use a custom report as described in https://money.stackexchange.com/a/156867/97426.

Short answer is GnuCash won't do that. Long answer is see short answer.

Your approach is wrong but it's best answered here:


What you want is very simple, just not in GnuCash which is possibly the only package without it. The workaround changing accounts is just not worth the grief.

Other software allows a category or class[ification] field on each transaction. Normally the field is even auto-populated based on say a payment by a tenant. One field is still not ideal because you might want multiple classifications on one transaction like bigger accounting packages offer (location, manager, supplier, owner, enterprise etc). The feature's been requested fairly frequently for ages: https://bugs.gnucash.org/show_bug.cgi?id=113772

Best thing you can do is change to different software. I use an old quickbooks version for my business to get that feature but you miss out on the open access to the database and potential reporting that brings. Say rental statements, performance per unit or property manager.

Maybe look at https://kmymoney.org/

In the example provided, assuming the first account structure and using software supporting classes, add car and health classes to your transactions then run a report by class.

  • What do you mean by "Your approach is wrong" ? Asker has not actually said anything they are doing, have they?
    – AakashM
    Aug 31, 2021 at 12:34
  • 2
    Asker is suggesting having two sets of COA. I explained use one COA and a classification to achieve the desired functionality.
    – flywire
    Aug 31, 2021 at 12:39

Yes, there is a custom report at https://github.com/dawansv/gnucash-custom-reports.

Tag(s) can be used in the Description, Notes, and/or Memo fields of a transaction report so reports can be grouped by multidimensional tags. The repository has full instructions to install and use with examples.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .