---
title: Assets
slug: reference/assets
docTags: 5eNNX_Hobhvyt7KEHa8S7
createdAt: 2025-09-24T17:45:22.384Z
---

An **asset** is a logical representation of a physical component in your production environment such as a machine, line, tank, sensor, or entire facility.

Each asset has:

- A name
- ID: an internal UUID, making the asset truly unique. This is especially relevant when scaling Factry Historian across multiple plants, where you could have assets that share the same name (e.g. Reactor 1).

An asset can furthermore have:

- A description: to give additional context to the asset
- Prototype link: if the asset is an instance of a [prototype](docId:2VEr8gIWKNSrZCbarXiKv)
- A parent: root assets have no parent. All other assets will have a single parent.
- Reference by: assets can be referenced by asset properties, other assets, event configurations, forwarders, etc..

An asset could have linked to it:

- One or more [Asset properties](docId:3Xeds2_RE5v_tvMXu3LzO)
- One or more [Events](docId\:pn_7QSla-Jr7mNbf6er4A)

## Asset tree

Assets are structured in the asset tree with their parent-child relationship. This hierarchical tree can have as many levels as necessary to map the physical asset structure existing in the process to the asset model in Factry Historian.

For the asset model to be generic, it does not make any presumptions on what each level in the hierarchy could represent. Hence, the meaning of each level can be different across different use cases:

- a production plant will typically want to follow the [ISA-95](https://reference.opcfoundation.org/specs/OPC-10030/8.2) standard to map their assets to the asset model
- a wind farm will potentially want to map their assets using a different organizational structure

![](https://app.archbee.com/api/optimize/q2ez4Myy1Okvv4IuodiZe-SF_iHDIgcd9l7t7kWRe0p-20250908-092934.png)

## Asset properties

Each asset can have one or more asset properties. Asset properties allow you to link [Measurements](docId\:ewHzBZ5Pxxr1UpQq-xKJ5) or [Calculations](docId\:lH1debpbaG-ki7A0U-3fv) to an asset and give them an alias.

These properties can be used in the [Factry Historian datasource for Grafana](docId\:q9t7hXoxsKNYLaWPorfdD), in a [manual entry form](docId\:E6ZVm8L_ZLpfpCHDTQU0H), and as an [input for a calculation](docId:5ko0eadY3X_O-y1Jxd8Cp) .
The [engineering specifications](docId\:u5-07YlMs2jiX9Kz-m-lB) on the measurement will also be available when using the asset property.

## Events

See [Events](docId\:pn_7QSla-Jr7mNbf6er4A) for more information.

## Excel export and import

Assets, the asset tree, and linked asset properties can be imported and exported in bulk to make mass editing easier.

The structure of the Excel file for importing/exporting is as follows:

- A sheet named `assets` containing the asset model structure
  - A column `Import` to indicate whether the asset should be imported or not, will import the row if not empty
  - A column `UUID` to indicate the UUID of the asset, not required for new assets
  - A column `AssetPath` to indicate the path of the asset in the asset tree, separated by `\\`
  - A column `Description` to indicate the description of the asset, not required
- A sheet named `asset properties` containing the asset properties
  - A column `Import` to indicate whether the asset property should be imported or not, will import the row if not empty
  - A column `UUID` to indicate the UUID of the asset property, not required for new asset properties
  - A column `AssetPath` to indicate the path of the asset in the asset tree to link the asset property to, separated by `\\`
  - A column `Name` to indicate the name of the asset property
  - A column `Description` to indicate the description of the asset property, not required
  - A column `Datatype` to indicate the datatype of the asset property, must be one of `boolean`, `number`, `string`, `[]number`, `[]string` or `[]boolean` and must match the datatype of the linked measurement. `raw` cannot be used to create a new asset property through an import; it is only accepted on a property that already has that datatype
  - A column `Measurement` to indicate the measurement to link the asset property to
  - A column `Database` to indicate the timeseries database of the measurement

Both sheets can contain additional columns for metadata, the name of a metadata column must start with `metadata.` + the key of the metadata field.&#x20;
For example, if you have a metadata field with key `location`, you can add a column `metadata.location` to the `assets` or `asset properties` sheet to set the value of this metadata field for the asset or asset property. For each row that has a value for the metadata you fill it in in the following JSON format: `{"Value": <value>, "DataType": "<datatype>"}`
Examples for all datatypes:

- `{"Value": "value", "DataType": "string"}`
- `{"Value": 123, "DataType": "number"}`
- `{"Value": true, "DataType": "boolean"}`

When clicking `Import from Excel`, a modal will open where the Excel file containing the asset structure and properties can be uploaded. When `Create missing parents` is selected, the system will automatically generate any parent assets referenced in the `AssetPath` column of the assets sheet; when `Create missing parents` is not selected, parent assets must be already exist or must be defined first in the file. Once the upload completes, a preview will be shown detailing how many assets and properties will be created or updated.
