system76 / beansbooks

A revolutionary cloud accounting platform designed for small and medium businesses.
130 stars 36 forks source link

Class/Tag system for expenses #75

Open joeyxandem opened 10 years ago

joeyxandem commented 10 years ago

In my business, we often need to classify or tag certain expenditures. For example, let's say we have a grant from a government agency and it includes a budget for research payroll supplies. We don't want to create new accounts for this grant because it complicates the account tree, especially if you have multiple grants.

With a classification tagging system, when we buy a supply that applies to a grant, we can categorize the expense just like any other, but then add the class so that it applies to the correct class budget. So let's say we buy computer monitors for the office, we could categorize the expense as "Office Equipment" but then apply the class "Grant:Supplies" and everything stays clean.

Later, we can either see how much we spent on Office Equipment, but we can also see our total expenditures under the government grant.

We're currently using quickbooks online to do this and it has a "Class" feature that works nicely. We would love to move to Beansbooks due to the open source nature, so we're hoping some of these more advanced features get built out soon! Thanks to the devs for their hard work and keep it up.

funnylookinhat commented 10 years ago

@joeyxandem - That's an interesting use case. I wonder if the best solution would be to use line items in expenses specific to the grant accounts, and then for us to create a report that allows you to find costs by line item over a period of time. Do you think that would work for you?

WatchMkr commented 10 years ago

At first blush, I think the Chart of Accounts should be used in this case. A heading account with sub accounts - which would be categories - in Quickbooks parlance. In BeansBooks, one doesn't have to be concerned with the Chart of Accounts growing. Search is used for data entry thus rendering traversing a large tree unnecessary. Further, zero balance accounts (a depleted grant from last year for instance) won't show in reports by default.

If I recall correctly, a new feature adding the ability to choose which accounts are visible in a report will drop with the next release or shortly thereafter. That feature, combined with detailing the Chart of Accounts, enables robust reporting within the existing framework. The only addition would be searchability in the journal transfer account field ( Accounts > Checking > Add Transaction > ability to search in the "Transfer Account" field.)

funnylookinhat commented 10 years ago

@WatchMkr makes a good point - though I think it would help to understand the use case a bit more... How many grants are typically active at your organization? How many have existed over the course of it's history? Do they ever repeat year over year? I would say that the approach to using the chart is ideal except for the slow growth of the chart ( i.e. after 10 years you would have such a large section under "Grant Funded Expenses" that you couldn't make heads or tails of it any more when trying to quickly browse through or pick which expense account to record a line to ).

The current means of removing an account from the chart actually removes it's journal and transfers all of it's old transactions to a new account ( thus removing the historical accuracy of data ), maybe that needs to be re-thought so that you can accurately create and remove ( or more accurately, create OR enable & remove OR disable ) expense accounts that are no longer relevant. More power over the shape of the Chart of Accounts would hardly over-complicate things while vastly increasing it's usefulness.

WatchMkr commented 10 years ago

@funnylookinhat archiving an account may be the answer. Archived accounts would be no longer visible in the Chart, retain historic detail and provide the ability to un-archive if transaction journal details are needed - for audit purposes or otherwise. I can already think of an account or two I would archive.

funnylookinhat commented 10 years ago

@WatchMkr "Archive" - yes, exactly the word I was looking for. Only question remains is whether you would ever want to resurrect an account out of that status. That and a further explanation and clarification from @joeyxandem to make sure this is a broad solution.

WatchMkr commented 10 years ago

You would want to be able to un-archive. I think Archive does the following:

1) Hide the account in the Chart of Accounts

2) Hide the account wherever the Chart is exposed for data entry (journal and forms)

3) Retains the account in reports: The Balance Sheet, Income Statement and other reports must still show the effect of the account.

In the Charts UI we would add "Archive" next to each account and at the top right possibly a check box to "Show Archived Accounts". Archived accounts would have Un-Archive replacing Archive in the account option list.

We are missing one part of @joeyxandem request. The additional category allows them to track "Office Expense" as a whole and "Office Expense as part of X Grant" separately. Keeping our UI and work-flow clean may come at the expense of double categorizing items.

funnylookinhat commented 10 years ago

