Comment by elevation
> muti-dimension transaction classification
Is there an SMB package that supports this?
In a chart of accounts you might have a Travel/meals/lodging account. The IRS will allow you to write off an employee's meal if it meets certain requirements, but as a company, if your policy is to reimburse employees for meals regardless of the write off, you'd need two sub accounts:
Travel Meals Lodging (IRS Exempt) Travel Meals Lodging (Non IRS Exempt)
Now let's say I get a government contract where I'm contractually allowed to bill certain items to the program, but the contractual definition doesn't overlap with IRS definition, such that I need four categories to track all my expenses:
Travel Meals Lodging (Program Exempt, IRS Exempt) Travel Meals Lodging (Program Exempt, Non IRS Exempt) Travel Meals Lodging (Program Non Exempt, IRS Exempt) Travel Meals Lodging (Program Non Exempt, Non IRS Exempt)
While this technically works, it feels very wrong. I'd love a tool that would let you reconcile the general ledger against more than one Chart of Accounts, or even tag expenses for reporting purposes.
You are correct in your example and yes, it should feel wrong. That workaround is totally fine though and most small companies will do something like how you have described.
In your example, using multidimensional accounting you could book one entry to "Travel Meals Lodging" GL account and have the dimensions "Program", "IRS Exempt", "T&E Subcategory". This creates a one-to-many relationship with the transaction instead of having 4+ GLs. You could book to one GL "Travel Meals Lodging" with the dimension values "Program Non Exempt", "Non IRS Exempt" and "Meals". You could design the dimensions differently, but I am just trying to give you an example.
No, I am not aware of an SMB package that supports this. It probably exists but from what I understand it makes the database more complex (cube?) and everything more compute intensive on the reporting side. Thought I haven't looked into it much - if you find anything, let me know.