Perpetual Accounting

From ADempiere
Revision as of 08:15, 8 March 2012 by Cboecking (Talk) (Executive Summary)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Description

ADempiere implements the modern Accounting Theory referred to here as 'Perpetual Accounting'. It refers to the process of financial reporting especially as it relates to the Year End Closing Process.

Executive Summary

Processes were created many years ago to help humans manage the high volume of accounting. An example process includes transferring totals from income or expense accounts to retained earnings to help report profit to owners. Modern computers are fast and capable of handling more complex high-volume math than humans.

This document discusses how to use the power of modern computing to simplify the financial reporting while managing the complexities of multiple calendars, currencies, and organizations. The solution is to create a special purpose account in the P&L section of the ledger and post a single calendar-end GL Journal debiting this account (assuming we made a profit) and crediting the Balance sheet - Retained Earnings Account. The sum of all P&L accounts will now be zero as will the sum of the balance sheet accounts.

Background

When handwritten accounts books were kept and calculators/computers did not exist, certain processes were adopted to enable accounting to be done with the limited tools available at the time. Some examples:

  1. Subsidiary Ledgers for all kinds of transactions were kept and then just the totals of these were posted into the general ledger. The reasons were simplicity and the fact that two people could not write in the same account book at the same time. Computers don't have this problem but a common hang over in todays financial software is the breakdown of the General Ledger into Debtors, Creditor and General (sometimes referred to as Nominal) Ledgers.
  2. Debits and credits were kept in separate columns because it was easier to add all the positive numbers in the debit column and then all the 'positive' numbers in the credit column and then subtract one from the other to find the net movement. It was beyond people's capabilities to accurately add a column which contained both positive and negative numbers. Computers don't have this problem.
  3. At year end it was necessary to find the profit or loss and update the retained earnings of the owners. It was also necessary to start entering transactions in P&L accounts for the new year from a zero balance. This was done by actually posting entries in the manual ledgers at year end to bring each P&L account to a zero balance with entries like:
  • Income - (assume a credit balance of 100) - enter a debit of 100 and a credit to the P&L account of 100
  • Expenses - (assume a debit balance of 80) - enter a credit of 80 and a debit to the P&L account of 80
The Income and Expenses account now each have a balance of zero and the P&L account has a balance of 20 credit which could then be journalled to the retained earnings account in the balance sheet so the P&L account now also has a balance of zero and the sum of all P&L accounts is zero (as is the sum of all balance sheet accounts).
Computers don't need to do all this! They are happy to just add up all transactions between a start date and an end date and print the numbers on a report.
It is interesting that some people keep trying to make computers operate the same way as old manual accounting systems. [Many people will have heard the expression "closing the books". The following link has quite a good explanation of the steps to be followed http://www.sbaresource.com/closing_the_books.htm It may have been written by an accountant who still owns a quill pen ;-) ]

The Solution

Today, with computers doing the arithmetic and hard disks so big that we don't have to remove prior year transactions, to perform the equivalent of 'closing the books' we can simply create a special purpose account in the P&L section of the ledger and post a single GL Journal debiting this account (assuming we made a profit) and crediting the Balance sheet - Retained Earnings Account. The sum of all P&L accounts will now be zero as will the sum of the balance sheet accounts. Software can prevent additional transactions entered in these now 'closed' periods. Normal P&L Reports can simply exclude this 'transfer' account and add up all the transactions between the relevant start and end dates.

The benefit of this approach is:

  • it's very simple,
  • the Profit & Loss information is always available for multi-year reporting because each P&L account has not had a transaction entered to make it balance to zero (regardless of whether this is done in some pretend 13th accounting period)
  • there is no need to make one sided journal entries into the retained earnings account so as to preserve the P&L history by not forcing each account to a zero balance.
  • if you have multiple reporting calendars, say for a parent company balancing on 31st Dec but the subsidiary company balancing on 31st March then all you need do is create 'closing' journals at each of 31 Dec and 31 March and you can easily report for both balance dates. With an approach where the balances are set to zero at a single point in time this is not possible. the journal that was entered explicitly shows the P&L figure that is being transferred to the equity general ledger account.

In Adempiere if you are going to produce a balance sheet for a period for which you have not done a 'closing' journal, the Balance Sheet report layout must sum and include each P&L account into the Equity section of the Balance Sheet report. This is because the sum of whole trial balance will always be zero but the sum of just the balance sheet general ledger accounts will only be zero at the end of a group of periods where a 'closing' journal has been posted. The P&L accounts can be summed into a report line called Current Year Result (or similar) or can be added into the Retained Earnings account balance line. You could of course post a 'closing' entry each month if you wanted to but there does not seem a lot to gain from doing so.

It follows from the above paragraph that, in Adempiere, you could do no 'closing' entry at all and simply rely on the reports adding the correct figures from the ledger and including the P&L account balances in the equity section of the balance sheet. Since Assets minus Liabilities = Equity plus P&L accounts it really does not matter whether the P&L accounts add to zero (because their values have all been journalled to the retained earnings account) or whether they have a balance which is just added to retained earnings. However a good reason to actually post a journal is that it shows exactly what was calculated and reported to be the result for a period and if something is subsequently changed in a P&L account (either intentionally or by some error) then the sum of the P&L accounts for a group of periods will no longer be zero and the accountant will be alerted.

See also Discussion Thread: https://sourceforge.net/forum/forum.php?thread_id=1621218&forum_id=611161

Steps to implement

  1. Add a new Account of type Expense, called something like "Profit Transfer" (suggestion: make it the last of all the P&L accounts) and be sure it doesn't roll up into any other accounts
  2. Add the Profit Transfer account to Financial Reports that you use for any Trial Balances
  3. DO NOT ADD the Profit Transfer account to your P&L Statement
  4. Configure your P&L so that the Report Column/Amount Type uses "Year Balance" not "Total Balance"
  5. Configure your Balance Sheet so that the Report Column/Amount Type uses "Total Balance"
  6. At year end, make a single journal entry into Profit Transfer offsetting the Total of the Income and Expense Accounts. Post the other side of the entry to Retained Earnings
  7. Close the period