What the import wizard does
The import wizard lets you upload an Excel file containing your project data and map its columns to Project Commander's fields. It supports five data sections that must be imported in order.
Opening the import wizard
- 1
Open a project and navigate to the import wizard. If the project has no schedule of rates, a prompt on the project dashboard links you directly.
Uploading a file
- 1
Click Download Template to get the Excel template with the expected sheet structure, or prepare your own
.xlsxor.xlsfile. - 2
Click the upload area or drag and drop your file. The maximum file size is 5 MB.
- 3
After uploading, a status grid shows which sheets were found in the file and how many rows each contains. A green indicator means the sheet has data; an amber indicator means it is empty or missing.
Import sections
The wizard has five tabs. The first three must be imported in order — each depends on the previous one. The last two are optional.
1. Cost Codes
| Field | Required | Description |
|---|---|---|
| code | Yes | The cost code identifier |
| description | Yes | Description of the cost code |
| discipline | No | The discipline or trade |
| on_cost | No | On-cost percentage |
2. Buying List
Depends on cost codes being imported first.
| Field | Required | Description |
|---|---|---|
| component_code | Yes | Unique component identifier |
| description | Yes | Item description |
| cost_code | Yes | The cost code this item belongs to |
| quantity | Yes | Item quantity |
| material_cost | Yes | Material cost |
| labour_cost | Yes | Labour cost |
| total_cost | No | Total cost (can be calculated) |
| net_price | No | Net price |
| labour_time | No | Labour time |
| subcontractor_cost | No | Subcontractor cost |
| size_1, size_2, size_3 | No | Size dimensions |
Additional optional fields include assembly_code, list_price, discount, shop_labour_cost, shop_labour_time, unit_material_cost, unit_total_cost, unit_shop_labour_cost, and unit_shop_labour_time.
3. Schedule of Rates
Depends on the buying list being imported first.
| Field | Required | Description |
|---|---|---|
| description | Yes | Item or section description |
| section_number | No | Section number in the hierarchy |
| cost_code | No | Associated cost code |
| quantity | No | Quantity |
| rate | No | Rate per unit |
| material_cost | No | Material cost |
| labour_cost | No | Labour cost |
| subcontractor_cost | No | Subcontractor cost |
| total_cost | No | Total cost |
Additional optional fields include id, parent_id, is_section, code, component_code, rate_per_unit, unit_material_cost, unit_shop_hours, unit_site_hours, unit_site_cost, unit_subcontractor_cost, unit_total_cost, shop_labour_cost, is_assembly, size, and unit_of_measure.
4. Preliminaries (optional)
| Field | Required | Description |
|---|---|---|
| description | No | Preliminary item description |
| total_cost | No | Total cost |
5. Prime Costs (optional)
| Field | Required | Description |
|---|---|---|
| description | No | Prime cost item description |
| total_cost | No | Total cost |
Mapping columns
For each section, the wizard displays a column mapping interface.
- 1
Click Auto-scan columns to let the wizard attempt to match your spreadsheet column headers to the expected fields automatically.
- 2
Review the mappings. Each field shows a dropdown listing your spreadsheet's column headers. Required fields are marked with a red asterisk.
- 3
Adjust any mappings that were not detected correctly by selecting the right column from the dropdown. Select No mapping to leave a field unmapped.
- 4
Check the Data Preview panel to verify the transformed data looks correct.
- 5
Click Import [Section Name] to import the data. A success message confirms how many rows were imported.
The Keys panel on the right lists every field for the current section with its description, an example value, and a colour-coded indicator showing whether it has been mapped (green) or is unmapped and required (red).
Sections must be imported in order: Cost Codes first, then Buying List, then Schedule of Rates. The import button for each section is disabled until its dependency has been imported.
Use the Clear All button to reset all column mappings if you need to start the mapping process over for a section.
Next steps
- Schedule of Rates — view the imported schedule of rates.
- Budgets — view the budget analysis derived from imported data.