Understand how a version's lifecycle state differs from its release status, move it between the states its profile allows, and read its permanent history.
Every version of a product has two separate things: a release status, which says whether its configuration is still being defined, and a lifecycle state, which says whether it can be offered commercially. This topic explains the lifecycle state, how to move a version between states and where each move is recorded.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
Aspect | Release status | Lifecycle state |
|---|---|---|
Defined by | ComplyTrain, the same for every product | The product's profile |
Values | Draft, In service, Superseded, Withdrawn | The profile's states, for example Draft, Released and Withdrawn |
Changed by | Release this version, Withdraw, or a later release that supersedes it | Move to and Change state on the Lifecycle card |
Decides | Whether the configuration can still change: its label, identifiers and parts | Whether the version can be offered commercially, including in a tender |
Shown on | The badge beside the version in the Versions card | The badge on the Lifecycle card on Overview |
Recorded on | The This version card: release date and withdrawal reason | The History tab |
The two are separate records. Moving the lifecycle state does not release or lock a version, and releasing or withdrawing a version does not move its lifecycle state. One rule links them: a draft version cannot move into a marketable state. When the names look alike, as with a Released state and the In service status, they are still two different records. Release and withdrawal are described in add a product and manage its versions.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
The General product profile has three lifecycle states:
State | Can be offered commercially | Notes |
|---|---|---|
Draft | No | Every new version starts here. |
Released | Yes | Shown in green. |
Withdrawn | No | Final: no move leads out of it. |
It allows three moves. Draft to Released needs no reason. Released to Withdrawn and Draft to Withdrawn each need a reason, because taking something off the market is the act somebody later asks you to justify.
Here is what that means in practice. You release version 1.0 of the Northstar temperature monitor, and its badge in Versions changes to In service. The Lifecycle card still shows Draft with the note Cannot be offered commercially in this state. The version is locked but not yet offered. Only when someone moves it to Released does the badge turn green, and the version can be bid.
A draft version cannot move into a marketable state. If you try, the move is refused with Release this version before moving it to a marketable state, so what you offer is always a locked configuration. Moves into states that are not marketable, such as Draft to Withdrawn, stay available to drafts.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
A state is marketable when the profile says the product can be offered commercially in it. On the Lifecycle card a marketable state has a green badge; any other state has an amber badge and the note Cannot be offered commercially in this state. On the Profiles page, marketable states are shown in green in each profile's Lifecycle states.
Tender uses this. A tender can bid only a released version in a marketable state. When someone bids a version that is still a draft, or whose lifecycle state is not marketable, Tender refuses it and says why. Tender also runs the export check for the tender's market, and a result of not permitted blocks the bid too.
A marketable state says only that the version may be offered. It does not show that the version is qualified, authorised for a market or backed by approved claims; those have their own tabs. See markets and authorizations.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
Who | What they can do |
|---|---|
Anyone with View Products | See the current state and the History tab. |
People with Change Product Lifecycle State ( | Make a move, provided they also hold any permission the profile sets for that move. |
Admins | Make any move the profile allows. |
The profile decides three things for each move: whether it exists, whether it needs a reason and which permission it needs. A profile can, for example, require a different permission for the move into a marketable state than for its other moves. Under the General product profile, every move needs Change Product Lifecycle State and nothing more.
Profiles marked System provided come from the ComplyTrain catalogue. A profile your organisation cloned keeps the states, moves and permissions of the profile it was copied from. See product profiles.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
Open the product and select the version in the Versions card.
On Overview, find the Lifecycle card. The badge shows the current state.
In Move to, choose a state. The list offers only the states the profile allows from the current one.
If the move needs a reason, a Reason field appears. Enter the reason.
Choose Change state.
The badge changes to the new state, and the History tab records the move with your name, the date, the time and your reason. A draft version cannot be moved into a marketable state; the page says Release this version before moving it to a marketable state. If a reason is needed and the field is empty, the page says This move needs a reason before it can be made.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
The Reason field appears only for moves the profile marks as needing one. The reason becomes part of the product's permanent history and cannot be edited later. It can be up to 4,000 characters.
Write what a reader will need years later: why, and what replaces it. For example: "Withdrawn from sale. Replaced by 1.1 for new orders; units already delivered remain supported until 2029."
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
The card shows There is nowhere to move from the current state. when the version is in a final state, such as Withdrawn, or when the profile allows no move from its current state.
A product without a profile has no lifecycle. The card explains that its versions have no lifecycle and cannot be released or withdrawn. If you hold Manage Products, choose a profile in Product profile and then Assign profile. Every version of the product enters the profile's first state, and the lifecycle can be used straight away. Nothing recorded so far is lost. A profile cannot be changed once assigned, so choose carefully.
A profile that has been retired from the catalogue keeps working for the products that already use it: their states, moves and rules stay as they were.
Product location: /products/{productId}/history (fallback: /products). Open the product from the Product register. Select the version in the Versions card.
Open the product, select a version and choose History. The tab lists that version's lifecycle moves, newest first:
"Created in Draft", when the version was created in its first state;
"Moved from Draft to Released", and similar, for each move;
who made each move, and its date and time;
the reason, where one was given.
The history is kept for each version separately; select another version to see its entries. The footer reads This history is permanent — entries cannot be edited or removed. A version with no entries shows Nothing recorded yet.
The release date and any withdrawal reason are not lifecycle moves; they appear on the This version card on Overview. An evidence pack includes the lifecycle history as it stood on the date you choose; see product dossiers and evidence packs.
Product location: /products/{productId}/overview (fallback: /products). Open the product from the Product register. Select the version in the Versions card and find the Lifecycle card.
The Northstar monitor's version 1.1 has been released and moved to Released. Sales should stop offering 1.0, but units already delivered remain in service.
Select version 1.0 and, on the Lifecycle card, move it to Withdrawn with the reason "Replaced by 1.1 for new orders; delivered units supported until 2029."
Leave its release status as it is while units remain in service. Tender now refuses 1.0 for new bids, while its records stay readable.
When the last units leave service, choose Withdraw on the This version card and record why.
Both decisions appear on the record: the lifecycle move on History, and the withdrawal reason on This version.