Novant

Documentation

Sign in

Import & Export

Assets can be bulk imported or exported using CSV files. This is useful for initial setup, integration with other systems, or performing bulk edits.

CSV Structure

Each row in the CSV represents a single asset. The following fields are recognized:

Field Required Description
name Required The display name of the asset (e.g., AHU-1).
type Required The asset type (see Asset Types).
id Optional The system identifier of the asset. If provided, import will attempt to merge with an existing asset. If omitted, a new asset is created.
parent_space_id Optional The space this asset is located in (e.g., sp.4).
parent_zone_ids Optional The zones this asset serves, as a comma-separated list (e.g., z.1,z.2).
fed_by_asset_ids Optional The assets that feed this one, as a comma-separated list (e.g., a.4,a.5).

Because parent_zone_ids and fed_by_asset_ids hold comma-separated lists, quote the cell when it contains more than one id:

name,  type,     parent_space_id, parent_zone_ids
AHU-1, mech.ahu, sp.4,            "z.1,z.2"

In addition to these, any space property may be included as a column using its property id (see Asset Properties). For example, model or serial_number. See Property Data Types for how each type is written in CSV, plus how omitted and empty cells are handled.

Example

Adding two assets with properties:

name,   type,       manufacturer, model,   installation_date, expected_life, expected_replacement_cost
AHU-1,  mech.ahu,   Carrier,      AHU-M8,  2023-09-07,        9 years,       $65,000
VAV-12, mech.vav,   Distech,      VAV-HX1, 2023-09-07,        15 years,      $2,500

Updating only the comments on an existing asset, leaving every other property untouched:

id,  general_comments
a.7, Check back in 2 weeks

Temporary Ids

Relationships normally reference a record by its system id, which means the record has to exist already. To relate two assets that are both being created in the same import, give the first one a temporary id - any label starting with @ - in the id column, then reference that label:

name,  id,     type,      fed_by_asset_ids
AHU-1, @ahu1,  mech.ahu,
VAV-1, ,       mech.vav,  @ahu1
VAV-2, ,       mech.vav,  @ahu1

A row whose id starts with @ is still treated as a new record - the label only exists to be referenced. Lists work the same way, so "@ahu1,@ahu2" is valid.

Two rules apply:

Temporary ids exist only for the duration of the import and are never stored. They are most useful in the NEX format, where a label defined on one sheet can be referenced from another.

In addition to these, any asset property may be included as a column using its property id (see Asset Properties). For example, model or installation_date.

Import Behavior

Export

Export produces a CSV with all defined assets, including:

This export can be used as a template for re-importing updates.