Introduction to Cost Codes in Procore
Cost codes are a method of categorizing labor, materials, equipment, and other costs associated with a project. By assigning unique codes to these expenses, project managers and accountants can easily track and analyze the budgeting, estimating, and reporting of costs. Procore’s default cost codes are designed to align with the CSI MasterFormat system, which is widely recognized across the construction industry. However, Procore also allows you to customize your cost code lists in a tiered Work Breakdown Structure (WBS) that fits your company’s specific needs.
Key benefits of using cost codes include:
- Accurate Budgeting: Segregate and track different types of expenses to maintain a clear overview of your project’s financial status.
- Enhanced Reporting: Generate comprehensive reports that link specific tasks, labor, materials, and equipment to their corresponding cost accounts.
- Streamlined Communication: Provide a common language for project teams, subcontractors, and vendors when discussing budget categories.
- Efficient Change Management: Easily identify and address discrepancies between actual spending and budgeted amounts during project changes.
Understanding Procore’s Cost Code Structure
Before diving into the process of adding cost codes, it is helpful to understand Procore’s structure:
- Company-Level vs. Project-Level: The Company level houses the default cost codes that are available for every project. You can customize these at the company level, but keep in mind that any modifications do not automatically sync to existing projects. You must update project-level settings to reflect changes.
- Tiered Segments: Procore uses a tiered approach in its WBS. Within this structure, cost codes can be organized into a root segment (“Cost Codes”) and further divided into child segments based on the specific trade or work activity.
- Unique Identifiers: Each cost code must have a unique alphanumeric entry in the Code field, and there cannot be duplicate codes under the same parent segment. The Description field, however, is more flexible and can include additional details.
Prerequisites and Permissions
Before you start the process of adding cost codes, verify the following prerequisites:
- User Permissions: You must have ‘Admin’ level permissions on the Company level Admin tool to add or edit cost codes at a company-wide level. For project-level additions, you must have either ‘Admin’ permissions or a combination of ‘Standard/Read Only’ with the “Manage Cost Codes” granular permission enabled.
- ERP Integration Considerations: If your company uses the ERP Integrations tool, be aware that while default segments are generally compatible, not all custom segments may be supported. Update any third-party API integrations as needed to support Procore’s new WBS API.
- Structure Planning: Ensure that your cost code system is aligned with your company’s budgeting system. A pre-planned structure that categorizes different types of cost (labor, materials, etc.) will save time and avoid errors when it comes to reporting and tracking.
Step-by-Step Guide: How to Add Cost Codes in Procore
Follow these comprehensive steps to add cost codes in Procore using the Company level Admin tool:
1. Navigating to the Company Level Admin Tool
- Log in to Procore: Ensure you are logged in as an Admin user.
- Access Company Settings: On the Company level Admin tool, locate the ‘Company Settings’ menu.
- Select Work Breakdown Structure: Click the “Work Breakdown Structure” link. This will display a table with all the segments available, including the default “Cost Codes” segment.
2. Selecting the Cost Codes Segment
- Click the ‘Cost Codes’ Segment: In the Segments table, locate and click on the “Cost Codes” segment.
- Highlight the Root: In the tree structure on the left side of the page, highlight the root folder named “Cost Codes.” This action indicates that you are working within the correct parent segment.
3. Adding New Cost Codes
To add a new cost code to the cost codes tree structure, follow these steps:
- Select the Parent Branch: Navigate to the specific parent branch where you want to introduce the new cost code.
- Click “Add Items”: Click the “Add Items” button to begin the data entry process for a new cost code.
- Enter the Code: In the data entry form, input a unique alphanumeric code in the Code field (e.g., “012000”). This code should correspond to the type of work, following the structure similar to the CSI MasterFormat.
- Enter the Description: Provide an appropriate description such as “Furnishing” to indicate what the code represents.
- Confirm and Repeat: Save the new cost code. Repeat these steps for each new tier and additional cost codes you want to add to the segment.
4. Reviewing and Finalizing
- Check for Uniqueness: Make sure every cost code is unique within the respective parent branch.
- Check User Entries: There are no character limits on descriptions, so feel free to include details. Verify that your codes and descriptions align with your company’s internal standards.
- No Drag-and-Drop: Note that you cannot use drag-and-drop to move cost codes between segments. Each code must be added manually in its correct position.
Extending Cost Codes to Projects
While adding cost codes at the Company level sets the standard framework, you may need to copy them to individual projects. Follow these additional steps to assign company cost codes to a project:
- Open the Project Admin Tool: Navigate to your desired project’s Admin tool.
- Access Project Settings: Under ‘Project Settings’, click the “Work Breakdown Structure” link.
- Select Cost Codes at the Project Level: In the Segments list, click the “Cost Codes” link.
- Copy from Company: Click the “Cost Codes from Company” button. You will be given options to either copy all cost codes or select specific ones.
- If you wish to copy all codes, click “Select All Cost Codes.”
- Otherwise, expand and collapse the segments to highlight only the desired cost codes.
- Finalize Copy Process: Click the “Add” button to import the selected cost codes into your project’s WBS.
This seamless process helps maintain consistency if you have multiple projects and want them to use the standard company cost codes.
Utilizing Sub Jobs with Cost Codes
In some instances, you might enable the sub jobs feature on a project. Sub jobs allow for a flat segment structure that can be mapped to your tiered cost codes. When cost codes need to be assigned to sub jobs:
- Navigate to Project’s Tendering or WBS Tool: Go into the project-level admin or tendering tool depending on how your company manages sub jobs.
- Assign Cost Codes: For each sub job, you have the option to:
- Click “Cost Codes from Company” to automatically copy the company’s cost codes, or
- Manually add cost codes by clicking “Add Cost Code” at the bottom of the sub job list.
- Data Entry: When manually adding codes, enter both the code and description along with setting the status of the cost code.
This approach gives you flexibility when tracking costs for individual sub jobs, ensuring that every part of the project gets detailed financial attention.
Best Practices for Managing Cost Codes
Creating and managing your cost code system effectively can save time and reduce errors. Consider the following best practices:
Establish a Comprehensive System Early
- Plan Ahead: Before adding any cost codes, design a system that reflects your workflow and aligns with industry standards like CSI MasterFormat.
- Tailor Your Codes: Adjust the default cost codes based on the nature of your construction projects. For example, if your projects rarely use certain divisions, you might want to remove or combine them to reduce clutter.
Maintain Consistency Across Projects
- Regular Updates: If you update company-level cost codes, remember that these changes do not automatically sync to existing projects. Regularly review your project-level settings to ensure consistency.
- Training: Ensure that all team members, from project managers to accounting staff, are familiar with the cost code system. Consider periodic training sessions to reinforce the proper coding procedures.
Document and Communicate Changes
- Internal Documentation: Record all changes made to the cost code structure. This documentation should include the rationale for each change, both for internal audits and future reference.
- Utilize Support Resources: Procore’s support articles and community posts are invaluable resources when facing challenges. If you’re unsure, refer to the official guide or reach out to Procore Support for live assistance.
Common Pitfalls and How to Avoid Them
While adding cost codes in Procore is straightforward, there are a few common challenges you might encounter:
Duplication Errors
- Unique Codes: Always ensure that each code is unique under a parent segment. Duplicate codes can lead to errors in budget tracking and reporting.
Integration Issues with ERP Systems
- Third-Party Compatibility: If your company uses an ERP system integrated with Procore (e.g., Sage 100 Contractor®, Sage 300 CRE®, Sage Intacct®), note that some integrations might not support custom segments fully. Always check integration documentation before making extensive modifications.
- API Updates: For companies using third-party API integrations, ensure that these integrations are updated to support Procore’s new WBS API to prevent syncing issues.
Incomplete Data Entry
- Comprehensive Details: Although the Description field does not have character limitations, provide clear and detailed entries for each cost code to avoid confusion during financial reporting.
- Verification: Always review your entries after adding new codes, and test the data by copying them over to a project before finalizing.
Project-Level Discrepancies
- Manual Intervention: Remember that changes to company-level codes aren’t automatically reflected in open projects. Regularly check your project’s WBS after updating company settings.
- Sub Job Considerations: When using sub jobs, ensure that cost codes are mapped correctly. If duplicates or “None” line items appear, trace their source – often related to mismatches between cost codes and financial markups.
Troubleshooting: Handling “None” Line Items
Occasionally, you might encounter a situation where a budget shows a “None” line item for cost codes or cost types. Here’s what could be causing the issue and how to address it:
- Missing Mapping: A “None” entry may indicate a financial markup that wasn’t mapped to a specific cost code in the budget. Review your financial markup settings and map them to an appropriate cost code.
- CSV Import Issues: Some users have reported “None” line items when using CSV imports for the SOV (Scope of Values) without applying cost codes. To prevent this, always ensure that cost codes are assigned during the import process.
- Live Chat Support: If the “None” line item persists despite your troubleshooting, contact Procore Support via the live chat function for a screen-sharing session to diagnose and resolve the issue.
Leveraging Additional Tools in Procore
Procore offers several additional tools that can enhance how you manage cost codes and project finances:
Financial Mark-Ups and Cost Types
- Assigning Cost Types: In addition to cost codes, Procore allows you to assign cost types (such as Labor, Equipment, Materials, etc.) to each cost code. This dual categorization helps in tracking not only the type of work but also the specific cost element.
- Integrated ERP Systems: If you’re using integrated ERP systems, you can map your cost code cost type assignments. Ensure your ERP system settings are consistent with Procore’s default cost types (for example, using abbreviations like L for Labor, E for Equipment, M for Materials).
Copying and Modifying Cost Codes for Change Orders
- Change Order Process: If a cost code needs to be modified as a result of a change order, you can manually adjust the cost code at the project level. Note that the system allows you to add or edit these line items, though certain modifications may require prior removal of non-budgeted line items.
- Separate Budget Modifications: When cost codes in a commitment are not reflecting changes due to integrated ERP systems, you may need to process a separate budget modification to account for any differences. This step ensures that all funds are correctly allocated and transparent in your budget view.
Importing Cost Codes via Procore Imports App
- Using an Excel Template: For companies that have an extensive cost code list or are looking to import custom codes, Procore provides an option to import cost codes via an Excel or CSV file. Simply use the Procore Imports App, select your company, and follow the steps:
- Click “Add New Cost Codes” under the Cost Codes section.
- Choose to save and open a blank template or upload your completed file.
- Follow the prompts to process, review, and finalize the import.
This process is especially beneficial if you have hundreds of subcategories, as it can save time over manual entry.
Tips for a Smooth Implementation
Here are some additional tips to ensure that the process of adding and managing cost codes in Procore is as seamless as possible:
- Plan Your Code Structure: Before adding any cost codes, map out your structure on paper or using a spreadsheet. Define broad categories and consider how many tiers you need.
- Test on a Sample Project: If you’re rolling out a new cost code structure, test it on a pilot project to catch any potential issues before a broader implementation.
- Periodically Review Your Codes: The construction industry evolves, and your cost code system should too. Schedule regular reviews to see if your codes still meet your operational needs and remain aligned with industry standards.
- Engage Stakeholders: Consult with project managers, accounting teams, and other key stakeholders. Their input is critical for ensuring that the system works for everyone involved.
- Document Everything: Keep records of all changes, including the reasons for modifying a code or adding a new one. This documentation can be crucial during audits or when revisiting budgeting decisions later in the project.
Conclusion
Adding cost codes in Procore is a fundamental step in organizing your project’s financial data. With a well-structured WBS and a clear understanding of how cost codes and cost types work together, you can streamline budgeting, enhance reporting accuracy, and improve overall project management. By following the step-by-step instructions detailed above, you can successfully add and manage cost codes at both the company and project levels.
Remember to check prerequisites such as user permissions, test your new setup on a sample project, and document any changes for future reference. If you run into issues like duplicate codes, integration discrepancies, or mysterious “None” line items, refer back to our troubleshooting tips and don’t hesitate to reach out to Procore Support for assistance.
Procore’s flexibility—whether you’re copying company-level cost codes to a project, assigning them to sub jobs, or integrating with ERP systems—makes it an invaluable tool for construction project management. With a robust cost coding structure in place, your team can confidently track expenses, manage budgets, and foster transparent, efficient communication across every layer of your projects.
By investing the time to set up your cost codes properly today, you’re laying the groundwork for smoother project execution and clearer financial insights tomorrow. Happy coding, and here’s to more efficient and effective project management!
Feel free to refer back to this guide whenever you need a refresher on how to add cost codes in Procore. If you have any questions or encounter any challenges, the Procore Support team is just a live chat away.
Happy building!