Purpose
Cost Codes are organizational categories used to budget, allocate costs, and track expenses across jobs and contracts in TRUE ERP. They establish standardized codes for business processes, construction phases, work activities, or departments, enabling precise cost allocation and financial reporting. Cost codes integrate with job costing, work-in-progress (WIP) reports, budgeting systems, and general ledger accounts to provide comprehensive financial tracking and profitability analysis.
Accessing Cost Codes
Cost Codes are accessed through the Gear Icon (Settings) in the upper right corner of TRUE. Click the gear icon and select Cost Codes from the dropdown menu.
Cost Codes List View
| Search | Enter text to search for specific cost codes by ID or name |
| Archived | Toggle to view archived cost codes that are no longer actively used |
| ID: NAME | Displays the unique identifier and descriptive name of each cost code. The ID is typically a numeric or alphanumeric code (e.g., "100", "CARP-01") and the name describes the work category or phase (e.g., "Carpentry", "Site Preparation") |
| + Icon | Adds a new cost code to the system |
| ↻ Icon | Refreshes the cost code list to show the most current data |
| ⚙️ Icon | Opens options for importing cost codes via CSV template and exporting the current cost code list |
| 📄 Icon | Generates reports related to cost codes for analysis and documentation |
| ☰ Icon | Opens options menu with the Delete function for removing cost codes (appears when a cost code is selected) |
Selected Cost Code
When a cost code is selected, the detail panel displays information fields on the left and account integration settings on the right.
| ID | Unique identifier for the cost code. Can be numeric (e.g., "100", "200") or alphanumeric (e.g., "CARP", "ELEC-01"). This ID appears on budgets, job costing reports, and financial documents |
| Name | Descriptive name of the cost code that identifies the work category, phase, or department (e.g., "Carpentry", "Site Preparation", "General Requirements") |
| Description | Optional field for additional details about the cost code's purpose, usage guidelines, or scope of work |
| Archive | Checkbox to archive the cost code. Archived cost codes are hidden from the main list and cannot be used on new budgets or transactions, but preserve historical data |
Account associations link cost codes to general ledger accounts for automated financial entries. These associations determine how costs are categorized when transactions are posted to the accounting system.
| Inventory Account | General ledger account for tracking inventory costs associated with this cost code. Used when materials are allocated to jobs or contracts under this cost code |
| COGS Account | Cost of Goods Sold account for expense recognition. When materials or labor are consumed against this cost code, costs are posted to this account in the general ledger |
| Revenue Account | General ledger account for revenue tracking associated with this cost code. Used when billing or invoicing work performed under this cost code |
- Click the + icon at the top of the Cost Codes list
- Enter a unique ID for the cost code (e.g., "300" or "PAINT-01")
- Enter a descriptive Name (e.g., "Painting", "Electrical Work")
- Add a Description if additional detail is needed
- In the right-hand section, select the appropriate general ledger accounts for Inventory, COGS, and Revenue
- Click Save to create the cost code
TRUE supports bulk importing cost codes using CSV files. Excel files (.xlsx) are not directly supported.
- Click the Gear icon (⚙️) at the top of the Cost Codes list
- Select CSV Template to download the required format
- Open the template and add your cost code data (ID, Name, Description, account associations), ensuring column headers remain unchanged
- Save your file as CSV format (not Excel .xlsx)
- Click the Gear icon (⚙️) again and choose Import Records
- Select your CSV file and confirm the import
Important: The Import feature only accepts CSV files that match the exact column structure of the CSV Template.
- Select the cost code from the list
- In the Details section on the left, check the Archive checkbox
- Click Save to archive the cost code
Note: Archiving is recommended over deletion to preserve historical data. Archived cost codes cannot be used on new budgets or transactions but remain visible in historical reports.
- Select the cost code to delete from the list
- Click the ☰ icon in the upper toolbar
- Select Delete from the menu
- Confirm the deletion when prompted
Warning: Deleting a cost code is permanent and cannot be undone. If the cost code has been used in transactions, budgets, or job costing, archive it instead to preserve historical data.
Frequently Asked Questions
Common questions and step-by-step guidance for working with Cost Codes
Organization & Setup
Cost code organization should align with your business structure and reporting needs. Consider these approaches:
- By Construction Phase: Site Preparation (100), Foundation (200), Framing (300), Electrical (400), Plumbing (500), Finishing (600)
- By Work Type: Labor (1000-1999), Materials (2000-2999), Subcontractors (3000-3999), Equipment (4000-4999)
- By Department: Production (PROD), Sales (SALES), Administration (ADMIN), Field Operations (FIELD)
- By CSI Division: Division 03 - Concrete (0300), Division 06 - Wood (0600), Division 09 - Finishes (0900)
Choose a numbering system that allows for expansion and is consistent across all projects. Document your cost code structure and train staff on proper usage to ensure consistent reporting.
Effective cost code naming improves usability and reporting clarity:
- Use descriptive names: "Carpentry - Rough Framing" is clearer than "CARP1"
- Keep names concise: Limit names to 3-5 words for readability in reports and mobile apps
- Be consistent: Use the same terminology across similar cost codes (e.g., all labor codes include "Labor" in the name)
- Avoid abbreviations: Unless they're universally understood in your industry (HVAC, ADA, etc.)
- Include hierarchy indicators: For grouped cost codes, use prefixes like "03.100 - Concrete Forms" or "06.200 - Wood Framing"
Tip: Test your naming convention with field staff and project managers to ensure it's intuitive for daily use in job costing and time tracking.
Usage in Job Costing
Cost codes are central to job costing and budgeting workflows in TRUE ERP:
Budget Creation
- In the Jobs or Contracts module, navigate to the Budget mode
- Add budget line items and assign each to a specific cost code
- Enter budgeted amounts for labor, materials, and other costs by cost code
- The system tracks actual costs against budgeted amounts by cost code
Job Costing Allocation
- Labor: Workers select cost codes during time entry or punch-out in TRUE Time
- Materials: Purchase orders and inventory allocations are tagged with cost codes
- Expenses: Field purchases and bills are assigned to cost codes during entry
- Subcontractors: Subcontractor costs are allocated to cost codes in contract management
Reporting
View actual vs. budgeted costs by cost code in WIP reports, job costing reports, and profitability analysis. Cost codes enable variance analysis to identify areas of overrun or savings.
Associating cost codes with general ledger accounts enables automated financial entries:
- Select the cost code from the list
- In the right-hand Account Fields section, click the dropdown for Inventory Account
- Select the appropriate general ledger account for inventory tracking (typically an asset account)
- Click the COGS Account dropdown and select the expense account for cost of goods sold
- Click the Revenue Account dropdown and select the income account for revenue recognition
- Click Save to apply the account associations
When transactions are posted, the system uses these account associations to automatically create journal entries. For example, when materials are consumed against a cost code, the cost is posted to the associated COGS account.
Note: Work with your accounting team to ensure cost code account associations align with your chart of accounts and financial reporting requirements.
Cost codes for Change Orders are assigned at the line item level when creating or editing change order line items in a contract.
- Navigate to Contracts and select the contract
- Click Logs tab and select CO Requests or Change Orders submode
- Open the Change Order or CO Request
- In the line items section, each line has a Cost Code field
- Select the appropriate cost code from the dropdown
- Cost codes will flow through to Job Costing when the change order is approved
Note: System-wide cost codes are configured in Gear Icon > Cost Codes. Cost codes assigned to change order line items enable tracking how change orders affect job costs by category.
Data Management
Yes, cost codes can be modified after use, but changes affect reporting and should be made carefully:
What You Can Safely Modify
- Name: You can update the cost code name for clarity. Historical transactions will reflect the new name in current reports
- Description: Descriptions can be updated at any time without affecting historical data
- Account Associations: Changing accounts affects how future transactions are posted but does not retroactively change existing journal entries
What to Avoid Changing
- ID: Changing the cost code ID can break reporting continuity and cause confusion. If you must change an ID, archive the old code and create a new one instead
Best Practice: If significant changes are needed, create a new cost code and archive the old one. This preserves historical accuracy while allowing new categorization going forward.
Yes, you can export cost codes for external analysis, backup, or sharing with other systems:
- In the Cost Codes module, click the ⚙️ icon at the top of the list
- Select Export Records from the menu
- The system generates a CSV file containing all cost codes with their IDs, names, descriptions, and account associations
- Open the file in Excel or another spreadsheet program for analysis
Exported data includes active and archived cost codes. You can filter or manipulate the export file to create custom reports or documentation of your cost code structure.
Configuration & Administration
Access to the Cost Codes module is controlled by user permissions. If you cannot see or access this module:
- Contact your system administrator
- Request the Module Access (Cost Codes) permission (ID #183)
- Once granted, you'll find the module by clicking the Gear Icon and selecting Cost Codes
Note: Administrators can manage permissions in Settings → Users / Access → select user → Access tab.
The ability to delete cost codes requires a specific security permission. If you cannot perform this action:
- Contact your system administrator
- Request the Delete Cost Codes permission (ID #641)
- This permission is found in the Cost Codes section of user access settings
Important: Most organizations restrict delete permissions to administrators. Consider archiving cost codes instead of deleting them to preserve historical data.