Start with one site and a recoverable copy
Keep an unchanged copy of your workbook. Select one site and a small representative batch: an operating asset, an out-of-service asset and an asset with a meter. Agree who owns the register and which spreadsheet becomes read-only after cutover. This first batch proves the mapping before the rest of the team changes its process.
Prepare the five required columns
Use asset_code, name, site_code, status and criticality. Asset codes must be unique within the workspace. Create the site in Workspace settings first and use its exact code. Status accepts operational, limited, down or retired. Criticality accepts low, medium, high or critical. Optional fields include category, location, manufacturer, model, serial_number, meter_type, meter_value and notes.
Export CSV and preview before committing
Export one worksheet as CSV UTF-8 from your spreadsheet application. Keep leading zeros in identifiers as text. The uploader accepts CSV or text files up to 5 MB and 1,000 data rows per batch. It checks required fields, active site codes, duplicate asset codes and field values. Unknown columns are reported as ignored; review that warning so information is not silently omitted from your migration plan.
Resolve errors, then reconcile
Nothing is created during preview. Correct every invalid row and upload again. Commit only after checking the preview against the source. The final asset import is atomic. Existing asset codes are rejected rather than updated. If the workspace changes after preview, revalidate the file. Compare the resulting asset count and export against your original batch before repeating.
Bring the maintenance process across separately
The asset CSV creates the equipment register. Calendar and meter schedules use a separate schedule CSV and begin paused. Completed work history uses its own validated CSV with original source IDs and UTC dates. Attachments, original user accounts and detailed stock or labor history need a separate migration plan.