# Change orders > ECO kinds and statuses, effective without re-revisioning, re-baseline, retrofit. An engineering change order (ECO) changes a released revision without editing it. You raise ECOs on the **ECOs** tab in **Parts & BOMs**. The **Change Orders** page lists every ECO in the workspace so you can review and approve them. ## Kinds The kind says what the ECO changes. The UI labels are in brackets. - `BOM` (**BOM**): adds, replaces or removes BOM lines. - `PROCESS` (**Process**): changes the work instructions, the final test plan, or both. - `BOTH` (**Both**): changes the BOM and the process. You list the line changes with `listECOChanges` and edit them with `addECOChange`, `updateECOChange` and `deleteECOChange`. A process ECO changes the work instructions and the test plan of a released revision. You edit them in the ECO's **Process** section while it is a `DRAFT`. Set them with `setECOWorkInstruction` and `setECOTestPlan`. ## Statuses An ECO moves through these statuses: 1. `DRAFT`: you can edit it. 2. `APPROVED`: its change lines are locked. Use `approveECO`. 3. `EFFECTIVE`: it is in force from its effective date. Use `makeECOEffective`. 4. `SUPERSEDED`: a re-baseline folded it into a new revision. 5. `CANCELLED`: withdrawn. Use `cancelECO`. Approving, making effective and cancelling can't be undone. Build orders that have not started drop a cancelled ECO. Orders that are already producing keep it. ## Effective without a new revision An `EFFECTIVE` ECO changes the effective BOM from its date onward. The revision stays the same, and nobody has to release a new one. New build orders pick up the change. Units built before the date keep what they were built with, so units built before and after can differ on purpose. See [Bills of materials](https://dev.buildtrace.eu/docs/concepts/boms.md). ## Applies to Each ECO says which builds it covers. The UI calls this **Applies to**: - `ALL_FUTURE` (**All future builds**). - `ALL_EXISTING` (**All existing units (retrofit)**). - `SPECIFIC_SERIALS` (**Specific serials**): you pick the units. `ALL_EXISTING` opens rework for units already built. After the ECO is `EFFECTIVE`, open **Service** and go to the **Retrofit Campaigns** tab. Pick the ECO, choose the built units, and open one rework order per unit. A technician completes each one, and the unit's timeline records the ECO as applied. The operations are `listRetrofittableECOs`, `candidateUnitsForECO` and `retrofitECO`. You can ask which units still need an ECO at any time with `pendingUnitsForECO`. ## Re-baselining ECOs pile up. `re-baseline` folds them into a fresh revision. Select **Re-baseline** on the **Revisions** tab, then enter a label for the new revision. The new revision is a `DRAFT`. Its BOM is exactly what the old revision builds today: lines that follow the latest release are pinned to the revision they use now, and the ECOs in force are written in. The old revision is not changed. The ECOs that were folded in become `SUPERSEDED`. An ECO that still owes a retrofit to built units stays effective. Re-baselining is refused while the revision has ECOs that are drafted, approved, or effective only from a later date. Make them effective or cancel them first. Review the new draft, then release it. See [Parts and revisions](https://dev.buildtrace.eu/docs/concepts/parts-and-revisions.md).