Description of XLSX File Format

The Excel file is used to export records to Excel and import records from Excel into the system. And, you can either download an empty template for importing or use the results of the export (available in batch operations with records).

An Excel file can consist of several sheets, each one containing a description of a different object. The type of object can be determined by the first letter in the sheet name:

  • E - entity/lookup entity. Is the main sheet;

  • N - complex attribute (from Nested);

  • R - relation.

Also the name of the sheet specifies the logical name of the object (but no more than 31 characters).

When re-importing records (editing existing data) using ETALON_ID, regardless of which source system is specified, the records will be loaded on behalf of the internal (system) source. To load data on behalf of other sources, use EXTERNAL_ID.

Tip

It is recommended to explore the Excel file using a ready-made example. For example, perform a batch export operation for any entity/lookup entity, or, if no data is available, download an import template

Main Entity/Lookup Entity Sheet

Column

Description

Import

Export

ID

Virtual key for matching objects from different sheets. The ID value is not stored in the system

The ID values are read from all sheets of the file. When the ID matches, the entity/lookup entity record with the specified ID includes the objects that have the matched ID.

Not unloaded when exporting

ETALON_ID

System identifier of the etalon record

Optional. Can be empty.

If ETALON_ID is specified, then during import a record with a matched identifier will be overwritten (the empty or undeleted attributes will be changed). When importing, ETALON_ID is paired with the source system you specified at Step 1 of the record import. This is necessary to identify the record if there is no value in the EXTERNAL_ID column. ETALON_ID must not be filled in during the initial data loading. Otherwise, the records will be rejected. When editing existing records through ETALON_ID, the data will always be loaded from the source system name

Unloaded when exporting

EXTERNAL_ID

External record key (identifier of the record in the source system)

Can be empty for existing records. When importing, EXTERNAL_ID is paired with the source system that was specified in step 1 of importing records. This is necessary to identify new record. It is mandatory for importing records with more than one period

Not unloaded during export

If ETALON_ID and EXTERNAL_ID of the imported record does not match ETALON_ID and EXTERNAL_ID of the existing record, the record loading will fail. In this case, if only EXTERNAL_ID is specified, the record will be loaded as a new one

IS_ACTIVE

Activity indicator, which determines whether the record validity period is marked for deletion

Optional. One of the following states must be specified: TRUE or FALSE. Where FALSE is the period marked for deletion. If IS_ACTIVE is empty, then the action is the same as in the TRUE state

Unloaded when exporting

For hierarchical lookup entities - the indicator determines whether the record is marked for deletion

Optional. One of the states must be specified: TRUE or FALSE. Where FALSE is the record marked for deletion. If IS_ACTIVE is empty, then the behavior is similar to the parameter in state FALSE

Unloaded when exporting

EXTERNAL_KEYS

List of pairs of record external keys and source systems. Each key/source pair is written with a separator

Not used during import

Unloaded when exporting

Only for entity and simple lookup entity

FROM

Start date/time of the record time period

Optional. Can be empty.

The cell must contain the date in the format DD.MM.YYYY HH:MI:SS

Unloaded during export if it has a value different from “-∞”

TO

End date/time of the record time period

Optional. Can be empty.

The cell must contain the date in the format DD.MM.YYYY HH:MI:SS

Unloaded during export if it has a value different from “+∞”

*No value in the FROM field is interpreted as “-∞”, TO - as “+∞”. For example, if you specify the current date as the TO value and leave the FROM field empty, the record will be relevant up to and including today

Only for hierarchical lookup entity

PARENT_ID

Parent node identifier

Optional. Can be empty - in this case the imported record becomes the root node

Unloaded when exporting

The following columns contain the main attributes of the entity/lookup entity. The identifier of each attribute has the form “Entity/lookup_entity_name”. For example, COUNTRY.NAME for the COUNTRY lookup entity and the NAME attribute. A hint is also specified. For example, Country List >> Name.

List of Complex Attributes

Only complex attributes of the first level are processed.

Column

Description

Import

Export

ID

Virtual key for matching objects from different sheets. The ID value is not stored in the system

Used only for linking to the validity periods of a record (table row) from the main sheet and the subsequent search. If there is a record on the main sheet with the corresponding ID, FROM, TO columns, the complex attribute will be added to the found row and will be used to update the corresponding validity period of the record. If the record on the main sheet is not found, the complex attribute is ignored

Not unloaded during export

ETALON_ID

System identifier of the Etalon record

Used together with FROM, TO to bind to the record validity periods (table row). If the key is set, the search will be performed among the rows of the main sheet (which contains the data inserts). If the main sheet contains a record with the corresponding ETALON_ID, FROM, TO columns and an empty ID column, the complex attribute will be added to the found row. If no record is found on the main sheet, the complex attribute is ignored

Unloaded during export

EXTERNAL_ID

External record key (identifier of the record in the source system)

Used together with FROM, TO for binding to the record validity periods (table row). If the key is set, the search will be performed among the rows of the main sheet (which contains data inserts). If there is a record with the corresponding EXTERNAL_ID, FROM, TO columns and empty ID and ETALON_ID columns on the main sheet, the complex attribute will be added to the found line. If the record on the main sheet is not found, the complex attribute is ignored

Not unloaded during export

