The General ledger module is the financial reporting backbone of the construction software package and prepares and prints the balance sheet, income statement and cash flow reports according to GAAP (generally accepted accounting principles). Data is fed to the General Ledger from the sub ledgers to keep track of all expenses, accounts receivable, accounts payable and various assets. It maintains all key financial information including budgets information and transaction history. One may think of the General Ledger as company wide financial reporting vs. the job cost ledger which is project specific. The total of all the job cost ledger postings should balance to all the costs in the general ledger to maintain accounting integrity.
Thus, it is important that the general ledger has accessible and flexible databases to maintain all of this information. Good general ledger modules work with Report Writing modules to produce traditional financial statements and allow for custom reports as needed. Modern systems support drilldowns which allows you to click on an account in the General Ledger which shows all detail postings from sub ledgers and then “drill” back to the sub ledger to see the original entry and an associated document (such as a PO or vendor invoice).
Contractors who keep multiple entity sets of books often need the ability to perform intercompany transactions where you can affect two separate entities with a single transaction. An example might be recording the receipt of inventory for one entity while simultaneously creating an accounts payable entry to a second entity who will be using it for their work. Creating a consolidated financial statement with intercompany elimination entries would be another example of more robust requirements for general ledger.
Contractors who do divisional accounting and want to attribute revenues and expenses for a single job across those divisions will also need a more robust general ledger capability. This “project accounting” will require a modern robust database capability not available in older products.
The ability to both export and import data from other programs is important when interfacing with third party systems for estimating, document management, scheduling or for corporate wide reporting.
Date sensitive posting
Another aspect of accounting is the ability for the system to recognize a specific transaction date entered and post it to the proper accounting period based on that date. Older systems will often only allow for a single current period and automatically post all transactions to that period. This approach requires more sophistication on the part of data entry operators to avoid posting to the wrong period.
Standard reports such as income statement, balance sheet and trial balance are to be expected. The ability to report job expenses and revenues to jobs assigned to specified divisions may be needed by larger contractors. A statement of cash flow is not commonly found in smaller packages.
More and more managers want to see exception “dashboards” which are essentially reports that highlight KPIs (key performance indicators). For a contractor this might mean a list of change orders awaiting approval, jobs with significant over or under billing amounts, purchase orders which if approved would exceed the total budget for a particular job cost code, jobs running behind schedule and the like. Dashboards are thumbnail sketches of the current status of jobs or of items that need immediate attention. The ability to modify dashboard data and to define ratios, etc. by the user can make it a useful and exciting tool for management.
Another important aspect of ledger accounting is cash reconciliation. All vendors have it to some extent but it varies greatly in terms of ease of use. A proper reconciliation program should always provide an on-screen unreconciled balance as part of its function.
Finally, a well designed system should not allow the general ledger to ever be out of balance with the job cost subledger totals. This means that a job identifier must be entered with every transaction, unless you specifically identify it as a non-job related item, otherwise the system will not allow the entry. A monthly reconciliation report proofing the General Ledger cost code balances against the job ledgers would be a useful audit trail in case any questionable entries must be traced back.