Items can be imported directly into a Custom Library using a CSV or XLSX file. Importing Items provides an efficient way to create or update multiple Items, costs, and folder structures without entering each Item individually.
The import process validates the file before any changes are made. Errors can be reviewed and corrected before completing the import.
Items are added and updated through two separate commands in Library Settings. Add Items from File creates new Items. Update Items from File changes Items that already exist. The most recent import can be reverted from the Library.
Key Information
- Items can only be imported into a Custom Library. STACK-provided Libraries, including Quick Start, STACK, 1build, and BNi, cannot be modified.
- Both CSV and XLSX files are accepted. Save CSV files as CSV UTF-8.
- STACK validates the file before importing. Required errors must be corrected before the import can be completed.
- Folder structures can be created and managed through the import file.
- External ID has been renamed Item Number.
Planning the Import
Prepare the file for the command you plan to use. Add starts with a blank Item Import Template. Update starts with a downloaded file of your existing Items.
NOTE
Before updating existing Items, save copies of relevant reports and Estimates when needed. Changes to Item details may affect existing and future projects.
Before Importing
- Define the Library folder structure and naming convention.
- Complete the required fields and do not modify the column headers.
- Do not include blank or hidden rows.
- Use supported numeric formats and enter folder levels in order.
- Confirm that each Cost Type includes its required Unit Cost.
- Coverage Rate Purchase must be positive. Coverage Rate Measured can be negative but cannot be zero.
- Save CSV files as CSV UTF-8. XLSX files can be uploaded without conversion.
Item Import Template Guide
Use this reference when completing a blank template or editing the downloaded file of your existing Items.
TIP
Start with a small set of Items to validate formatting before submitting a full import.
NOTE
Character limits are enforced during import. Values exceeding those limits cause errors.
Item Fields
These fields define the item details entered in the Item Import Template.
| Column | Field | Accepted Value Description | Example |
|---|---|---|---|
| A | ItemName | Required, Text (max 150 characters) | Shingles (Metal) |
| B | ItemDescription | Optional, Text (max 500 characters) | 24 Gauge Aluminum |
| C | PurchaseUnit | Required, Text (max 50 characters) | Sq |
| D | UnitOfMeasure | Required. Use one of: sq ft, lin ft, cu yd, m, sq m, cu m, each | sq ft |
| E | CoverageRatePurchase | Required, Numeric. Defaults to 1 if left blank | 1 |
| F | CoverageRateMeasured | Required, Numeric. Defaults to 1 if left blank | 100 |
| G | FolderLevel1 | Optional, Text (max 100 characters) | Roofing |
| H | FolderLevel2 | Optional, Text (max 100 characters) | Shingle |
| I | FolderLevel3 | Optional, Text (max 100 characters) | Shingle (Metal) |
| J | FolderLevel4 | Optional, Text (max 100 characters) | Aluminum |
| K | FolderLevel5 | Optional, Text (max 100 characters) | Premium |
Item Details
Folder Levels
- Folder levels are optional
- Must be filled in order (no skipping levels)
- Items are placed in the deepest level provided
Example: If FolderLevel4 is entered, FolderLevel1–3 must also be entered.
Cost Types
These fields define the cost types, unit costs, and accounting codes for each item.
| Column | Field | Accepted Value Description | Example |
|---|---|---|---|
| L | CostType1 | Required, Text (Equipment, Labor, Material, Subcontract or custom) | Material |
| M | UnitCost1 | Required, Numeric (can be 0 if no cost is applied) | 10 |
| N | AccountingCode1 | Optional, Text (max 250 characters) | 6409-07 |
| O | CostType2 | Optional, Text | Labor |
| P | UnitCost2 | Required if CostType2 is entered, Numeric | 25 |
| Q | AccountingCode2 | Optional, Text | 5409-08 |
| R | CostType3 | Optional, Text | |
| S | UnitCost3 | Required if CostType3 is entered, Numeric | |
| T | AccountingCode3 | Optional, Text | |
| U | CostType4 | Optional, Text | |
| V | UnitCost4 | Required if CostType4 is entered, Numeric | |
| W | AccountingCode4 | Optional, Text | |
| X | CostType5 | Optional, Text | |
| Y | UnitCost5 | Required if CostType5 is entered, Numeric | |
| Z | AccountingCode5 | Optional, Text |
Cost Type Rules
- At least one Cost Type is required. Up to five can be added per Item.
- Each entered Cost Type requires a Unit Cost. The cost can be 0 when no cost is applied.
- An Accounting Code is optional for each Cost Type.
Cost Type Details
Importing Items into a Library
Choosing Add or Update
Items are added and updated through two separate commands in Library Settings.
- Add Items from File creates new Items. Start with one of the blank Item Import Templates.
- Update Items from File changes Items that already exist. Start with the downloaded file of your existing Items.
To find either command, open a project, click LIBRARIES, select your Custom Library, and open the Settings gear. Both commands are in the More menu in the upper right.
TIP
The Export ID is what tells STACK whether a row is new or existing. A file exported from STACK contains Export IDs and belongs on the Update path. A file built from a blank template has no Export IDs and belongs on the Add path.
Adding Items from a File
Use this workflow to create new Items from a blank template.
Downloading an Item Import Template
To add new Items, download one of the trade-specific templates below. A generic template is also available from Item Import Templates in Library Settings or directly inside the import window.
- 01 StackItemImportTemplate
- Div_03_Concrete_Import_Template
- Div_04_Masonry_Import_Template
- Div_05_Metals_Import_Template
- Div_06_Millwork_Import_Template
- Div_06_Wood_Carpentry_Import_Template
- Div_07_Exterior_Import_Template
- Div_07_Thermal_Moisture_Import_Template
- Div_08_Openings_Import_Template
- Div_09_Finishes_Import_Template
- Div_22_Plumbing_Import_Template
- Div_23_HVAC_Import_Template
- Div_26_Electrical_Import_Template
- Div_31_Heavy_Civil_Earthwork_Import_Template
- Div_32_Exterior_Improvements_Import_Template
NOTE
All templates use the same import structure. Select the one that most closely matches the Items you are adding.
Enter your Item data using the Item Import Template Guide. Save the completed file as CSV UTF-8, or keep it in XLSX format. If Excel is unavailable, see Use Google Sheets (Optional).
- Open the Custom Library and click the Settings gear.
- Click the More menu, then select Add Items from File.
- Click to upload and select the file, or drag the file into the upload area. Item import supports files in .CSV or .XLSX.
- Click Continue. STACK checks the file for issues. Leave the window open until the check is complete.
- Review the results. The summary shows Rows ready to be added, Warnings, and Errors.
- Click Confirm and Add.
- When the import finishes, click Go to library to review the new Items, or Close.
NOTE
Rows containing an Export ID are ignored by Add Items from File. Use Update Items from File for those rows.
Updating Items from a File
Use this workflow to change existing Items using the downloaded file of your Items.
Export Items for Updates
Download your existing Items before making changes so the file includes the IDs that identify each Item.
- Open the Custom Library, click the Settings gear, and open the More menu.
- Select Export Items to CSV.
- Open the downloaded file and edit the fields you want to update.
IMPORTANT
Do not edit or remove the Export ID or Item ID values. Every row in an update file must contain an Export ID.
If you are using Google Sheets, open the exported Items file rather than a blank template. See Use Google Sheets (Optional).
Updating Existing Items
You can update these fields in the downloaded file:
- Item Name
- Item Description
- Purchase Unit
- Unit of Measure
- Coverage Rates
- Folder location
- Cost Types
- Unit Costs
- Accounting Codes
Changing the folder fields moves the existing Item without disconnecting it from associated Takeoffs, Assemblies, projects, or Estimates.
NOTE
Changes to Unit Cost do not update existing Estimates. Updated costs apply to new Estimates and updated reports.
- Save the edited file as CSV UTF-8, or keep it in XLSX format.
- Open the Custom Library, click the Settings gear, then select More → Update Items from File.
- Upload the edited file and click Continue.
- Review the results. Correct any required errors and upload the revised file if needed.
- Confirm the import and review the updated Items in the Library.
IMPORTANT
Every row in an update file must have an Export ID. If a row is missing one, STACK shows an error and the import cannot continue until the file is corrected.
When a File Does Not Match the Selected Mode
STACK checks the file against the mode that was selected and flags a mismatch before the import runs.
If Update Items from File is selected but none of the rows contain an Export ID, the window reports that the file looks like an add file and offers Switch to Add, which adds every row as a new Item instead.
- Click Switch to Add to import the rows as new Items.
- Click Cancel to close the window without importing.
If only some rows are missing an Export ID, the Validation complete – review needed window lists an error for each of those rows. The import cannot continue until the error is resolved.
- Click Upload a new file to upload a corrected file.
- Click Switch to Add if the Items are new.
- Click Cancel to close the window without importing.
Reviewing Import Errors
STACK validates the file before importing any Items. Validation messages identify missing, invalid, or unsupported values in the import file.
- Review the displayed validation errors.
- Open the import file.
- Correct the identified fields.
- Save the updated file.
- Upload the file again.
- Repeat the process until the file passes validation.
NOTE
No Items are imported until the required validation errors have been corrected.
Use Google Sheets (Optional)
If Excel is not available, use Google Sheets to prepare either file. Start with the file for the command you selected:
- Add: Download one of the blank Item Import Templates.
- Update: Download your existing Items using Export Items to CSV. Keep the Export ID and Item ID values unchanged.
- Upload the appropriate file to Google Drive.
- Open the file with Google Sheets.
- Enter new Item data or edit the existing Item data using the template requirements.
- Select File → Download → Comma-separated values (.csv, current sheet).
- Upload the downloaded file using Add Items from File or Update Items from File, matching the file you prepared.
Reverting an Import
An import can be undone from the Library. Reverting restores the Library to the state it was in before that import.
- Click Revert Import on the Import Complete window, or open the Library Settings More menu and select Revert Last Item Import.
- Review the summary of what will be removed and restored.
- Click Revert Import to confirm.
- Items added by the import are permanently removed from the Library.
- Items changed by the import are restored to their values from before the import.
- All other Items in the Library are unaffected.
IMPORTANT
Reverting an import cannot be undone. Revert is available only to the user who performed the import, and only until another user performs an import in the same Library.
Limitations
- Cannot delete items
- Cannot modify item Notes
- Cannot add or remove items from assemblies
- Only the most recent import can be reverted
- Revert is available only to the user who performed that import
Related Articles
What is an Item
Create, Edit, or Delete Custom Items
Export Your Custom Items from STACK
What is an Assembly
Create a Custom Assembly
Working with Item Formulas in Assemblies
See how others use this feature in the STACK Community.
If you need additional assistance, please Contact Us.
Comments
Please sign in to leave a comment.