How to create an IDS file

Start with a clear information requirement, identify the objects it applies to, and define the information those objects should contain.

Written by Eli Weaver · Reviewed 21 September 2026

To create an IDS file, start with a clear information requirement, identify the objects it applies to, and define the information those objects should contain. Use an IDS authoring tool to prepare the specification, audit the resulting file, and test its behaviour against a representative IFC model.

The workflow below is a practical starting point for a small pilot.

1. Write down the purpose of the requirement

Choose a real delivery question. Who needs the information? What decision or task will it support? At which stage is it needed?

For a hypothetical design review, your team might need a fire rating recorded for each wall in scope. Write down what the reviewer will do with that information and who will resolve an unclear or missing value.

Avoid beginning with a long list of every property the software can request. Begin with the information your team can explain and use.

2. Agree the IFC delivery context

Record the IFC version used by the project and check that the receiving software supports it. Inspect a representative export to understand how the authoring team is producing the relevant objects and information.

Agree whether the scope concerns object occurrences, types or another defined group. Resolve this before building a large specification set.

3. Define applicability

Applicability selects the objects to which a specification applies. Entity and other facets can be combined to describe the intended group. Requirements then describe what the selected objects must satisfy. buildingSMART's specification guide

For a first pilot, use a scope you can inspect easily, such as all wall occurrences in a small sample model. Add more selective conditions only when the project needs them.

4. Specify the information precisely

For a property requirement, identify its property set and name. Decide whether you need a populated value or a particular value rule, and use the appropriate data type. Standardised IFC properties have defined names and data types. IDS property facet guidance

In the wall example, Pset_WallCommon and FireRating identify the property. Agree the permitted project values before restricting them. Do not assume that an example value from another project is suitable for yours.

5. Describe and review the specification

Give the specification a useful name, explain its purpose and identify the delivery it belongs to. Ask a person responsible for the model to review the wording and a person responsible for receiving the information to review the expected outcome.

If AI helped produce the draft, review the selected objects and every information field. Resolve assumptions before issuing the specification.

6. Audit the IDS file

Run an appropriate IDS audit on the file you intend to share. buildingSMART provides an open-source tool for checking IDS file validity. IDS Audit Tool

Correct reported issues, then keep the reviewed file identifiable so the project team can refer to the same issue.

7. Test a passing and a failing case

Use a small IFC example where you know what should happen. Include one object with the expected information and another with the information missing or deliberately incorrect. Check that the right objects are selected and that the results match your expectations.

This is a test you should run; it is not a claim that the examples in this article have already been validated.

8. Issue and maintain the requirements

Identify the release, its intended delivery stage and the person responsible for questions. When requirements change, explain the change and the delivery to which it applies. Preserve the relationship between the requirement issue, the received model and the checking result.

See practical IDS examples and the validation guide, or start organising specifications in IDS Compass.

Turn your next requirement into a specification.

Join the IDS Compass beta and build your first specification set.

Private beta · free while in beta.