Managing Cost Codes
Create, edit, and organize your cost code structure.
Creating Cost Codes
Add a Cost Code
- Go to Settings → Cost Codes
- Click Add Cost Code
- Enter the details:
- Code Number - Numeric identifier (e.g., 09.3)
- Name - Description (e.g., Flooring)
- Parent - Select parent for subcodes (optional)
- Type - Production, Design, or Non-billable
- Configure additional settings
- Click Save
Required Fields
- Number - Must be unique
- Name - Descriptive label
Optional Fields
- Parent - For hierarchical organization
- Markup - Default markup percentage
- QuickBooks Account - For accounting sync
- Sort Order - Custom display order
Editing Cost Codes
- Find the code in the list
- Click to open
- Modify settings as needed
- Click Save
What You Can Change
- Name and description
- Default markup
- Parent assignment
- QuickBooks mapping
- Sort order
What to Be Careful With
caution
Changing a code number affects historical reporting. Consider creating a new code instead of renumbering.
- Code Number - Affects sorting and references
- Type - May affect where code can be used
- Parent - Changes hierarchy and roll-up reporting
Deleting Cost Codes
Cost codes can only be deleted if not in use.
Prerequisites for Deletion
- No assemblies assigned to the code
- No estimate items using the code
- No schedule items using the code
- No time entries coded to it
To Delete a Code
- Reassign any associated items to other codes
- Select the code
- Click Delete
- Confirm deletion
Alternative: Disable Instead
If a code has historical data:
- Open the code
- Mark as Inactive or Disabled
- Code hidden from new entries but preserved for reporting
Organizing Cost Codes
Parent and Child Structure
Create hierarchies for detailed tracking:
09 - Finishes (Parent)
09.1 - Drywall (Child)
09.2 - Painting (Child)
09.3 - Flooring (Child)
09.4 - Tile (Child)
Setting Up Hierarchy
- Create the parent code first
- Create child codes
- Set the Parent field to the parent code
- Child codes indent under parent in lists
Benefits of Hierarchy
- Roll-up reporting - Parent totals include children
- Organization - Easier to navigate large lists
- Flexibility - Track detail, report summary
Reordering Cost Codes
By Code Number
Codes sort by number automatically:
01before0209.1before09.2
Custom Sort Order
Override automatic sorting:
- Open the code
- Set Sort Order value
- Lower numbers appear first
Drag and Drop
Some views support drag-and-drop reordering:
- Click and hold the code
- Drag to new position
- Release to save
Bulk Operations
Import Multiple Codes
Use CSV import for bulk creation:
Export Codes
Export your structure for backup or reference:
- Go to Cost Codes list
- Click Export
- Download CSV file
Best Practices
Before Creating Codes
- Plan your complete structure first
- Consider reporting needs
- Match accounting chart of accounts
- Review industry standards (CSI, etc.)
Naming Conventions
- Use clear, descriptive names
- Be consistent in style
- Avoid abbreviations that may confuse
- Include number in name for clarity (e.g., "09 - Finishes")
Maintenance
- Review codes annually
- Disable unused codes (don't delete)
- Add new codes as services expand
- Train team on proper code selection
Common Mistakes to Avoid
- Creating too many codes (hard to manage)
- Creating too few codes (insufficient detail)
- Inconsistent numbering schemes
- Not setting up hierarchy when needed
- Deleting codes with historical data
Troubleshooting
Can't Delete a Code
The code is in use somewhere:
- Check assemblies using the code
- Check estimate line items
- Check schedule entries
- Reassign items before deleting
Code Not Appearing in Estimates
Check that:
- Code type matches estimate type
- Code is not marked inactive
- Code is saved properly
Hierarchy Not Working
Verify:
- Parent code exists
- Parent field is set correctly
- Both codes are active