Strategies to drive synergy and efficiency across estimating, performance tracking, accounting and reporting.
By Greg Norris
Cost codes give heavy construction companies a tool for organizing activities and items into logical categories, but developing the right structure can be tricky. Regardless of size, software systems used or type of work performed, each company must match its unique requirements, balancing practical usability in the field and the office with a level of detail that will provide meaningful insight.
Applying and assigning cost codes consistently through the estimating, budgeting, scheduling and execution phases of projects can then allow them to track and analyze the financial performance of those activities and items. This data is extremely valuable in adjusting estimates and operations to improve profitability on an ongoing basis.
There is no single best solution, but Experiences of an expansive range of contractors using B2W Software, however, provide insight into proven best practices.
Identifying goals and involving people
Many contractors rush into a highly detailed cost code system. The belief is that, any activity or item that can be coded and tracked should be. A better approach is to begin by assessing what the company wants to get out of the coding system. Asking questions like ‘What information do we already know about operations?’ and ‘What kind of additional data could give us valuable insight into running operations more profitably?’ can shape a cost code structure with solid business justifications rather than one built to track anything and everything.
For most companies, the answers to these questions will center around getting a better picture of actual production rates, bidding more accurately, analyzing equipment costs and finding out precisely which activities are making or losing money.
Leaving development of a cost code structure up to accountants or executives alone is a mistake. Estimators, project managers, field personnel and other employees can provide important perspectives. They often have the best sense of the everyday logistics of using and assigning codes and the most realistic feel for what level of detail is practical.
Engaging hands-on, non-financial users in the development process also enhances buy in. Employees will be more likely to use codes properly if they had a role in developing them and understand why they are important to their co-workers and the company as a whole.
The ideal level of detail
Getting the right level of detail to meet reporting objectives and requirements is the number-one challenge contractors face in developing an effective cost code structure. The ‘sweet spot’ between too much detail and too little will vary widely from company to company.
Three codes to differentiate between ‘small’, ‘medium’ and ‘large’ pipe could be sufficient for one utility contractor. There may be no measurable difference, for example, in the process, equipment or labor that company would use to install six-inch or a ten-inch pipe. Another contractor, however, may need 15 different codes to track 15 specific pipe diameters and types that its crews install in order to analyze and adjust operations.
A complex coding structure with an excessive volume of codes, however, can be an unnecessary burden on those who have to use it. Employees can end up wasting a lot of time looking up and trying to assign precisely the right code just to generate information at a level of detail that isn’t useful or not worth the effort it takes to get it. Extremely granular or specific options also create more opportunities for coding errors, which lead to misleading reporting.
Agreeing on reporting goals at the outset can minimize the level of detail and the volume of codes. Starting with the basic codes required and then adding more, as needed, is almost always a better approach than starting with a high level of detail and then trying to eliminate and consolidate codes later.
Choosing a Character Scheme
Contractors can use virtually any combinations of numbers or letters in their cost codes, depending on individual preferences and requirements. However, there are some proven best practices that can make structures more effective and prevent unforeseen problems related to sharing codes across systems or expanding the list of codes to add detail in the future.
Five digits tends to be a good minimum length for numeric cost codes. This provides room to add items under a main category or sub-category signified by the first one or two digits. Alphanumeric codes may also be a good option, as long as they are accepted by the accounting systems. A code like EXC470, for example, makes it easy to identify that the item is related to excavating.
Making sure the numerical or alphanumerical concept is compatible with the accounting and ERP systems as well as any reporting systems is also a critical first step. This means being conscious of things like character count limits and the use of dashes, periods or other special characters.
Organizing by Category
Organizing cost codes into logical categories makes a lot more sense than assigning them arbitrarily or in a random numerical succession. Categories make it easier to recognize quickly where an activity or item belongs without having to remember or look up dozens or even hundreds of codes.
The basic structure illustrated below presents a good example. All items in the “10000” category are related to General Conditions, all items in the “20000” category involve Land Clearing/Demo, and so on.
This is also a flexible concept, making it easy to increase the level of detail in a parent-child relationship under each category. In example 2, Electricity and Internet have been added to provide more specific detail for coding Temporary Utilities.
Some contractors opt for a gradual “soft” start. They roll out new cost codes to one crew or division at a time or give field personnel the option of using old and new systems simultaneously over a period of weeks or months so they can get comfortable with the new codes.
This approach seems sensible, but it can backfire. Maintaining two systems for a period of time can lead to errors, uncertainty and extra work. Given the easy option, field personnel may also stick with the old system they are familiar and comfortable with for as long as possible and delay embracing the new codes.
Assuming that previous steps for envisioning and creating an effective code structure have been met, it’s almost always better to establish and stick to a hard “go live” date. Companies that start with a basic level of detail and then expand the volume of codes as needed over time (page #) are also in a better position to succeed with this method.