| name | oce-validation-engine |
| description | Use the OpenConstructionERP validation engine: rule packs (BOQ quality, DIN 276, NRM, GAEB, MasterFormat, DPGF) that check estimates at import time and on demand. Use when verifying BOQ correctness or writing custom validation rules. |
Validation Engine in OpenConstructionERP
Philosophy
"Validation is a first-class citizen." Every BOQ import (Excel/CSV/GAEB X83/X84) runs the configured rule packs at import time, so violations surface immediately — not when a user is staring at row 452.
Built-in rule packs
| Pack | Checks |
|---|
boq_quality | required fields, unit consistency, duplicate codes, quantity sanity |
| DIN 276 | cost-group codes valid, hierarchy consistent |
| NRM | element codes, measurement rules |
| GAEB | X83/X84 structure, item references |
| MasterFormat / DPGF | classification codes |
Configure the default set via OE_DEFAULT_VALIDATION_RULE_SETS (default ["boq_quality"]); run on demand with POST /api/v1/boqs/{id}/validate/.
Writing custom rules
A rule is: condition + severity + message. Example patterns:
def rule_labour_share(line):
labour = line.components_labour_cost
total = line.rate
if total > 0 and labour / total > :
{: ,
: }