In these tax return days, please raise your hands all who love accounting. Anybody?
Accounting - double-entry bookkeeping - transactions. Basically unchanged since 1494.
Did they have computers in 1494?
So why do we keep doing it the same way the Venetians did it?
The double-entry bookkeeping has one requirement: Register transactions.
When your product changes owner it's deemed to be a transaction. No, hang on, not always, you have differing rules there, from country to country, from year to year. So what you register as a transaction one year may not be a transaction the next. A moving target indeed.
In practice we try our best to reflect the transaction by a an invoice, a contract, a bill of transport or a receipt of delivery. Then that travels to the accounting department who's main purpose is to make educated guesses as to what bill, receipt or invoice best reflects what the tax authorities rules as that particular transaction in section 93, part 3, clause 34.
Next year clause 34 is amended and comparing last year's results with this year is like comparing apples and bananas.
In reality most of "how we do things" in business is a direct result of the 514 year old accounting method. It created the invoice, the bill-of-whatever, the report - no other need for such massive resource wasting documents and reporting requirements.
Then you have Enterprise Software, the stuff that has made the world's best and brightest production and retail companies amazingly efficient. Guess what principles these are built on. Yep, transactions. 514 year old methods nicely translated into efficient code. Not to mention the invoices, bills-ofs, documents and forms, yech.
Is that fair to the code? Is that really smart at all?
The thing is - I do not disagree with the concept, I merely disagree with how it's done, i.e. accounting as in methodology:
Today: You make up your mind as to what report or activity that best matches the current and local rules, then register that as a "transaction". Then you make best use of that piece of manipulated data, raw data with somebody's logic stuck to it. Any changes at a later date requires unsticking the transaction, reapply a different logic (rule) and stick it back into the system.
As a result you end up comparing apples with bananas, reconciliation bloating your OH and days, weeks or even months gaps between reality and reporting of that reality. (Nice way to architect a management control system eh? Drive a car by proxy.)
Tomorrow: Register what really happens when it happens, not the transaction but what really, really happens: Widget is created, widget is painted red, widget changes owner, widget leaves our warehouse. These activities are direct results of tasks, again results of work orders and all such can be captured. If your Enterprise Software is meant for that first and foremost (and not to exist in order to register transactions), well then you have the raw data onto which you can apply some logic in the form of templates at the back end: One for UK GAAP, one for German GAAP, one for last year's rules, one for this year's rules.
As a result you have only apples or only bananas, no reconciliation and real reports in real time. Drive with direct steering.
First step to better business, better use or resources, a greener world, better profits and more time for the family is - well, rather simple: Disentangle us from the 514 year old methods!
Good riddance to accounting as we know it. It will happen.