Proposal — Broad import/export format support
This is a research-backed proposal for the file/data formats Open Planner Studio should aim to support, prioritised by real-world usage in the Dutch (and international) construction, infrastructure and civil-engineering (GWW) markets, together with concrete open-source library choices per format.
The goal is to make Open Planner Studio the neutral hub between the tools schedulers, contractors and public clients (Rijkswaterstaat, ProRail) are actually using today.
TL;DR — the "6+2" priority list
These six formats cover >80% of the Dutch construction / infra / GWW market and much of the international scheduling world:
| # |
Format |
Extension |
Where it comes from |
Suggested library |
| 1 |
MS Project MSPDI |
.xml |
MS Project, KYP export, Metacom/4PS ERP exports, RWS deliverables |
MPXJ |
| 2 |
MS Project binary |
.mpp |
MS Project (still dominant NL) |
MPXJ (only mature OSS option) |
| 3 |
Primavera XER |
.xer |
P6 worldwide + large NL infra JVs (Shell, TenneT, RWS-JVs) |
MPXJ or xer-reader (pure-Python fallback) |
| 4 |
Primavera PMXML |
.xml |
P6 newer / enterprise exchange |
MPXJ |
| 5 |
Asta Powerproject |
.pp |
Asta widely used at NL contractors + KYP import |
MPXJ (the only maintained OSS parser) |
| 6 |
IFC 4.3 + IfcWorkSchedule |
.ifc |
Synchro, BIM 4D, RWS/ProRail COINS containers |
IfcOpenShell |
High-value USPs (phase 2):
| # |
Format / API |
Why |
| 7 |
KYP Project REST API |
KYP is the de facto NL construction planning tool (Dura Vermeer, BAM, TBI/Koopmans, Aan de Stegge, Nijhuis). No public export — direct API integration is a unique differentiator. |
| 8 |
iCalendar (.ics) |
Deadlines / milestones sync to calendar apps. Trivial to implement, high user value. |
Why these formats — market evidence
- KYP Project natively imports
.xml (MSPDI), .mpp, .pp — supporting those three means Open Planner Studio speaks KYP's language.
- Rijkswaterstaat and ProRail typically receive schedules as MSPDI XML or PDF-Gantt; larger infra JVs use Primavera XER/PMXML.
- Metacom (VanMeijel), 4PS Construct (Dynamics 365 BC), Ibis (Aceve) all export to
.mpp/.xml — no need for ERP-specific adapters.
- PlanRadar (snagging with schedule import) reads
.mpp, .xml (MSPDI), .pp, .xer — same six-format core.
- Deltek Acumen Fuse / Cobra / Open Plan / Safran / ARES PRISM / Hexagon EcoSys — all read/write XER + MSPDI as lingua franca, so the same core covers enterprise too.
- BCF 3.0 and IFC 4.3 IfcWorkSchedule are the buildingSMART-blessed neutral hub used in RWS ILS Uitvoering and CROW BIM basis-ILS.
Deliberately out of scope for MVP
To keep the surface manageable, these should NOT be built for the MVP:
- Aspose.Tasks Cloud SDK — cloud-only, proprietary, sends project data to Aspose servers (privacy issue for NL users).
- COINS 2.0 parser — Dutch niche; container = ZIP + RDF/OWL, planning is not a first-class citizen. Wait for demand.
- VISI — SOAP messaging standard managed by CROW; no CPM payload. Not a scheduling format.
- Tilos
.tlp — proprietary Trimble binary/XML; no public spec, no OSS parser. Route: ask users to export MSPDI from Tilos.
- NLCS — 2D CAD layer standard, no scheduling data.
- ERP-specific connectors (Metacom, 4PS, Ibis) — those tools already export to
.mpp/.xml, no separate adapter needed.
- Snagging apps (Ed Controls, BouwApp, Homigo) — wrong layer.
The MPXJ multiplier
One dependency, many formats. MPXJ (LGPL-2.1, actively maintained by Jon Iles for 20+ years, v16.5.0 released July 2026) reads:
MPX, MPP (all versions), MSPDI, MPD, Planner, Primavera PMXML, Primavera XER, P3, SureTrak, Asta Powerproject .pp (v8+), Asta Easyplan, Phoenix, Fasttrack, GanttProject, TurboProject, ConceptDraw PROJECT, Synchro, Gantt Designer, SDEF, Sage 100 Contractor, Project Commander, Deltek Open Plan BK3, Edraw Project EDPX.
Writes: MPX, MSPDI, PMXML, XER, Planner, SDEF.
Available in Java (native), .NET via IKVM (MPXJ.Net), Python wrapper (PyPI mpxj), Ruby.
Known limitations: cannot read password-encrypted MPP; cannot read Powerproject v7 or older .pp; cannot write MPP (writing MPP requires MS Project COM).
For IFC + 4D — IfcOpenShell
IfcOpenShell (LGPL/GPL, 2.6k+ stars, daily commits) covers IfcWorkPlan / IfcWorkSchedule / IfcTask / IfcTaskTime / IfcRelSequence via ifcopenshell.api.sequence.
Its ifc4d submodule can already import from and export to P6 XER, Asta PP, and MS Project — bridging directly to the same six-format core.
Sample file with tasks: construction_scheduling_task.ifc.
Architecture suggestion
A neutral internal model based on IFC 4.3 IfcWorkSchedule (Task, Sequence, Resource, Calendar, WBS) with adapters per source format:
+---------------------------------------------+
| Open Planner Studio UI |
+---------------------------------------------+
|
+---------------------------------------------+
| Canonical model (IfcWorkSchedule-superset) |
+---------------------------------------------+
^ ^ ^
| | |
+---------+ +---------------+ +----------+
| MPXJ | | IfcOpenShell | | Custom |
| adapter | | + ifc4d | | adapters |
+---------+ +---------------+ +----------+
| MSPDI | | IFC 4.3 | | iCal |
| XER | | IfcWork... | | CSV/XLSX |
| PMXML | +---------------+ | KYP API |
| MPP | | BCF 3.0 |
| Asta PP | +----------+
| ... |
+---------+
Each source has its own adapter that maps to the canonical model. UI works against canonical model only. Adding a format = new adapter, no UI changes. Export is symmetric via the same adapter pattern.
Licensing note
MPXJ (LGPL-2.1) and IfcOpenShell (LGPL / GPL dual) are both suitable for a commercial closed-source product provided they are dynamically linked. Running them as a separate sidecar process (JVM sidecar for MPXJ, Python sidecar for IfcOpenShell) naturally satisfies this.
Suggested roadmap
Phase 1 — MVP (~2–3 weeks)
- Canonical model based on
IfcWorkSchedule.
- MPXJ integration: MSPDI + XER + MPP + Asta PP + PMXML adapters (round-trip where possible).
- CSV/Excel import with column-mapping wizard.
- iCal export for milestones.
Phase 2 — NL / BIM compliance (~4–6 weeks)
- IFC 4.3
IfcWorkSchedule read/write via IfcOpenShell.
- BCF 3.0 (
bcfzip) read/write (via IfcOpenShell bcf module or buildingSMART/BCF-XML schemas).
- KYP Project REST API integration (requires KYP dev-access).
Phase 3 — Niche / on-demand
- Tilos MSPDI-export bridge (whenever a Tilos customer arrives).
- Deltek Open Plan BK3 (MPXJ handles it — near-free).
- CUF-XML / TRADXML (Dutch calculation-to-planning bridge) if a calc-integration USP is pursued.
Test data — start with
References
Happy to help refine the roadmap, draft adapter interfaces, or contribute a first MPXJ-based MSPDI adapter as a PR if the maintainers agree with the direction.
Proposal — Broad import/export format support
This is a research-backed proposal for the file/data formats Open Planner Studio should aim to support, prioritised by real-world usage in the Dutch (and international) construction, infrastructure and civil-engineering (GWW) markets, together with concrete open-source library choices per format.
The goal is to make Open Planner Studio the neutral hub between the tools schedulers, contractors and public clients (Rijkswaterstaat, ProRail) are actually using today.
TL;DR — the "6+2" priority list
These six formats cover >80% of the Dutch construction / infra / GWW market and much of the international scheduling world:
.xml.mpp.xer.xml.pp.ifcHigh-value USPs (phase 2):
.ics)Why these formats — market evidence
.xml(MSPDI),.mpp,.pp— supporting those three means Open Planner Studio speaks KYP's language..mpp/.xml— no need for ERP-specific adapters..mpp,.xml(MSPDI),.pp,.xer— same six-format core.Deliberately out of scope for MVP
To keep the surface manageable, these should NOT be built for the MVP:
.tlp— proprietary Trimble binary/XML; no public spec, no OSS parser. Route: ask users to export MSPDI from Tilos..mpp/.xml, no separate adapter needed.The MPXJ multiplier
One dependency, many formats. MPXJ (LGPL-2.1, actively maintained by Jon Iles for 20+ years, v16.5.0 released July 2026) reads:
MPX, MPP (all versions), MSPDI, MPD, Planner, Primavera PMXML, Primavera XER, P3, SureTrak, Asta Powerproject
.pp(v8+), Asta Easyplan, Phoenix, Fasttrack, GanttProject, TurboProject, ConceptDraw PROJECT, Synchro, Gantt Designer, SDEF, Sage 100 Contractor, Project Commander, Deltek Open Plan BK3, Edraw Project EDPX.Writes: MPX, MSPDI, PMXML, XER, Planner, SDEF.
Available in Java (native), .NET via IKVM (MPXJ.Net), Python wrapper (PyPI
mpxj), Ruby.Known limitations: cannot read password-encrypted MPP; cannot read Powerproject v7 or older
.pp; cannot write MPP (writing MPP requires MS Project COM).For IFC + 4D — IfcOpenShell
IfcOpenShell (LGPL/GPL, 2.6k+ stars, daily commits) covers
IfcWorkPlan/IfcWorkSchedule/IfcTask/IfcTaskTime/IfcRelSequenceviaifcopenshell.api.sequence.Its
ifc4dsubmodule can already import from and export to P6 XER, Asta PP, and MS Project — bridging directly to the same six-format core.Sample file with tasks: construction_scheduling_task.ifc.
Architecture suggestion
A neutral internal model based on IFC 4.3
IfcWorkSchedule(Task, Sequence, Resource, Calendar, WBS) with adapters per source format:Each source has its own adapter that maps to the canonical model. UI works against canonical model only. Adding a format = new adapter, no UI changes. Export is symmetric via the same adapter pattern.
Licensing note
MPXJ (LGPL-2.1) and IfcOpenShell (LGPL / GPL dual) are both suitable for a commercial closed-source product provided they are dynamically linked. Running them as a separate sidecar process (JVM sidecar for MPXJ, Python sidecar for IfcOpenShell) naturally satisfies this.
Suggested roadmap
Phase 1 — MVP (~2–3 weeks)
IfcWorkSchedule.Phase 2 — NL / BIM compliance (~4–6 weeks)
IfcWorkScheduleread/write via IfcOpenShell.bcfzip) read/write (via IfcOpenShellbcfmodule or buildingSMART/BCF-XML schemas).Phase 3 — Niche / on-demand
Test data — start with
References
Happy to help refine the roadmap, draft adapter interfaces, or contribute a first MPXJ-based MSPDI adapter as a PR if the maintainers agree with the direction.