Transaction Classifications
Corresponding Bugzilla item: https://bugzilla.gnome.org/show_bug.cgi?id=113772
While the account hierarchy allows each transaction to be assigned to a different sub-accounts, it would be useful to have classifications which apply to transactions accross sub-accounts. e.g. assume the following accounts exists
Expenses::Electricity
Expenses::Water
Expenses::Rates
Classifications could be achieved by adding new level to each account
Expenses::Electricity::Property1
Expenses::Electricity::Property2
Expenses::Water::Property1
Expenses::Water::Property2
Expenses::Rates::Property1
Expenses::Rates::Property2
This can produce complex accounts structures especially if multiple currencies are involved.
-
Khuram Javed commented
I have been using GnuCash for a couple of years, But my need is to get an expense report with a label/tag i.e. if I normally have a lunch of Rs 300, but when I have some gets the Lunch price jumps to almost Rs 1500, so I want to know how much I spend on myself and how much I need for my family and friends.
But seeing this suggestion I wonder that it's been a decade that a very useful feature requested but ignored by the core team of GnuCash.
So, I have to search for some other software and I found HomeBank very useful in this regard.
Now I use HomeBank for my expenses, and GnuCash for the rest of my things like loans, income etc.I would request please add this feature as soon as possilbe, as it is really much needed for personal finance.
Thanks
-
Fauzan commented
It will also be great to specify a transaction location for tax calculations.
In general users should be able to extend the schema for custom columns as they see fit, with an option to show or hide them in the default view. Accessing a transaction view dialog box via context menu should reveal all the transaction fields and properties for editing. These should also be searchable for reporting.
We already have the implementation to attach images to transactions, should be extended to user specified properties as well.
-
Jimmy commented
although Geert Janssens already pointed out how we can use "Tag" function by entering the "Tag String" on either note or memo field and then generate reports using them as filters, it's still easier and more convenient if GnuCash have the "real" tagging system.
-
Anonymous commented
I am for the TAGs mechanism for transactions or accounts.
-
Anonymous commented
The same should happen when one enters a transaction DESCRIPTION: as I type, all previous matching descriptions should pop up in a list.
-
uy2618 commented
Totally agree. The Quicken/Intuit concept of categories and classes is what makes it so powerful. Gnucash would massively benefit from adopting a similar way of dissecting accounts. The alternative workarounds suggested by some, such as having multiple expense accounts such as Expense:Pharmacy for Family member #1, Expense:Pharmacy for Family member #2 and so on seem clumsy in comparison when it comes to producing clear reports, though multiple filterings with GC will (eventually) get you the same information.
-
Anonymous commented
not really the place to explain this but accounts generally serve that purpose : "nature" and "class" of the transaction is the same thing:
say i run an event and i want to track what i spent per event
and per type of expenses, my accounts could look like thisaccounts
-revenu (fair of events)
-assets
_ -Cash
_ -Events
__ -event ABC
__ -event XYZ
-expenses
__ -gas
__ -electricityyou enter a revenu transaction that goes to "cash"
from "cash" it goes to event ABC or XYZ then in goes to expensesshure you have to create an account for each event but that
is how accounting works from my point of view.
if you "insert" money into the venture just add an "equity" account.
and "add money" there then put it into "cash" instead of renvenu->cashNote that from "cash" you can split your transaction into more than one "event" or from one event into multiple "expenses" this allows for tracking of say how much you paid electricity , and how much you spent into event ABC .
now if you want to total electricity per event you would need to create a report that "groups by" on target account being electricity. but selecting data from the "event" account. this dives into reporting however and my knowledge of what is possible is limited but i would guess its very feasable
-
[Deleted User] commented
@Anonymous 11-April-2018 - because it was never felt to be useful. It's not difficult to expand full-text-search to these fields, but it would be too annoying to allow arbitrary searching, e.g. "Filter all Desc containing 'Restaurant' and Memo containing '#vacation'" -- the limitation is that too many fields = too many options = developer burden. The equivalent that can be done for this arbitrary filtering is "Restaurant|#vacation' as a full text Desc/Notes/Memo regex filter.
-
Anonymous commented
Best service to possible in digital conversations
-
Anonymous commented
OMG!! I just discovered that I can create a transaction report from search results!! Unfortunately this report doesn't seem to differentiate between Credit and Debit (income & expense) accounts and simply adds everything together. I.e. Job income = $100, Job expenses = $20: Report shows Total Credits of -$120
Can anyone point me to instruction on how to edit this report so that it will give me a useful total of $80? I'm happy to edit e-guile & scheme reports but don't understand them well.
Cheers -
Anonymous commented
I just saw the GNUCash 3.0 manual - Absolutely LOVE the "Filter" Tab in transaction reports but why or why does it only allow filtering on description, notes, or memo!!! I need to filter by "Action" and "Num/T-Num". :'-(
GNUCash has a fabulous Search Function that allows searching by almost anything why didn't you just copy that functionality to the transaction filter?
I really do appreciate the hard work of developers and I want to say thank you for all that you do. Its just very disappointing to find the feature I've been waiting six years for doesn't apply to the fields I need it to :'-( -
AdminGeert Janssens (Core Dev, GnuCash) commented
@Devan to clarify: the hint to unlimited tagging refers to the future ability to define a filter based on the contents of a transaction's description, notes or memo field. So you could enter "tag" strings in either of these three fields and create a report to select only transactions matching one or more of these strings. It's rudimentary but should help you reach your goal.
As for when: the developers are currently in the process of stabilizing the code in preparation of the 3.0 release. It's tentatively targeted for end of March of this year. If there are blocking issues by that time we may delay some more.
-
Devan Mardyks commented
I really hope this feature gets added soon. I run an event company and I need a way to tag transactions for different events without having to create an endless number of accounts.
-
[Deleted User] commented
I can confirm the upcoming Gnucash 3.0 will allow custom filtering of transactions in the default transaction report. So, you'll soon have unlimited #tagging opportunities!
-
DAVID SHARNOFF commented
Rather than add "classifications", add a multi-dimensional tagging system. Allow users to add whatever tag categories they want.
Then if I want to add both "class" and "client", I could do that and they would be independently chosen.
-
Leonard Will commented
Yes, I agree that this is a mojor deficiency in GnuCash. Quicken allows each transaction, or split of a transaction, to be assigned to both a "Category" (which I use for the nature of the expenditure) and to a "Class" (which I use for the purpose of the expenditure, e.g. project or event). The report generator allows you to produce two-dimensional reports, with each row representing a Category and each column representing a Class - as well as providing horizontal and vertical totals. I do hope that some GnuCash developer will be able to provide that type of functionality.
It's important for me because Intuit stopped selling Quicken in the UK after the 2002 version, and I fear that some update from Microsoft will make that version stop working, so I'd feel safer moving to GnuCash. I reaslise tht development effort is voluntary, and much appreciated, but it seems a pity not to be able to complete this functionality which would made a good program into a really comprehensive and excellent one.
-
LJP commented
IMHO, this feature is a must, if GnuCash wants to stay at the forefront!
In case, I (and others) do not understand how to use GnuCash correctly, could someone (i.e. a GnuCash expert) advise how to solve relatively simple real word issues, please?
Lets say, I am an ordinary man who is organising event#1 and event#2. I made one purchase(transaction) and have one receipt, but this transaction includes multiple items (e.g. food and decorations) for both events. So the split transactions are set as transfers Assets:DebitCard1 -> Expenses:Food and Assets:DebitCard1 -> Expenses:Decorations. That keeps the books happy.
Now,
(i) I want to keep it a single transaction, then it will be the same amount as in my bank statement (so I can easily reconcile it).(ii) I want to maintain tracking of how much money has been spend on food (i.e. Expenses:Food) and decorations (Expenses:Decorations)
(iii) At the end of the year, I will have made, lets say, 100 events, and I will want to know how much money (in percentage) I have spend on food, petrol etc for each event individually (I do not want to put a tremendous amount of effort into this; otherwise I could well use an excel spreadsheet or write my own code in python, but I don't think it's wise to re-invent a wheel..).
(iv) Using thousands of accounts (i.e from Expenses:Food:event#1 to Expenses:Food:event#99, and from Expenses:Decorations:event#1 to Expenses:Decorations:event#99) is not really an option, is it?? nor would be an option to use a reversed system (i.e. Event#1:food to Event#99:food etc.), as it would require to consistently create the same eventNames/ProjectNames or the same expense accounts (i.e. Expenses:Food, Expenses:Decorations etc)
(v) Using Vendors and Customers do not seem to allow to assignt fraction of split transactions (i.e. a fraction of items on a single receipt) to different customers/vendors (e.g. event#1, event#2) while retaining expense type (e.g. Expenses:food, Epxenses:transport)
(vi) I could have separate receipts for each event, but there are various benefits for purchasing multiple items at once rather than separately, for example, shipping costs.
(vii) Now, of course, event#1 could actually refer to fixing a car, while event#2 could refer to Holiday2017, and event#3 could be someones birthday etc.
Lack of this option is frustrating me so much, that I would happily move to another software, but I haven't found a free alternative yet.. Could someone recommend one, please ? (I've tried HomeBanks and KMyMoney - none of them really solves the problem!)
Personally, I very much support explanations (why such classification is needed) by the following users (and I would like to hear a robust solution/work around that addresses the issues they have raised):
Craig Lawson (Craig Lawson 2003-05-26 22:16:58 UTC)
Hajo,
Vincent Dawans (https://bugzilla.gnome.org/show_bug.cgi?id=113772#c6),
Kael Shipman (commented · March 30, 2016 22:20),
Jeff Wiegley (https://lists.gnucash.org/pipermail/gnucash-user/2007-July/020873.html)Are we (those who strive for the orthogonal dimensions) misunderstanding something, or is this feature really so difficult to implement??
I mean Craig Lawson raised this in 2003-05, that's 14 years ago! I don't think smartphones existed then, but now we have self driving cars.. :/
-
Anonymous commented
what custom accounting program ? Did you write any custom code for GnuCASH or totally different accounting system.
-
Anonymous commented
Hajo and Vincent are on the right track. I implemented this in a custom accounting program written for my company a few years ago. We settled on these three orthogonal dimensions:
Accounts:
Traditional accounting of assets, liabilities, equity, income, expenses, and appropriate sub-accounts of each. This is useful for getting to a tax return, or knowing things like net income.Categories:
In traditional accounting, we usually only do detail categories on expense accounts. This is probably just tradition. But also because it is difficult to do on things like assets and liabilities. But sometimes, it is very useful to know how much fuel, or electricity, labor, or materials went into a capital asset. By having separate categories for these, you can see how an asset breaks down, just as easily as we now determine how our expenses break down.Projects:
These have more to do with accountability, job costing, etc. At the highest level, a project can be a separate business unit. At lower levels, it can be used as an alternative to traditional accounts (like having a separate project number for different bank accounts, all under Current_Assets::Cash). A project can track the assets in a property, or department. It can also contain expenses, all applicable to that property or department. It is really fun when you can build a separate budget for each project, and then track performance against a budget goal.Projects can benefit greatly from a hierarchical structure, like accounts. Categories can be hierarchical, but they work fine in a flat format too.
-
Kael Shipman commented
I just wanted to add what I think is a very important note to this. In classic accounting, *what* you spend your money on has always been mixed with *why* you spent the money (for example, Expenses:Business:Dining and Expenses:Personal:Dining). Thus, I believe there are a few important steps to take:
First, we need to shift the terms that we use to refer to aspects of the financial system so that they more closely resemble reality, and in so doing, we'll reveal that there's missing data: *why* we spent the money. What is classically termed the Chart of Accounts is more complicated than just that. It's really a structure that stores information about *what* our transactions are: What is money in a bank account? It's a liquid asset. What's money in a mutual fund? It's a long-term investment. What is an expense? It's a good or service, which may be part of a hierarchy of goods and services. Importantly, an expense is NOT a reason, and that's the whole point.
This leads to the second to-do: We need to define a new structure, in this post referred to as "classifications", but perhaps more humanistically called "Funds" or "Budgets" that capture *why* we spent the money. Every split in a transaction should have one or more "Funds" or "Budgets" attached to it.
Thus, when you purchase a meal on a business trip, you register a split in "Expenses:Food:Eating Out" and then mark 80% of that split as coming from your Business fund and 20% (maybe you treated yourself to a glass of beer or two and you don't think your company should pay for that) as coming from your personal fund.
The last element of this is that reporting needs to be able to show *what* you spent your money on as a subset of *why* you spent the money. That is, you might view an expense report and see the visual equivalent of, "You spend an average of $300 per month on business expenses, of which an average of $32 are on Eating Out, $75 are on transport, $100 are on lodging [etc....]"
If anyone is interested in this, please check out theoperationsinstitute.org and get in touch with me. I'm looking to build on the extraordinary work that the GnuCash team and others are already doing by creating a suite of tools geared specifically toward nonprofits.
Thanks,
Kael