Product Lifecycle State: D365 Finance and Operations

In Dynamics 365 Finance and Operations “Product lifecycle state” is used to help identify the status or state that the product is currently in among the broader product lifecycle for your company. Each business has a slightly different product lifecycle, but the main stages are essentially the same. To give you an idea, below are some of the states I have seen:

Product development and Engineering – You may have a shell of a product where you are working out the details or engineering specifics related to the product and the product is not ready for sourcing or manufacturing.

Pre-production – You may have trial production runs and route testing to work out the kinks of production.

Supply Chain Review – Once the product is ready to be launched there is a supply chain review where buyers and planners will review the product setup, pricing, lead time etc. to ensure the product is ready to be sourced and entered the production schedule. 

Active – The product is active and in manufacturing or available for master planning and sourcing.

Sunset – This is a state where the product is actively being phased out. So this is an indication to planners that the product should be sourced down to only meet existing demand and no new demand should be planned for. Inactive – This is where the product is in active and has reached the end of its product lifecycle.

Create A Lifecycle State

To create a lifecycle state, navigate to Product information management > Setup > Product lifecycle state.

Click the “New” button and enter a “State” and a “Description”.

Default When Released To Legal Entity

There is an option to default this “State” when an item is released to the current legal entity. If you create a new released product for the current legal entity or release an item master to the current legal entity it will default to the lifecycle state that has this option selected. Note: Only one product lifecycle state can have this option selected.

In the example below I have “Engineering review” set as the default. When I release a new product to the company you can see that the released product defaults to the “Engineering review” state.

Product Lifecycle State by Variant

The product lifecycle state can also be applied by variant if you are using product masters. You could have a case where a certain style or configuration is going to be phased out but the line as a whole, and better selling configurations or styles, will remain in production. 

If you change the product lifecycle state you will be prompted with a dialog box asking if you want to update all the variants to the same state.

Is Active For Planning

There is an “Is active for planning” flag that, when enabled, will allow master planning to plan requirements for the item. 

In the example below I have an item that has the product lifecycle state “Engineering review” which has the “Is active for planning” set to “No”. I have created a sales order for the item so master planning will have demand. When I run master planning for the item and look at my net requirements you can see no planned orders were generated.

When I change the lifecycle state for my item to “Active” which has “Is active for planning” set to “Yes” and run master planning, you can see in the net requirements form I have a planned purchase order generated to cover my demand coming from the sales order. 

Change Lifecycle State For Obsolete Products

There is some lesser known functionality associated with product lifecycle state and that is a periodic job that can be run for obsolete products to systematically update the lifecycle state based on item usage. 

To run the job navigate to Product information management > Periodic tasks > Change lifecycle state for obsolete products.

This will open a batch job form with the parameter options below:

New product life cycle state – This is the product lifecycle state that the products will be updated to that meet the query criteria that you set in the fields below.

Exclude products created within this number of days – This parameter is pretty straight forward set the number of days that you want to exclude products from the query based on the created date of the product or variant.

Exclude products used in transactions (in number of days) – This parameter will exclude products from the update that have transactions going back X number of days. So if you set the parameter to 100, then any product where you don’t have any transactions for the last 100 days will be included in the update.

Run simulation without updating product data – This flag allows you to only simulate the update to make sure the results you get from your query for obsolete products are correct.

Distinct products – This is a standard D365 filter where you can narrow your query down to specific items, or even a more complex query to update only the items you want to update.

Once you’ve set your parameters you can run the job by clicking “OK”.

Product Lifecycle State Maintenance History

After the batch job runs you can take a look at the results by navigating to Product information management > Inquiries and reports > Product lifecycle state maintenance history.

Here you will see all the products that met the criteria of the query you set for the batch job. Since we set the “Run simulation without updating product data” to “Yes” no update actually occurred. The “New state” is the state that the product or variant will be updated to.

If you want to perform the update to the product lifecycle state, you can click the “Change product lifecycle state for obsolete products” button. You will get the same batch job popup except this time the “Run simulation without updating product data” will be disabled. Click “OK” to run the job and the update will run.

Navigate back to your item and check out the product variants or the product itself if it is not a product master and you will see that the lifecycle state has been updated.


One downside I can see to this are that you are not able to specify the transactions that should be excluded from the query. For example if you had a product that only had work transactions that were movements from one location to another but was not used in production and was not sold it would still be excluded from the lifecycle state update because there would technically be recent transactions against the product. In reality most business that see a product that has not been used in production and has not been sold as an obsolete product.

Apart from that the product lifecycle state can be a useful piece in the product release and maintenance business process. I hope you have a better understanding of the functionality of product lifecycle state and how it is used in Dynamics 365 Finance and Operations.

Tim Woods

Tim has been an AX/D365 Finance and Operations Consultant for over a decade and loves to share insights and knowledge from multiple full cycle implementations.

Recent Posts