I think sub-accounts solve that problem. Office Expense could have a sub-account for the specific grant you wanted to use it for - that way reports would summarize broken-out accounts anyways. As an example:

    Office Expense    $1,000
        Grant: Fun Foundation    $500
        Grant: Winning Award    $500
    Office Expense Total    $2,000

I do see this becoming unnecessarily complex if you used multiple grants across multiple shared expense accounts - but I think that you're already looking at a complex problem with a complex solution; at least this keeps it standardized in such a way that the overall methods of BeansBooks aren't changed in order to fix a single outlier, but rather it expands the broad-based solution to include that and other unique scenarios.

joeyxandem commented 10 years ago

To answer your question about our grants... we currently have 3 grants and have had a total of 6 over the history of the company. They repeat for 2 years usually.

I personally don't like the solution of using the chart of accounts for everything. The reason being is that it generally leads to things being categorized in multiple places. For example, the chart of accounts may look like this if you do it that way:

Grant A:

Notice how you have three places to put travel expenses. Under grant A's parent account, under grant B's parent account, and also under just regular company travel expenses that don't apply to a grant. If you choose to do it the with the grant expense categories split up, then you get something like:

Travel:

There are some major problems with this. If I want to see the total amount spent on a grant, I have to manually add up a bunch of subaccounts. That is a nightmare once things get a little less simplistic as this example. Also, notice how payroll wages get split up into multiple accounts, that's a disaster as well because so many things rely on calculating a total payroll at the end of the year (insurance, taxes, etc).

If you had classes, you could just categorize all travel expenses under the main accounts and apply the classes when a particular expense applies to a grant. It's a really simple way to apply expenses to a particular budget but keep the account tree very clean.

Just for reference, here's what you can do with Quickbooks classes. I'm not alone in the needs that classes satisfy. It's not just for grants, it can be used for a lot different things. https://support.qbo.intuit.com/help/qboe/help_company_class_about.html

funnylookinhat commented 10 years ago

@joeyxandem - I don't think your second categorization appeared quite as you meant it to, so correct me if I'm wrong - but is this right?

    Travel
        Grant A Travel
        Grant B Travel
    Company Wages
        Grant A Wages
        Grant B Wages
    Supplies

Assuming it is, I think that we can solve those with the reports that @WatchMkr mentioned. We already have several reports setup to manually total sub-accounts together to make reading them easier. With the addition of another feature he mentioned - to create reports with only specific accounts - you could easily discern how much each grant used in total, in addition to on each individual category.

Ultimately, we don't want you wasting your time manually adding up information either - mostly because we feel exactly the same way when we have to manually sum up information. :) The best solution seems to be to create sub-accounts under each type of expense for your grants, and for us to create a report that does all of the heavy lifting for you.

What we're really trying to do is avoid a second type of classification on expenses; it feels excessive when doing most other normal accounting entry. If we can find a solution that allows you to type in a description, tab to the categorization field and just type "Travel A", and then click "save" - I think we'll be saving you more work in the long run while providing a clear delineation of where money went and how it totals up.

joeyxandem commented 10 years ago

@funnylookinhat I think that would work. I'm still not convinced it's the best solution though. I'm a fan of fleshing it out to figure out what the best way to do something is, so I'll give it some more thought...

One thing to keep in mind is if you have a classification system, users would not be required to use it. You can always leave it blank if you don't want to apply a transaction to a class. That's how it works in Quickbooks Online anyway.

By the way, if any developers want to call me to discuss feedback on Beansbooks, I'd love to talk about it. I am a small business owner and my company uses many kinds of tracking in our accounts (purchase orders, receipts, invoices, grant/project ledgers, etc). I am also an electrical engineer so I know a lot about software. I have spent a while going through Beansbooks to determine if it is something we can migrate to. I really love the open direction you are going and want to help provide feedback so that this can be a tool that completely takes over the industry. Email me at joey@xandem.com if you want to chat in more depth about my general feedback.

funnylookinhat commented 10 years ago

Moving this feature into the current development roadmap - we'll be building in report customization as soon as we've figured out the best interface for including / excluding accounts from reports. We're also going to add archiving accounts as a feature for the same roadmap.