Home/ News/ v3.11.0 — Wave 3/4 + Validation@Import
Release 2026-05-20 ~5 min read

v3.11.0 — Validation moves to the import edge.

Wave 3/4 modules ship with eight new Alembic revisions (v3088v3095), validation lifts out of the BOQ editor into the import pipeline itself, GAEB X84 Nebenangebot ships as a first-class writer, and the RVT converter gains a diagnostics report so “CAD import failed” stops being the only error message.

AI estimate panel with confidence scores and the 7-stage Match Elements pipeline

v3.11.0 is the release where the import path became as serious as the editor. Until v3.10 the platform validated BOQ data after it was loaded — meaning bad files landed in the database and surfaced only when a user opened the editor and saw red. v3.11.0 inverts that: the validation framework runs during import, the report is returned with the upload response, and the project state stays consistent.

The four headline changes

Validation@Import on GAEB and Excel

GAEB X81/X83 and Excel imports now pipe through the same ValidationEngine the editor uses. The upload endpoint returns a ValidationReport with pass / warning / error counts alongside the persisted IDs. Errors block persistence; warnings persist and are surfaced in the editor traffic-light.

Native GAEB X84 writer

The GAEB family adds X84 Nebenangebot on top of the existing X81/X83/X86 writers. The output passes the official XSD schema and the GAEB conformance checker. The exporter shares its ordinal & rounding helpers with the X83 path, so estimators who already trust X83 output get X84 with the same numerics.

RVT diagnostics report

The RVT → canonical converter used to fail with a generic 500. v3.11.0 wraps the DDC cad2data bridge in a RvtDiagnostics collector that captures version-band mismatches, missing family categories, unmapped property sets and empty levels — and surfaces them as a structured report instead of a stack trace.

Wave 3/4 modules — eight migrations

Eight new Alembic revisions (v3088 through v3095) bring the Wave 3/4 modules online: extended subcontractor onboarding, the documents-versioning surface, property-development tables, and three reporting roll-ups. All eight share one migration head and follow the standard module convention.

Why Validation@Import is the load-bearing change

The validation framework existed before v3.11.0 — rule sets for DIN 276, GAEB structure, and the universal boq_quality pack had been registered since v3.0. What was missing was a place to run them that was not the editor. A user uploading a tender package wants a refusal at the upload step, not a list of red lines after the project is half-set-up.

The new pipeline runs every applicable rule against the parsed-but-not-yet- persisted tree. Errors raise a 422 and persist nothing. Warnings persist the data and the report, so the editor opens with a yellow chip and a drill-down. Either way, the rule that triggered, the offending element reference (BOQ ordinal, cell coordinate, CAD element id) and the remediation message are all in the response body. That last part is what makes the import flow self-explanatory — no more guessing why the file did not load.

Upgrade

pip install --upgrade openconstructionerp==3.11.0

Alembic moves to head v3095. Existing imports continue to work unchanged; the rule sets default to warn-only on the first run, so no in-flight project will suddenly fail to open. The warn_only default can be flipped per tenant by setting VALIDATION_ON_IMPORT=enforce in the environment.

Validate your next import.

Live demo in your browser, or self-host in five minutes. AGPL-3.0, no signup required.