GlobalIds: why duplicates break handover and operations
Summary
Every object in an IFC file that can be tracked over time has a GlobalId: an identifier that is meant to belong to that one object and nothing else. It is how software, and the systems you run the asset with, tell one wall, pump or bearing from another, in this file and in the next version of it.
When two objects share a GlobalId, anything that finds objects by that identifier can pick the wrong one, merge the two or drop one of them. Nothing looks wrong in a viewer. The damage shows up later, in the asset register, the maintenance system, the issue list or the comparison with the next model version.
The report counts duplicates in the check Duplicate GlobalIds on the Consistency page. Any duplicate drops that check from 100 to 30 or less.
What a GlobalId is
In IFC, elements (walls, beams, pipes), type objects, property sets, relationships and the spatial structure (site, building, storey, bridge, road) all descend from one base class, IfcRoot. Each of them carries a GlobalId attribute: a 128-bit globally unique identifier (GUID), compressed into 22 characters.
IFC requires a GlobalId to be unique. It is also expected to stay the same when the model is exported again, so that the same physical object keeps the same identifier from design through construction to handover. Asset owners rely on both properties, often without knowing it, whenever they link something to a model object.
Where you see it in the report
| Place | What it shows |
|---|---|
| Consistency page, check Duplicate GlobalIds (marked key) | The number of duplicates, for example 0 duplicate GUIDs, and the explanation Duplicate GlobalIds detected; duplicates break change tracking, BCF issues, and model federation. |
| Overview, list Needs work | Two objects share one GlobalId, or for more, for example 7 objects share 3 GlobalIds: the number of objects involved and the number of identifiers they share. |
| Potential page, What to fix first | The action Regenerate GlobalIds for the objects that share one. with the points it would add to Overall quality. It also appears in the Overview’s What to fix first when it is one of the three largest gains. |
| Scores page, card What makes up the Forensic BIM score™ | A lower Reliability factor. |
| Capabilities page | The condition No duplicate GlobalIds for Clean export and Operations / FM (a draft rule), and One site, no duplicate GlobalIds for AI ready. |
In What we check this check is part of the Consistency card Duplicate GlobalIds, negative quantities & empty values.
How duplicates are found
The analysis reads every object in the file that derives from IfcRoot and counts how often each GlobalId occurs. The number reported is the count of surplus copies: an identifier used twice counts as 1, one used three times counts as 2. Elements, types, property sets and relationships are all included, because a duplicate on any of them confuses the software that reads the file.
The check looks inside one file. It cannot tell whether the identifiers are the same as in the previous version you received; for that, the two versions have to be compared.
The Needs work sentence on the Overview counts objects of every kind, because a property set or a type with a reused GlobalId causes the same trouble as an element. Reports from before 13 October 2026 only stored the number of surplus copies; for those, the sentence says how many objects reuse a GlobalId that another object already has.
How it is scored
| Situation | Score |
|---|---|
| No duplicates | 100 |
| Any duplicate | 30, minus 3 points for every 1% of the model’s elements that are duplicates, down to 0 |
| 1 duplicate in 1,000 elements | 30 (Weak) |
| 4 duplicates in 1,000 elements | 29 (Critical) |
| Duplicates equal to 10% of the elements or more | 0 |
The check has a weight of 2, which is why it is marked key, and it belongs to the Consistency dimension. It is one of the hygiene checks described in Scoring versions and what changed: a pass counts for a quarter of its weight, a failure for its full weight. Clean files gain little from it; a file with even one duplicate loses a lot.
Duplicates also lower the Forensic BIM score™: the Reliability factor is cut by 30% when the file has any. Because the Overall quality score is limited by the Forensic BIM score™, that can hold the quality score back as well.
Why duplicates matter after handover
| Where | What breaks |
|---|---|
| Handover and the asset register | Many owners and handover specifications use the GlobalId as the key between a model object and its asset record. Two objects with one key give one record for two assets, or the second import overwrites the first. An asset that exists on site is then missing from the register. |
| Maintenance and facility systems (CMMS, CAFM) | Computerised maintenance management and computer-aided facility management systems link work orders, inspections, warranties and documents to model objects. A shared identifier can send a link to the wrong object, or make the import fail. |
| BCF issues | Issues in the BIM Collaboration Format point to the objects they are about by GlobalId. With a duplicate, an issue can highlight the wrong object, or two, and the author fixes the wrong one. |
| Model versions | Comparing two versions of a model matches objects by GlobalId. Duplicates make objects appear added, deleted or changed when they are not, and changes get attributed to the wrong object. |
| Federation | When discipline models, or the parts of a long road or rail project, are combined in one viewer or model server, objects that share an identifier can be merged, dropped or overwritten. |
These problems are cheap to prevent at delivery and expensive to untangle once identifiers have been copied into other systems. That is why the check weighs heavily even when the count is small.
How to fix it
The action in the report is Regenerate GlobalIds for the objects that share one. Ask whoever delivered the file to do this in the authoring tool or the export, and to keep the original identifier on the object that already has it, so links you have already made still work. Regenerating every identifier in the model fixes the duplicates but breaks every existing link and every comparison with earlier versions.
Common causes are copying objects or whole files in a way that copies their identifiers too, merging two exports of the same model, and conversion scripts that write identifiers themselves. Once the delivery team knows the cause, they can stop it recurring. Upload the corrected file with Examine new file to confirm the count is 0.
Frequently asked questions
There is only one duplicate. Is it worth fixing?
Yes. One duplicate takes the check from 100 to 30, cuts the Reliability factor of the Forensic BIM score™ and removes the Clean export capability. More importantly, the two objects involved may be ones your register or maintenance system needs to tell apart.
Will fixing the duplicates change identifiers my systems already use?
Not if only the copies get new identifiers. Ask for the original GlobalId to stay on the object your register or maintenance system already links to, and check the links after importing the corrected file.
Can forensicBIM tell me which objects share an identifier?
The report gives the number of duplicates. To find the objects themselves, search the file for repeated GlobalIds in a model checker or in the authoring tool.