Skip to content

Technical Data Templates

Raghu edited this page Jul 29, 2026 · 6 revisions

Technical Data Templates

A template is a reusable list of specification fields. You build it once and assign it to every product that shares those specs. This page is about building and managing templates, and assigning them to products in bulk. To assign a template to a single product, or enter its values, work from the product's tab instead: see Technical Data.

Open the list under Technical Data in the left menu.

📄 Official specification: IDTA 02003 — Generic Frame for Technical Data (PDF)


The template lifecycle

The whole journey, from building a template to appearing in a customer's file.

flowchart TD
    T([Build a template<br/>sections and properties])
    T --> A[Assign to products<br/>one template per product]
    A --> V[Enter values on each product]
    V --> X([Export or publish])
    X --> SM[Technical Data submodel<br/>in the AASX, JSON or BaSyx]

    T -. Duplicate .-> T2([Separate template<br/>for a different family])

    A --> E{Edit the template later?}
    E -->|Safe change<br/>name, label, default, order| A
    E -->|Frozen change<br/>unit, type, required, add or delete| R[Record values first<br/>they will be deleted]
    R --> U[Unassign and edit,<br/>or make a new version]
    U --> A
Loading
  • Build once, assign to many. A product holds one template at a time. Entering the values happens on each product's tab (see Technical Data).
  • The values travel out as the Technical Data submodel in the exported AASX or JSON, or when you publish to BaSyx.
  • Editing an assigned template splits two ways. Safe changes apply straight away; a frozen change means recording and deleting the stored values first.
  • For a different family, duplicate rather than edit.

The template list

Every template you have built is listed here, with how many products each is assigned to. For each one:

  • View details opens the template's own page (structure, assigning, unassigning).
  • Edit reopens the builder.
  • Duplicate makes a full copy. The safe way to start from an existing template, or to reuse one for a different family without touching the original.
  • Delete removes it. A template assigned to any product cannot be deleted; the button is greyed out until nothing uses it.

Create template starts a new one by hand. Import from Excel builds one from a spreadsheet.


Creating a template

The builder has two parts.

Basic information

Field What to enter Example
Template Name * A name for the template. Centrifugal Pump Template
Version * Its version. Defaults to 1.0. 1.0
Description What the template is for. Specifications for the CP pump range

Sections and properties

A template is organised into sections, and sections hold properties (the actual fields). Sections can be nested into sub-sections, so you can group Electrical and Hydraulic under a parent, a few levels deep.

  • Add Root Section starts a top-level section. Add Sub-Section nests one inside it.
  • Give each section a Name and, optionally, a Semantic ID (a standard identifier such as an ECLASS or IEC code, if you use them).
  • Inside a section, Add Property adds a field. Drag the handle, or use the up and down arrows, to reorder sections and properties.

Each property has these columns:

Column What it is
Display Name The human name shown to whoever enters the data, e.g. Nominal Current.
Name (idShort) The machine name. Filled in automatically from the Display Name (Nominal Current becomes nominal_current), and you can override it.
Semantic ID Optional standard identifier for the property. Leave blank if you do not use them.
Data Type What kind of value this field holds. See the list below.
Unit The unit of measurement, e.g. V, A, mm. Start typing and the app suggests common units; you can also type your own. Required for numeric fields.
Required Tick if a product must have this value before it can be published.
Default An optional value pre-filled for every product using the template.

The data types

Type Use it for Example
Text Free text. Can be made multi-line. Stainless steel
Integer A whole number. 3
Decimal A number with decimals. 7.5
Boolean True or false. True
Date A calendar date. 2026-03-01
Date & Time A date with a time.
URL A web link. https://…
Range (min / max) A span, with its own value type. 10 to 20
Enum (single choice) One value from a fixed list you define. IE3
Multi-Select (many) Several values from a fixed list. CE, UL

For Enum and Multi-Select, type each allowed value and press Enter to add it. For Range, pick the value type (integer, decimal, date) so both ends match.

Saving

Create template saves it. The app checks the template has a name, at least one section, that every section has a name, and that every property has a name. Preview shows a quick summary without saving.


A sample template

A small, complete example for a pump range. Three sections, seven properties.

Centrifugal Pump Template, version 1.0

Section: Electrical

Display Name Data Type Unit Required Default
Nominal Voltage Decimal V * 400
Nominal Current Decimal A *
Rated Power Decimal kW *

Section: Hydraulic

Display Name Data Type Unit Required Default
Maximum Flow Rate Decimal m³/h *
Maximum Head Decimal m

Section: Mechanical

Display Name Data Type Unit Required Default
Weight Decimal kg
Housing Material Enum (Cast iron, Stainless steel, Bronze) Cast iron

Assign this to the PUMP3000 and its siblings, and entering data for one pump is just typing 400, 12.5, 7.5, 45, 32, 38, Stainless steel.


Creating a template from an Excel sheet

If you already keep your specifications in a spreadsheet, you do not have to rebuild them by hand. On the Templates list, Import from Excel creates a whole template from an .xlsx file.

📥 Download the sample spreadsheet and edit it to match your product, or build your own using the columns below.

The sheet layout

One row per property. Row 1 must be the headers. The names are matched flexibly, so spaces and capitalisation are ignored and common synonyms are accepted (Display Name, DisplayName and Label all work). The columns are:

Section · Property · DisplayName · DataType · Unit · Required · DefaultValue · AllowedValues · SemanticId · RangeValueType

  • Section groups the property. For a nested section, write a path with >, for example Electrical > Power supply > Protection. Parent sections are created for you, so they do not need their own rows. A blank section becomes General.
  • Property is the machine name (idShort). Required on every row.
  • DataType must be one of the names below.
  • Required is Yes or No (also accepts true or false).
  • AllowedValues for an Enum or MultiSelect are separated by a vertical bar, for example Steel | Aluminium | Plastic.
  • RangeValueType applies only to a Range property and sets the value type of both ends, for example xs:int, xs:decimal or xs:date. A range's default goes in DefaultValue as min|max, for example -20|60.
  • Unit, DefaultValue and SemanticId are optional.