If ETALON_ID and EXTERNAL_ID of the imported attribute does not match the ETALON_ID and EXTERNAL_ID of the existing attribute, then the loading of the attribute will fail

FROM

Start date/time of the record validity period (the record to which the complex attribute is added)

Optional. Can be empty.

(interpreted as “-∞”) The cell must contain the date in DD.MM.YYYY HH:MI:SS format. Complex attributes are imported when the ID, FROM and TO match the same fields in the entity/lookup entity record on the main sheet

Unloaded during export if it has a value different from “-∞”

TO

End date/time of the record validity period (the record to which the complex attribute is added)

Optional. Can be empty.

(interpreted as “+∞”) The cell must contain the date in DD.MM.YYYY HH:MI:SS format. Complex attributes are imported when the ID, FROM and TO match the same fields in the entity/lookup entity record on the main sheet

Unloaded during export if it has a value different from “+∞”

IS_ACTIVE

There is no for complex attributes

EXTERNAL_KEYS

List of pairs of record external keys and source systems. Each key/source pair is written with a separator

Filled in the same way as for the main sheet

Filled in the same way as for the main sheet

List of Relations

Column

Description

Import

Export

ID

Virtual key for matching objects from different sheets. The ID value is not stored in the system

Filled in the same way as for the complex attribute

Filled in the same way as for the complex attribute

ETALON_ID

System identifier of the Etalon record

Filled in the same way as for the complex attribute

Filled in the same way as for the complex attribute

EXTERNAL_ID

External record key (identifier of the record in the source system)

Filled in the same way as for the complex attribute

Filled in the same way as for the complex attribute

If the ETALON_ID and EXTERNAL_ID of the imported record does not match the ETALON_ID and EXTERNAL_ID of the existing record, the record loading will fail. In this case, if only EXTERNAL_ID is specified, the record will be loaded as new

FROM

Start date/time of the record validity period (for main sheet)

Optional. Can be empty.

(interpreted as “-∞”) The cell must contain the date in DD.MM.YYYY HH:MI:SS format.

Unloaded during export if it has a value different from “-∞”

TO

End date/time of the record validity period (for main sheet)

Optional. Can be empty.

(interpreted as “+∞”) The cell must contain the date in DD.MM.YYYY HH:MI:SS format.

Unloaded during export if it has a value different from “+∞”

No value in FROM field is interpreted as “-∞”, TO - as “+∞”. For example, if you specify the current date as the TO value and leave the FROM field empty, the record will be relevant up to and including today

TO_ETALON_ID

Etalon key of the right end of relation (ID of the record which is pointed by relation)

Used to bind records during import

Unloaded during export

IS_ACTIVE

There is no for relations

TO_EXTERNAL_ID

External record key of the right end of relation

Used to bind records during import

Not unloaded during export

TO_DISPLAY_NAME

Display name of the record which is pointed by relation

Not used during import

Unloaded during export

Additional Info

  • Each sheet has system attributes (columns in blue) and main object attributes.

  • Each attribute corresponds to a separate column.

  • Each new row corresponds to a separate record with a validity period (if a record contains several validity periods, each period will be a separate row).

  • The ID, ETALON_ID and EXTERNAL_ID in the attributes and relations sheets are used to identify the record (validity period) to which they are related.

  • Identification is made by the contents of the main sheet. If no record is found, the inserted object (complex attribute or relation) will be ignored.

Searching Records by System Attributes

When filling out the template, you should note the possible content of the three main system record attributes: ID, ETALON_ID and EXTERNAL_ID. In addition, all objects (relations, complex attributes) for binding include validity periods (FROM and TO field values).

Priority of columns when identifying: ID, ETALON_ID, then EXTERNAL_ID.

  • If none of the keys are set in the main sheet, it will be inserted as a new one. It is impossible to attach objects to such a record.

  • If there is an ID is Set, ETALON_ID is Empty, EXTERNAL_ID is Empty: the record will be inserted as a new one. Only this key will be used for searching between sheets.

  • If the main sheet ID is Empty, ETALON_ID is Set, EXTERNAL_ID is Empty: ETALON_ID will be used for searching between sheets. Only this key will be used to search between sheets.

  • If the main sheet ID is Empty, ETALON_ID is Empty, EXTERNAL_ID is Set: EXTERNAL_ID will be used for searching between sheets. Only this key will be used to search between sheets.

  • If the main sheet has ID is Set, ETALON_ID is Set, EXTERNAL_ID is Set: ID will be used for searching between sheets. Only this key will be used to search between sheets.

  • If main sheet ID is Set, ETALON_ID is Set, EXTERNAL_ID is Empty: ID will be used for searching between sheets. Only this key will be used to search between sheets.

  • If main sheet ID is Set, ETALON_ID is Empty, EXTERNAL_ID is Set: ID will be used for searching between sheets. Only this key will be used to search between sheets.

  • It is recommended to fill one key type for all objects of the particular record (for entity/lookup entity itself, for complex attributes, relations).

Importing Records with Multiple Validity Periods

Multiple periods of the same record are loaded only with EXTERNAL_ID.

In the .xlsx file, such a record with several validity periods should occupy several rows, where each of the rows should contain its own validity periods (FROM and TO columns).

In case the existing record is updated, the ETALON_ID of all rows of the same record must be the same.

A period that completely overlaps (is included in) another one will be merged with a bigger period.