I suggest you ...

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.

288 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    ghrghr shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    wlwernerwlwerner shared a merged idea: Provide an option to create transaction tags to record categories that one wishes to track.  ·   · 

    26 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • DarrrylDarrryl commented  ·   ·  Flag as inappropriate

        I think that it should be relatively easy to do by using the "jobs" feature. You can link invoices and bills to different jobs ( Rental unit 1 ; Rental unit 2, Dept 1 ; Dept 2.....) currently but you are only able to pull the one job report and it shows only income, no expenses. If the job report could be modified to allow the selection of expense accounts then a report could be generated with the expenses to compare with the revenue reported for the "job".

      • Gideon AdedokunGideon Adedokun commented  ·   ·  Flag as inappropriate

        I have a technical business (say AB LLC) which has a number of departments/divisions e.g. AB Building & Construction, AB Electrical Engineering, AB Furniture, AB Technical School, etc. There are single revenue, expense, asset and liability accounts (it is just one business after all) but I will like to be able to report by department for performance management purpose. I hope the dimension/segment reporting feature is implemented ASAP.

      • bthomsonbthomson commented  ·   ·  Flag as inappropriate

        DB: What do you mean by meta-accounts? This sounds like a solution that might help us sort multiple organizations, projects and expense categories. However I can't find any reference or help on setting up a project (you use 'property') as a meta-account. How do I do this to see if that's a solution for out accounting system?

      • DBDB commented  ·   ·  Flag as inappropriate

        Are you talking about meta-accounts? For instance, you'd set up each property as a meta-account, so that if you enter 'Property1' as a sub-account anywhere in GnuCash, it is automatically classified as part of the 'Property1' meta-account... so Expenses > Electricity > Property1 and Expenses > Water > Property1 would both be part of the 'Property1' meta-account, and you could then tally all the data for the 'Property1' meta-account separately from other meta-accounts. Thus, you could get an individualized look at how each property is doing.
        I have a similar idea, but using a spreadsheet to extract the data from GnuCash for each property. Two paths to the same ends. Not sure which would be easier to implement.

      • Anonymous commented  ·   ·  Flag as inappropriate

        My understanding is that this could be accomplished using fields or slots on transactions, and most of the frameworks is already there, just needs some new standard definitions and a lot of new UI, see http://gnucash.1415818.n4.nabble.com/What-the-use-of-slots-table-in-gnucash-with-mysql-td4656874.html. Perhaps this could be done in a plugin, but I don't know much about how plugins work with gnucash. Anyone know if there's been any work done on this?

      • JohnMJohnM commented  ·   ·  Flag as inappropriate

        I'm familiar with a major commercial accounting system which has the concept of "Ledger Dimensions" similar to that mentioned by "Hajo". His proposal seems to me to be a professional and well structured approach to meeting this need.

      • Vincent DawansVincent Dawans commented  ·   ·  Flag as inappropriate

        Yes I too would like to see this feature but wish we could call it for what it is to dispel misunderstandings.

        What we are looking at here is features for analytical accounting: the ability to classify transactions along orthogonal dimensions that have nothing to do with the GL accounts.

        As James points out, I give more detais about this in my post at https://bugzilla.gnome.org/show_bug.cgi?id=113772#c6

        Here is another explanation about the difference between General accounting (what gnucash does very well) and analytical accounting (what gnucash does not so well):
        - General accounting (or financial accounting) is for identifying the assets and liabilities of the business. It is managed using double-entry accounting which ensures that each transaction is credited to one account and debited from another.
        - Analytical accounting (or management accounting, or cost accounting) is an independent accounting system, which reflects the general accounts but is structured along axes that represent the company’s management needs.

        Found here: http://doc.openerp.com/v6.0/book/3/3_7/index.html

      • JamesJames commented  ·   ·  Flag as inappropriate

        Comment 6 on teh bugzilla form did a great job of clarifying this for me.
        https://bugzilla.gnome.org/show_bug.cgi?id=113772#c6

        I have had a similar want when dealing with rental property. My original idea was a top level account that allowed for any type of sub-account (liability, expense, equity, asset, and income). Logically it is the same as how I understand the idea for categories.

        My work around now is a separate GnuCash file for each rental property. This was fine when I only had one, but it could get ridiculous (I admit my work around is not as clever as others).

      • Rise-TRise-T commented  ·   ·  Flag as inappropriate

        I've been waiting for an equivalent to Quicken's classes for years. This has been my prime reason for using Quicken instead of GC. I've tried various ways to circumvent my need for classes/tags in GC by changing my account structure, but all of them were pretty cumbersome, unnecessarily complex, and led to a lot of work. I was almost wondering if I was the only one with a need for this feature - which is obviously not true.

      • HajoHajo commented  ·   ·  Flag as inappropriate

        I suggest a more general solution to this requirement: its called "Dimensions":

        Dimensions
        ==============

        A "dimension" is an additional information on a split booking.
        One split booking can have multiple dimensions (three normally should be enough).
        Every "dimension" is a tree structure with root, branches and leaves.

        create table dimension (
        dimguid char ( 32 ) primary key, // Global Unique Identifier
        dimwhich smallint default 1, // Which dimension [1..3]
        dimtype char ( 1 )
        check ('R', 'N', 'L'), // Root, Node, Leave
        dimname char ( 30 ), // Any name. Should be unique within same dim
        dimno long, // Any number. Should be unique within same dim
        dimparent char ( 32 ) // Reference to parent entry
        references dimension.dimguid
        );

        A split booking needs three additional columns for dimensions 1, 2 and 3. Column types are
        references to the global unique ID of a dimension entry (dimension.dimguid).

        The root entry gets the name of that dimension (e.g. "costcenter").
        This root names should be used for column headers when displaying or printing a split booking.

        Screens:
        "Dimension-Management" similar to Account-Management with three root entries for the
        three dimensions. Default names could be "dim 1" to "dim 3".

        "Journal" to be extended with three columns for the dimensions. Each one should be usable as
        a filter to only display all transactions and/or splits containing references to a specific
        dimension or even dimension entry. E.g.: only display/print all transactions which have at least
        on split booking with a reference to dimension1. Something like:
        "select ... where split.dim1 is not null..."
        Also this display/print should be filterable by a time period.

        Additional functionality could be to restrict dimensions only to be used on split bookings
        which have an account of type income or expense. Anyway this restriction has to be configurable
        because it does not make sense for all kinds of uses.

        Questions? mailto:hlemcke@web.de

      • Bob BrushBob Brush commented  ·   ·  Flag as inappropriate

        Also on the Customer Summary Report there is an entry for "No Customer" this is the total of all entries that are not tagged. It can be a useful indicator of how valuable the rest of the report is.

      • Bob BrushBob Brush commented  ·   ·  Flag as inappropriate

        GnuCash does have a little known feature that can accomplish some of these scenarios, but it requires the use of the business features, and it is not documented so you are kind of on your own to figure it out. In the example above you would create an Electricity Vendor, and a Property Customer, then when you create a Bill for the Electricity Vendor, on the same box enter Property1 for the customer. Now on the Bill you enter the line whatever the charge is for, select the account Expenses:Electricity and the amount, then post the invoice. At this point we have "tagged" the expense while still in the proper account with the property. You can also enter rental charges and payments by creating an invoice for property1. It gets even better. After entering all the utilities, and the loan payment for the property1, and entering the rent charged you can run a report and determine the profitability of property1. Look in the Reports menu for Business and then Customer Summary. This report totals everything "tagged" by Customer and displays the total income, expenses, and the difference, including the %. You can sort the report by name, profit, expense, or income. You can also select or deselect expense and income accounts, to enable yet another degree of control, in the case of Income:Commercial Rent and Income:Residential Rent or whatever the case may be. There are also the concept of "Jobs" which are yet another subcategory under Customers, although I have not used this feature. In the future we may consider a report for jobs or extend the existing report.

      • David ValicekDavid Valicek commented  ·   ·  Flag as inappropriate

        Yes, custom classification/tagging/labeling of transactions as well as classification/tagging/labeling of invoices, jobs, etc is a really important feature.
        This classification should ideally enable a hirerarchy, as Ben Bucksch in his post to the original feature request wrote. This enables to analyse/report expenses per Program>Project>ProjectTeam or per a hierarchy of cost centres or per a hierarchy of customers or whatever else like this.
        Enable putting the transaction into zero, one or more such a custom classes.

        Please let me distinguish such a "transaction classification" feature as special case of "user defined fields/attributes" which I describe in a separate request:
        http://gnucash.uservoice.com/forums/101223-feature-request/suggestions/1951947-user-defined-fields-attributes?ref=title

      • rjprjp commented  ·   ·  Flag as inappropriate

        I would like to see this for each transaction split, not only one tag per transaction.

      • NettoNetto commented  ·   ·  Flag as inappropriate

        Something like a tag system would be very powerfull and simple to implement. One should be able to group a transaction under zero, one or many tags just by adding it at the description field or at any other specific field. With this, all the existing structure remains the same, but we can have new reports filtered by these tags and/or accounts.

      • Nila AkashNila Akash commented  ·   ·  Flag as inappropriate

        As a followup to my previous post--after searching for transactions you can then go to Reports/Account Report to get a report showing only those transactions that were found by the search.

      • Nila AkashNila Akash commented  ·   ·  Flag as inappropriate

        I have wanted this feature for years. Tags, labels, or Quicken-like classes--any of these would do. As others have noted, it could greatly reduce account structure complexity.

        I have found a work-around for simple projects: develop your own tag system and put the tag as the first part of the transaction description. Very simple reports can then be generated by using Gnucash's transaction search feature and searching for that tag.

      ← Previous 1

      Feedback and Knowledge Base