Getting Your Cost Code Master List Right in Sage 100 Contractor
Cost codes are the backbone of job costing in Sage 100 Contractor. Every dollar charged to a job — labor, materials, subcontracts, equipment, and overhead — is categorized by cost code. When cost codes are incomplete, unnamed, or inconsistent, your job cost reports become unreliable and project managers lose visibility into where money is actually being spent.
Common Cost Code Problems
- Blank or missing names — Cost codes used on jobs but never properly named in the master list (3-1 Cost Codes). Reports show a number with no description, making them unreadable.
- Duplicate or overlapping codes — Two different codes used for the same work category (e.g., “Concrete” and “Concrete Work”). Costs get split across codes, making totals inaccurate.
- Codes used on jobs but not in the master list — This happens when someone types a cost code number directly on a transaction without first defining it. Sage allows this, but the code will have no name and no standard mapping.
- No cost type breakdown — Using a single cost code for all cost types (labor, material, sub) instead of tracking them separately. This makes it impossible to analyze where overruns are coming from.
How to Set Up Cost Codes Properly
- Define all codes in the master list first. Go to 3-1 Cost Codes and enter every cost code your company uses. Give each one a clear, descriptive name (e.g., “03100 – Concrete Foundations” not just “03100”).
- Follow a standard numbering system. Many contractors use CSI MasterFormat divisions (e.g., 03 = Concrete, 04 = Masonry, 05 = Metals). Pick a system and stick to it across all jobs.
- Map cost codes to cost types. For each cost code, decide which cost types apply: Material (M), Labor (L), Subcontract (S), Equipment (E), Other (O). This enables cost type analysis on reports.
- Use default cost codes on job templates. If most of your jobs use the same set of cost codes, create a template job with those codes pre-loaded. Copy it when starting new jobs.
- Lock down entry. Consider requiring that cost codes be selected from the master list rather than typed freehand. This prevents orphan codes from being created accidentally.
How DataXcel Detects Cost Code Issues
The Sage Setup alerts in your CEO Briefing scan for cost codes that appear on job cost transactions but have blank or missing names in the master list. This usually indicates codes that were entered on-the-fly without being properly configured.
The Fix
Pull up the flagged cost codes in 3-1 Cost Codes and add proper names and descriptions. Then review active jobs using those codes to make sure they are mapped correctly in the budget. Going forward, run a monthly check (or let DataXcel do it automatically) to catch new unnamed codes before they propagate across multiple jobs.