Skip to main content

Import Direct Costs


  • To import direct costs to the Direct Costs tool in your project so you can add multiple direct costs at once. 

Things to Consider

  • Required User Permission:
    • 'Standard' level permission or higher on your project's Direct Costs tool.
  • Prerequisites:
    • Users:
      • If you will be associating a direct cost with a Procore user in the 'Employee' field, ensure that the users have been added to your company's or the project's Directory tool. See "Import Users to the Project Directory" or "Import Users to the Company Directory" in the See Also section below.
    • Vendors:
      • If you will be assigning a vendor/company as the 'Vendor' for the direct cost, ensure that the vendor/company has been added to the company's or project's Directory tool. See "Import Vendors to the Project Directory" or "Import Vendors to the Company Directory" in the See Also section below.
    • Cost Codes:
      • If your project is using Custom Cost Codes, ensure that the desired cost codes exist in the project. See "Edit and Add Project Cost Codes" or "Import Custom Cost Codes to a Project" in the See Also section below. 
      • If your company has implemented the ERP Integrations tool, your ERP system's data must be synced with Procore and each cost code must be assigned to a category (Note: If your company is using Sage 300 CRE integration, see "Sync Sage 300 Data with Procore" and "Assign Default Categories to Cost Codes" in the See Also section below).
  • Import Template Requirements:
    • For general considerations, see "How do I prepare my data for import into Procore?" in the See Also section below.
      • Enter data in the completed template in the XLSX format. Then save the file to the CSV format.
    • Required Column Data:
      • Important! To avoid import errors, do not add empty rows, do NOT add blank columns, do NOT add new data columns, and do not delete the header row to the import template. 
      • The first line of the table must include the header, which defines the fields in the Excel table and your the database in Procore.
        • The following headers are required: Type, Invoice #, Description, Employee, Status, Terms, Date, Received Date, Paid Date, Vendor, and Cost Code. 
      • The import process will fail if you modify values in column headers.
      • The import process will fail if you insert new columns, move columns, or remove columns from the template.
      • The import process will fail if you change the column header order in the template.
    • Required Row Data:
      • Important! There is no limit to the number of rows you can import. However, rows cannot be blank.
      • You MUST enter the appropriate cost type abbreviation (e.g., enter 'L' for 'Labor', 'E' for 'Equipment', 'M' for 'Materials', 'S' for 'Commitment', 'OC' for 'Owner Cost',  'PS' for 'Professional Services', or 'O' for 'Other') for Cost Type. This entry is case-sensitive.
      • Each row in the table corresponds to a direct cost line item. At a minimum, each record requires a Type value. If you enter 'Invoice' in the Type cell, the Vendor and Invoice Number values are required.
      • Other columns and cells in a single row may be left blank.
    • Supported Date Formats:
  • Limitations:
    • Sub Jobs:
      • If your company has enabled the sub job feature for the optional ERP Integrations tool (see "Add a Sage Extra to Procore as a Sub Job" in the See Also section below) or if you have added sub jobs in the Admin tool (see "Add a Sub Job" in the See Also section below), you will not be able to add them.
  • Additional Information:
    • If you need assistance with the import process, send an email request to


  1. Download one of the import templates: OR
    • XLSX Import Template: import-direct-costs.xlsx
      Note: The XLSX template contains instructions for data entry. If you use this version to collect your data, ensure you must save the file to the required CSV format prior to starting the import. 
  2. Open the CSV or XLSX file in Microsoft Excel.
  3. Fill out the following fields for the direct cost you wish to import:
    • Type
      Enter 'Invoice,' 'Expense', or 'Payroll'. This is case-sensitive. The first letter must always be capitalized (e.g., 'Invoice'). 
      Important! If you enter a value other than 'Invoice', 'Expense' or 'Payroll', the import will fail.
    • Invoice #
      If you entered 'Invoice' in the Type cell, you must enter an invoice number in this cell. You can enter any combination of alphanumeric characters. If you enter 'Expense' or 'Payroll', leave this cell blank. 
    • Description
      Enter a detailed description about the direct cost. You can enter up to 255 alphanumeric characters.
    • Employee Email
      Enter the full email address for the person from whom you received the direct cost. Always enter the address exactly as it appears in the Project Directory (Note: Users should always exist in the Project Directory. See "Add a Person to the Project Directory" or "Import Users to the Project Directory" in the See Also section below).
    • Status
      Enter 'Draft', 'Pending', 'Revise and Resubmit', or 'Approved'.
      (Note: If the status is set to anything other than 'Draft', the value of the cost will be visible in the 'Direct Cost' column in the Budget tool).
    • Terms
      Enter the payment terms for the vendor. You must enter 'Due On Receipt', 'Net 10', 'Net 15', 'Net 30', 'Net 45', 'Net 60', 'Net 90', or 'Net 120'. (Note: If you leave this cell blank, no term will be applied). This entry is case-sensitive. 
    • Date
      Enter the created date. For format requirements, see Which date formats are supported when importing direct costs from a CSV file?
    • Received Date
      Enter the created date. For format requirements, see Which date formats are supported when importing direct costs from a CSV file
    • Paid Date
      Enter the created date. For format requirements, see Which date formats are supported when importing direct costs from a CSV file?
    • Vendor
      Enter the vendor/company name exactly as it appears in the Project Directory. (Note: Ensure that you enter the vendor/company name exactly as it appears in the Project Directory, as it cannot be modified later.)
    • Cost Code
      Enter the appropriate cost code for the item (e.g., 01-510). 
      (Note: The Company and Project Level Admin tools include a 16 Division Cost Code Structure that aligns with the CSI MasterFormat. Your company might also use its own custom cost codes. See Things to Consider above).
    • Cost Type
      Enter the appropriate cost type abbreviation (e.g., enter 'L' for 'Labor', 'E' for 'Equipment', 'M' for 'Materials', 'S' for 'Commitment', 'OC' for 'Owner Cost',  'PS' for 'Professional Services', or 'O' for 'Other'). This entry is case-sensitive.
    • Line Item Description
      Enter a descriptive explanation detailing the direct cost line item. You can enter up to 255 alphanumeric characters. 
    • Quantity
      Enter a total number of units as the line item's quantity value (e.g., enter 1 or 100). 
    • Units
      Enter the unit of measure for the line item (e.g., hours, dozens, boxes, trips, Kg, lbs, and so on). This is a free-form text field so you can format your entries any way you want.  
    • Unit Cost
      Enter the cost per unit (e.g., 160.00 or 1600.00) and omit the dollar ($) sign.
    • Amount
      Enter the total for the line item. 
  4. After completing the data entry, save it in the CSV file format (e.g., In Microsoft Excel, choose File > Save As). 
    Important! If you entered data in XLSX format, you must convert it to the CSV file format to import the data. If you do not convert the file to CSV, the import will fail. 
  5. Navigate to the project's Direct Costs tool.
  6. In the right pane, in the Import Direct Costs box, click Choose File and select the CSV.
  7. Click Import. If the combination of the sub job, cost code, and cost type are non-budgeted for a line item, this line item will be added directly to the Budget with a "?" next to the line item. See "Add a Partial Budget Line Item" in the See Also section below.

    The system validates the import data. When the validation is complete, a Confirmation page appears so you can preview the results prior to completing the import. You have these options:
    • Errors. If one or more records contain a data error, they are listed in the Error column. You fix these issues in the import template and then upload the corrected import file. The Import button in the upper-right corner of the page will remain grayed out and unavailable. 
    • Import. If no errors are found, the Import button is enabled. When you are ready to proceed with the import process, click Import
  • Was this article helpful?