This document explains the components and business purposes of cost codes in COINS.
Figure 1: Cost Code Components
* = For Section and Activity, it could answer those questions or follow different, user-defined guidelines. Sections and Activities can be used however they are needed to organize cost codes.
** = “Kco” is a COINS-term for “operating company.”
Cost Code Examples
Figure 2 displays a few examples of how cost codes could be set up in COINS:
Figure 2: Standard Cost Types
Mandatory Components
The Cost Type and Cost Category are the only mandatory components of every cost code.
Standard Cost Types and Cost Categories are set up by kco and will always mean the same thing for every job.
Cost Type
Standard Cost Types (“kco-specific” cost types) are set up in Job Status > Setup > Setup Maintenance > Standard Cost Types (Figure 3). They must be added here before they can be used on a job.
Standard Cost Types are designed to answer the question: “What type of cost are we incurring to do this work?”
Standard Cost Types become cost codes when they are added to jobs. This is detailed further on page 12 in this document.
Figure 3: Standard Cost Types
Cost Category
Cost Categories are set up in Job Status > Setup > Configuration > JC Configuration > JC Configuration Tab (Figure 4).
SureStart standard configuration is L for Labor, M for Materials, E for Equipment, S for Subcontract, and O for Other.
Cost Categories answer the question: “What category/bucket does this cost belong in?”
They also determine the default G/L Account masks for new Standard Cost Types.
Figure 4: Cost Categories in JC Configuration
Optional/Job-Specific Components
WBS (Work Breakdown Structure) Codes enable the use of Section and/or Activity on cost codes. WBS Codes are job-specific and optional.
WBS Code = Section + Activity.
If only Sections or Activities are used, WBS Code = Section or WBS Code = Activity.
WBS Codes are enabled in the Configuration section during job setup, on a job-by-job basis (Figure 5).
The length of the WBS code on this job is defined by: Section Length and Section Start Position plus Activity Length and Activity Start Position (Figure 5).
The default values for these fields are decided by the JC Parameters DEFACT and DEFSECT, explained in further detail on page 7.
Figure 5: WBS Configuration in Job Setup
Not all jobs have to use WBS codes. However, if WBS codes are to be used on some jobs, it is best practice to use them on all jobs. For those jobs that don’t need a detailed breakout by section and/or activity, one simple WBS will suffice. This way, cost codes will be the same length across all jobs. Also, once a cost code is hit on the job, WBS codes can’t be added to that job.
WBS codes do not determine the GL account that costs will ultimately post to, and therefore costs can be transferred across them if the checkbox for Allow Cost/Revenue Transfer is selected and the Cost Type is the same from one WBS to the other (Figure 5).
Since WBS codes are job-specific, the same code can mean different things for different jobs.
WBS codes are also user-defined.
Sections (Figure 6) are designed to answer the question: “Where are we working?” – or serve another user-defined purpose.
Figure 6: Sections
Activities (Figure 7) are designed to answer the question: “What are we doing?” – or serve another user-defined purpose.
Figure 7: Activities
WBS Codes (Figure 8) = Section + Activity. Per SureStart configuration, these are created automatically when a cost code is created on a job – see AUTOCWBS parameter below.
Figure 8: WBS Codes
WBS-Related Parameters/Configuration:
JC Parameters (Job Status > Setup > Configuration > JC Parameters) (Figure 9)
AUTOCWBS (Auto Create WBS Codes)
This is set to Y in SureStart configuration, which means that when cost codes are created, a WBS Code combining the Section and Activity are created, which can then be used to create a cost code.
If set to N, after Sections and Activities are created, a WBS Code consisting of a combination of each would need to be created manually, before a cost code could be added on the job.
DEFACT (determine the default Length and Start of Activities)
DEFSECT (determine the default Length and Start of Sections)
USEWBSCH (Users who can change job “Use WBS)
A can-do list of user IDs of people who are allowed to override the Use WBS Codes field on the Job file, usually a single Root user.
Figure 9: WBS-Related JC Parameters
Job Standard Activities
Activities by kco (not by job) can be set up in Job Status > Setup > Setup Maintenance > Job Standard Activities. These would mean the same thing on every job and would not be job-specific.
Cost Type Analysis Sets
Cost Type Analysis Sets are set up in Job Status > Setup > Configuration > JC Configuration > Cost Type Analysis Sets Tab. Examples could be Trade, Category, Type, etc. (Figure 10).
The options for each Cost Type Analysis Set are set up in Job Status > Setup > Setup Maintenance > Cost Type Analysis Sets (Figure 11).
Start and End are optional components of Cost Type Analysis Sets. They are a way to automatically default analysis set values on Standard Cost Types.
Start is the position in the Standard Cost Type of the first character in the analysis set.
If populating the analysis set automatically, enter the position of the character in the account code that is the first character in the analysis set.
End is the position in the Standard Cost Type of the last character in the analysis set.
If populating the analysis set automatically, enter the position of the character in the account code that is the last character in the analysis set.
Figure 10: Cost Type Analysis Sets in JC Configuration
The options for each Cost Type Analysis Set are set up in Job Status > Setup > Setup Maintenance > Cost Type Analysis Sets (Figure 11).
Pay attention to the highlighted options in Figure 11. They will be referenced on the next page when a Standard Cost Type is created.
Figure 11: Job Status > Cost Type Analysis Sets
To illustrate this, if Cost Type Analysis Sets are set up with a Start and End, they will automatically be applied to Standard Cost Types when they are created.
Based on the code entered in the Cost Type field in the Cost Type Details tab, the appropriate Cost Type Analysis Sets will pre-populate in the Analysis Sets tab, without having to be manually set (Figures 12 and 13).
Figure 12: Cost Type Details Tab in Standard Cost Type Creation
Figure 13: Analysis Sets Tab in Standard Cost Type Creation
Analysis Sets can be set on a Standard Cost Type or a job-specific cost code.
Revenue Cost Codes
In COINS, instead of cost GL’s, cost codes can be set to apply revenue to a Revenue GL account, as opposed to other Cost Categories (Labor, Material, etc.).
A standard GL mask for Revenue cost codes is located in Job Status > Setup > Configuration > JC Configuration > JC Configuration Tab (Figure 14).
Examples of revenue Standard Cost Types in COINS might be “Billings” or “Revenue.”
Notice how in Figure 15, the G/L’s for the non-Revenue Cost Categories are blank.
Figure 14: Revenue GL Account in JC Configuration
Figure 15: Revenue GL Account on Standard Cost Type
Adding Cost Codes to Jobs
There are multiple methods of adding cost codes to a job (Manually, Auto-Generating using Cost Type Classes, or during a Budget Upload):
Manual
Cost codes can be added individually/manually to a job via the Cost Code Maintenance page of the Job file (Figure 16).
See the how-to document: “Manual Cost Code Entry”
Cost codes can also be Bulk added using Excel in the Cost Code Maintenance page of the Job file.
Figure 16: Cost Code Maintenance (in Job File)
Auto-Generate (using Cost Type Classes)
Auto Generate Cost Codes and Auto Generate WBS Codes (located in the Job Status > Administration folder) can be used to generate cost codes for a job when ran. Cost codes/WBS codes will be generated based on filter selections and can be used in conjunction with Cost Type Classes.
Cost Type Classes used to determine valid combinations of cost types, activities, and sections when generating cost codes automatically. They allow what cost codes are allowed to be added to jobs.
Cost Type Classes are set up in Job Status > Setup > Setup Maintenance > Cost Type Classes. For example, Cost Type Class “CONST” could be Construction (Figure 17).
Figure 17: Cost Type Classes
2. Cost Type Classes are specified on Standard Cost Types (Figure 18). For example, Standard Cost Type “Construction Labor” could have “CONST – Construction” specified as its Cost Type Class.
Figure 18: Cost Type Class specified on Standard Cost Type
3. Next, Cost Type Classes are specified on the Job file in the Configuration section (Figure 19).
Figure 19: Cost Type Classes specified on Job File
4. Now if Auto Generate Cost Codes is ran for job 10001, only the Standard Cost Types marked as “CONST – Construction” will be added to the job.
During Budget Upload
Cost codes can be added to a job along with budgetary values in one process via a budget upload. Import Budget by Cat/Year (if cost codes allow multiple cost categories, as seen in Figure 20) or Import Budget by Default/Category Year (if cost codes allow only one cost category each) can be utilized.
Budgetary values for the cost codes may be left blank if budgets are not entered/tracked in COINS, in order to simply add job cost codes.
See the how-to document “Import Job Cost Codes and Budget” and ask your COINS Operations Consultant about the appropriate load file(s) needed.
Figure 20: Import Budget by Cat/Year Upload
Costing Analysis
When costing to a job, the job and cost code will be combined as a costing analysis. A costing analysis string determines which GL account is hit. Below is an example of what a job costing analysis strong could look like (Figure 21):
Figure 21: Costing Analysis Example
Tips/Best Practices
Maximum costing analysis length: 19 total characters (while COINS can allow for cost codes to be longer than this, 19 is the maximum length a cost code can be without disrupting reports)
As much as possible, cost code length, format, and use should be standardized and uniform on jobs, with service and overhead jobs as possible exceptions.
Utilize cost codes to meet your reporting/tracking needs.
Add a delimiter (“-“) between Sections, Activities, and Cost Types. This enables costing analysis strings and cost codes to be read/interpreted easier.





















