Engineering Change Orders, BOM Versioning, Approval Workflow — Built for Manufacturers
XERPIUM PLM is a product lifecycle management module ecosystem built on XERPIUM 18 — covering Engineering Change Orders (ECO), BOM Revision Control, Approval Workflow, Document Management, and KPI Dashboard.
xerpium.plm.eco is the main model that manages the entire engineering change lifecycle — from draft, review, approval, to apply.
Every ECO stage can have approval templates of mandatory, optional, or comment-only type. Stage advancement is blocked until all mandatory approvals are met.
| Field | Description |
|---|---|
| name | Role / approval name (e.g. "Engineering Manager") |
| sequence | Approval order within stage |
| approval_type | mandatory / optional / comment |
| user_ids | Users who can approve (restricted to PLM User group) |
| stage_id | Stage where this template applies |
| Field | Description |
|---|---|
| eco_id | ECOs awaiting approval |
| approval_template_id | Template reference |
| status | none / comment / approved / rejected |
| user_id | Who approved/rejected |
| approval_date | Timestamp approval |
| is_closed | Approval closed on stage change |
Configurable stage framework for ECO — with Python hooks, server actions, RBAC groups, and approval template integration.
| Stage | State | Confirm | Back | Apply |
|---|---|---|---|---|
| Draft | confirmed | ✓ | ✗ | ✗ |
| In Review | progress | ✓ | ✓ | ✗ |
| Approved | progress | ✗ | ✓ | ✓ |
| Applied | done | ✗ | ✗ | ✗ |
Integration module that adds approval_template_ids ke xerpium.dynamic.stage and syncs the ECO stage after action_new_revision() and action_apply().
xerpium.plm.document — polymorphic document system that can attach to ECO, BOM, Product, or routing operation.
| Target | Field | Notes |
|---|---|---|
| ECO | res_model + res_id | Supporting documents for the change |
| BOM | bom_id | BOM engineering documents |
| Product | product_tmpl_id | Spec sheet, datasheet |
| Operation | bom_operation_id | SOP per routing operation |
| Both BOM & Product | attached_on_mrp | Shared documents |
Integrated versioning system for BOMs and Products — every ECO apply can automatically bump the version.
| Field | Tipe | Description |
|---|---|---|
| version | Integer | Version number, auto-increment on revision |
| previous_bom_id | Many2one | Link to previous BOM version |
| is_revision | Boolean | True if the BOM is a working copy of an ECO |
| eco_ids | One2many | ECOs referencing this BOM |
| document_ids | One2many | Related engineering documents |
| Field | Tipe | Description |
|---|---|---|
| version | Integer | Product version, auto-increment on ECO apply (change_type='product') |
| eco_ids | One2many | ECOs referencing this product |
| eco_count | Integer | Number of related ECOs (computed) |
ECO automatically computes the differences between the old BOM and the new BOM using _get_difference_bom_lines():
xerpium_dashboard_plm — KPI dashboard with 6 widgets, dual data source (ORM + SQL), auto-refresh every 5 minutes.
| Widget | Tipe | Color | Source |
|---|---|---|---|
| Total ECOs | KPI Tile | Blue | ORM |
| Pending Approvals | KPI Tile | Orange | SQL |
| Active BOMs | KPI Tile | Green | SQL |
| Versioned Products | KPI Tile | Purple | SQL |
| ECOs by Stage | Pie Chart | Blue | SQL |
| ECO Trend (12 months) | Line Chart | Green | SQL |
PLM fully integrated with the XERPIUM manufacturing ecosystem.
Two-tier access control with multi-company isolation and granular per-model permissions.
| Group | Implies | Access Rights |
|---|---|---|
| PLM User | MRP User | R W C (no delete) on ECO & Document |
| PLM Manager | PLM User | Full CRUD for all PLM models |
| Model | PLM User | PLM Manager |
|---|---|---|
| xerpium.plm.eco | R W C | Full CRUD |
| xerpium.plm.eco.type | Read only | Full CRUD |
| xerpium.plm.eco.approval | R W | Full CRUD |
| xerpium.plm.eco.approval.template | Read only | Full CRUD |
| xerpium.plm.eco.bom.change | Read only | Full CRUD |
| xerpium.plm.eco.routing.change | Read only | Full CRUD |
| xerpium.plm.eco.tag | Read only | Full CRUD |
| xerpium.plm.document | R W C | Full CRUD |
| vit.dashboard | Read only | Full CRUD |
Grouped by stage, drag-and-drop, priority widget, responsible avatar
Code, name, product, BOM, responsible, tags, stage, state, effectivity date
Header buttons, stat buttons, notebooks for changes, approvals, documents
7 PLM models + 4 inherited models with full integration into the MRP ecosystem.
| Model | Description |
|---|---|
| xerpium.plm.eco | Engineering Change Order — main model |
| xerpium.plm.eco.type | ECO Type with mail alias |
| xerpium.plm.eco.approval | Approval record per ECO |
| xerpium.plm.eco.approval.template | Template approval per stage |
| xerpium.plm.eco.bom.change | BOM line/byproduct change tracking |
| xerpium.plm.eco.routing.change | Routing/operation change tracking |
| xerpium.plm.eco.tag | ECO tag with color |
| xerpium.plm.document | Polymorphic document (file/link/text) |
| Model | Additional Fields |
|---|---|
| product.template | version, eco_ids, eco_count |
| product.product | eco_ids, eco_count |
| mrp.bom | version, previous_bom_id, is_revision, eco_ids, document_ids |
| mrp.bom.line | _get_sync_values() for diffing |
| mrp.bom.byproduct | _get_sync_values() for diffing |
| mrp.routing.workcenter | document_ids, document_count |
| mrp.production | eco_ids, eco_count, action_create_eco() |
| xerpium.dynamic.stage | approval_template_ids (via _plm module) |
| Aspect | Competitor PLM | XERPIUM PLM |
|---|---|---|
| License | Per-user / add-on fee | SaaS / On Premise |
| ECO Workflow | Enterprise only | ✓ Included |
| BOM Version Control | Enterprise only | ✓ Full versioning |
| Approval Workflow | Limited / Enterprise | ✓ Role-based, stage-gated |
| Dynamic Stage | ✗ Hard-coded | ✓ Configurable per model |
| Document Management | Separate module | ✓ Built-in (file/link/text) |
| Manufacturing Integration | Limited | ✓ One-click ECO from MO |
| Change Impact Analysis | Manual | ✓ Auto-diff BOM lines |
| KPI Dashboard | ✗ Not available | ✓ 6 widgets, auto-refresh |
| Mail Alias | ✗ Not available | ✓ Email-to-ECO |
| Multi-Company | Enterprise only | ✓ Included |
| Rebase & Conflict | ✗ Not available | ✓ State: rebase / conflict |
| User Guide | External documentation | ✓ Built-in HTML guide |