Anything you leave out is prefilled with a sensible default.

The data types you can use in the sheet

The everyday ten, matching the visual builder:

Text (String) · Integer · Decimal · Boolean · Date · DateTime · Url · Range · Enum · MultiSelect

The importer also accepts these extra numeric and time types:

Long · Short · Byte · Float · Double · Time

Use these exact words in the DataType column.

The sample sheet

The downloadable file describes a small device across four sections, showing nested sections, every list type, and a temperature range:

Section Property Display Name Data Type Unit Required Default Allowed Values Range Type
Electrical ratedVoltage Rated Voltage Decimal V Yes 400
Electrical ratedCurrent Rated Current Decimal A Yes
Electrical > Power supply supplyFrequency Supply Frequency Enum Hz No 50 | 60
Electrical > Power supply inrushCurrent Inrush Current Decimal A No
Electrical > Power supply > Protection fuseRating Fuse Rating Decimal A No 16
Electrical > Power supply > Protection protectionClass Protection Class Enum No I | II | III
Mechanical weight Weight Decimal kg No 3.8
Mechanical > Mounting boreDiameter Bore Diameter Decimal mm No 25
Mechanical > Mounting mountingType Mounting Type MultiSelect No DIN Rail | Wall | Panel
Mechanical > Housing housingMaterial Housing Material Enum No Steel | Aluminium | Plastic
Mechanical > Housing ipProtection IP Protection String No IP65
Environmental operatingTemp Operating Temperature Range °C No -20|60 xs:int
Environmental storageTemp Storage Temperature Range °C No -40|85 xs:int

Highlights: the Electrical > Power supply > Protection rows show three levels of nesting; mountingType is a MultiSelect; protectionClass and housingMaterial are Enums with a pipe-separated allowed list; and the two temperature rows are Ranges with RangeValueType = xs:int and a min|max default.

Importing

  1. Click Import from Excel on the Templates list.
  2. Give the template a name and a version, and choose your .xlsx.
  3. The app reads the file and shows every property in a preview table, flagging anything to check in a Please check panel.
  4. Edit the preview if needed. Every cell is editable, and you can delete rows.
  5. Create template.

The import refuses to finish if a row has no property name, if the same property appears twice in one section, or if an Enum or Multi-Select has no allowed values. It tells you which row to fix.


The template detail page

View details opens the template's own page. It shows the template's structure (sections and properties, read only), quick counts (version, sections, properties, how many product types use it), and two buttons: Edit and Assign to Product.

At the bottom, Products Using This Template lists every product it is assigned to, each with a completion bar showing how much of its required data is filled in, when it was last updated, and an unassign button.

Assigning to many products at once

Assign to Product opens a picker that sorts your products into three groups:

  • Available are products with no template yet. Tick the ones to assign.
  • Already using this template are shown for reference, ticked and locked.
  • Using a different template are greyed out. A product holds only one template, so to move it you must unassign its current one first.

Tick your products and click Next: choose entry mode:

Mode What it does
Same for all Enter one set of values and apply it to every selected product. Ideal when a batch shares the same specs.
Enter individually Fill in each product separately.
Skip Assign the template now and enter values later.

Unassigning

In the Products Using This Template table, the unassign button removes the template from that one product. It asks you to confirm first, and it cannot be undone: the values entered for that product are removed with the template. To keep them, download the product's AASX before you unassign.

This is also how you free a product that is "using a different template" so you can assign this one to it.


Editing a template that is already in use

Once a template is assigned to products, some changes are safe and some would quietly corrupt the values already stored.

Safe any time: the template name and description, a property's Display Name, Semantic ID and Default, its multi-line setting, section names, and the order of everything. None of these change what a stored value means.

Frozen while assigned, because they would break existing values:

Change Why it is blocked
Unit The most dangerous. Changing kg to g leaves the stored numbers unchanged, so every product is silently wrong.
Data Type Existing values may not fit the new type.
Allowed values (Enum) Narrowing can strand a product on a value it can no longer save.
Required Making a field required leaves existing products incomplete.
Adding or deleting a property or section Deleting destroys values; a new required field leaves every product incomplete.

To make a frozen change you have two routes, and both delete the stored values, so record them first by downloading each product's AASX:

  1. Unassign, edit, reassign. Unassign the products (values deleted), edit the template, reassign, re-enter the values.
  2. New version. Create a new version, edit it, move the products over (old values deleted), enter fresh values, then retire the old version.

If you actually want the template for a different set of products, do not edit or version it. Duplicate it instead. The original keeps its products and values untouched.


Tips

  • Design the template for the family, not one product.
  • Get units right the first time. The unit is frozen once assigned.
  • Use Enum for fixed choices like material or efficiency class.
  • Duplicate rather than edit when you want a template for a new family.
  • Check the completion bars on the detail page to see which products still need their required values.
For technical users

Templates define the structure of the Technical Data submodel (IDTA 02003 v2.0). Sections map to nestable SubmodelElementCollections, properties to Property, Range or MultiLanguage elements by data type. The idShort derives from the Display Name to AAS rules. Numeric properties require a unit, matching IEC 61360 / IDTA 01003-b. Stored values key to each property's stable id, which is why labels, order and default can change on an assigned template but unit, data type, allowed values and cardinality cannot. Properties with no semantic id export against SemanticIdNotAvailable, per the spec fallback.

Clone this wiki locally