Why are there objects with the same ID in the vault?

Object IDs are object type specific. This is why it is relatively common for many objects in the vault to have the same ID. For example, it is normal for a Project object and Employee object to have the same ID.

Sometimes, however, even two objects of the same type can seem to have the same ID. This can occur because the display ID shown on the metadata card can get its value from different types of identifiers used in M-Files. This page tells you about these identifiers and how they are used as the object's display ID.

The M-Files vault identifies an object with – and uses as the object's display ID – one of these identifiers:

Identifier type Description

Internal ID

Each object in the vault has an internal ID.

Internal ID is unique to each object per object type in a vault. When you refer to an object in a vault, for example in a script, you must refer to it with its internal ID.

Original ID

An original ID is used when an object is replicated from another vault. The original ID contains the internal ID that the object has in the vault in which it was created. In addition to the original ID, the replicated object gets a new internal ID in the target vault.

External ID

Objects imported from an external database have an external ID.

The object is identified with this identifier in the external database. In addition to the external ID, the object has an internal ID in the vault.

The display ID gets its value from one of these IDs in this order of priority:

  1. External ID
  2. Original ID
  3. Internal ID
In other words:
  • If an object has an external ID, it is shown as the object's ID on the metadata card.
  • If an object has an original ID but no external ID, the original ID is shown as the object's ID on the metadata card.
  • If an object has no external or original ID, the internal ID is shown as the object's ID on the metadata card.
Note: You can use the %INTERNALID% placeholder for a property of the Text data type to add the internal ID to the object metadata as an automatic property value. For instructions, see Specifying an Automatic Value for a Property and Simple concatenation of properties.