How to Manage Cost Codes
Step-by-step guide to set up and use cost codes for accurate construction project cost tracking
What This Feature Does
Cost codes help you track and categorize expenses for construction projects, enabling accurate job costing, budget monitoring, and profitability analysis across different types of work.
Initial Setup
First-Time Configuration
- Open Settings from the left sidebar, then select the Cost Codes tab
- You'll see the Cost Codes list with Import and Create Cost Code in the top right, plus a Categories tab

- Choose your setup method:
- Manual Entry: Create cost codes one by one
- Bulk Import: Paste multiple cost codes from a spreadsheet
- Assignar Import: Import activities, roles, materials, or asset classes from Assignar (from those pages under Resources) — each import can create matching cost codes
Required Information
Before you begin, make sure you have:
- List of work types and activities for your projects
- Categories to organize your cost codes (e.g., Labor, Materials, Equipment)
- Unit types for each cost code (hours, square meters, cubic meters, etc.)
- Default pricing for common activities
Day-to-Day Usage
How to Create a Cost Code Manually
- Open Settings from the left sidebar, then select the Cost Codes tab
- Click Create Cost Code in the top right

- Fill in the cost code details:
- Code: Enter a unique identifier (e.g., "LAB001" for labor codes). The same code can exist once per type
- Type: Select the kind of code — Activity, Role, Rate Item, Pay Item, Material, Equipment, or Other
- Description: What this code covers (e.g., "Carpenter - Formwork")
- Category: Select a category (or use the default)
- Subcategory: More specific grouping under that category
- Set pricing:
- Default Unit: Enter the unit of measurement (Hours, m², and so on). This is free text, not a fixed list
- Default Charge Rate: The default rate you invoice clients
- Default Direct Cost Rate (optional): The default rate your business incurs
- Click Create. New codes are created as Active
When you create a cost code from a Roles, Materials, Activities, or Asset Classes sheet (rather than from Settings), Description is pre-filled from the resource name. You can edit it before you save.
How to Import Cost Codes from Assignar
Assignar import is not on the Cost Codes tab. Import the source records from Resources, and matching cost codes are created for you:
- Open Resources in the left sidebar
- Go to Activities, Roles, Materials, or Assets, then click Import from Assignar (on Assets, it is the Asset Classes import that creates cost codes)
- Confirm your Assignar integration is connected
- Choose all items or a selection, then import
- Review the new cost codes on Settings → Cost Codes and update categories and rates as needed
How to Use Bulk Import for Cost Codes
- Open Settings → Cost Codes and click Import
- Prepare a spreadsheet with columns in this order (do not include a header row when you paste):
- Code | Type | Description | Default Unit | Default Charge Rate | Default Direct Cost Rate | Category | Subcategory
- Type must be one of: activity, role, rateitem, payitem, material, equipment, other
- Direct Cost Rate can be left blank
- Copy the rows and paste them into the import box, then click Process Data
- Review the preview, fix any validation errors, and choose whether to update or skip existing codes
- Click Import Items (maximum 100 rows per import)
Common Tasks
Organizing Cost Codes by Construction Trade
- Create categories for each major trade:
- Labor - Concrete: Concrete workers, finishers, pump operators
- Labor - Electrical: Electricians, apprentices, testing technicians
- Labor - Plumbing: Plumbers, pipe fitters, gas fitters
- Materials - Concrete: Ready mix, reinforcement, additives
- Materials - Electrical: Cables, switches, fixtures, panels
- Equipment - Earthmoving: Excavators, bulldozers, compactors
- Use consistent coding patterns:
- LAB-CON-001: Labor - Concrete - Skilled Worker
- MAT-ELE-015: Materials - Electrical - Copper Cable
- EQP-EAR-003: Equipment - Earthmoving - 20T Excavator
Setting Up Project-Specific Cost Codes
- For large projects, create specific cost codes:
- Include project reference in the code
- Use location-specific descriptions
- Set project-specific rates if different from standard
- Example for "Downtown Office Project":
- DTO-LAB-001: Downtown Office - Carpenter - Level 1
- DTO-LAB-002: Downtown Office - Carpenter - Level 2
- DTO-MAT-001: Downtown Office - Concrete - Foundation
- This allows detailed cost tracking per project area
Managing Cost Code Categories
- On the Cost Codes tab, switch to the Categories tab
- Click Create Category:
- Category Name: e.g., "Site Preparation"
- Description: What types of work this covers (optional)
- Status: leave active so the category is available to assign
- Select a category to add subcategories:
- Site Preparation > Demolition
- Site Preparation > Excavation
- Site Preparation > Site Access
- Assign cost codes to appropriate categories for better organization
Advanced Cost Code Management
Setting Up Unit Types for Construction
- Configure appropriate units for different work types:
- Labor codes: Hours (for time-based work)
- Concrete: Cubic meters (m³)
- Reinforcement: Tonnes (T) or Kilograms (kg)
- Formwork: Square meters (m²)
- Painting: Square meters (m²)
- Electrical: Linear meters (lm) for cable, Each (ea) for fixtures
- Plumbing: Linear meters (lm) for pipes, Each (ea) for fittings
Integrating Cost Codes with Timesheets
- When workers log time, they select appropriate cost codes
- This automatically categorizes labor costs by activity type
- Reports show actual costs vs. budgeted costs per activity
- Use this data for future project estimating
Cost Code Pricing Strategies
- Standard Rates: Set default pricing for common activities
- Project Rates: Override pricing for specific projects or clients
- Market Rates: Update pricing based on current market conditions
- All-inclusive Rates: Include overhead and profit margins
- Regular review and update of rates to maintain profitability
Troubleshooting
If cost codes aren't appearing in timesheets
- Check that cost codes are set to Active (not Inactive or Deleted)
- Confirm the cost code type matches the work being recorded (for example Activity for timesheet labour)
If bulk import fails
- Paste columns in this order: Code, Type, Description, Default Unit, Default Charge Rate, Default Direct Cost Rate, Category, Subcategory
- Duplicate codes are allowed only when the Type differs (uniqueness is per code + type)
- Ensure Code, Type, Description, Default Unit, Category, and Subcategory are filled in
- Default Unit is free text (up to 20 characters) — there is no approved-units list
- Limit imports to 100 rows per paste
If Assignar import doesn't work
- Verify your Assignar integration is connected and working
- Check that you have activities, roles, materials, or asset classes in your Assignar system
- Ensure your Assignar account has the required permissions
- Try importing a smaller subset first to test
Tips for Construction Teams
- Start with broad categories and add detail as needed
- Use consistent naming conventions across all projects
- Include location or trade information in cost code names
- Regularly review and update pricing to reflect current rates
- Train workers on selecting appropriate cost codes for accurate tracking
- Use Default Charge Rate (what you invoice) and Default Direct Cost Rate (what it costs you) to separate client pricing from overhead
Best Practices for Cost Code Setup
Naming Conventions
- Use clear, descriptive names that workers will understand
- Include trade or activity type in the name
- Keep names consistent across similar activities
- Avoid abbreviations that might confuse users
Category Organization
- Group related activities together
- Use hierarchical structure (Category > Subcategory)
- Align with your company's chart of accounts
- Consider how you want to report costs
Pricing Management
- Set realistic default prices based on actual costs
- Include allowances for overhead and profit
- Update prices regularly based on market conditions
- Consider regional differences for multi-location companies
What's Next
After setting up cost codes, you may want to:
- Configure Timesheets to use your cost codes
- Set up Projects with appropriate cost code assignments
- Create Reports to analyze cost performance
- Configure Pay Rates that align with your cost codes

