---
sourceDocument: Australia Asset Management
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/it-asset-management

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Asset Management

ft:clusterId :

    - itam

bundleId :

    - itam

workflow :

    - Technology


---

# Product life cycles

# Product life cycles {#ariaid-title1}

Release version: Australia  
Updated July 31, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 10 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Product life cycles

The Software Asset Management (SAM) application enhances software product life cycle tracking by using several data sources and methods.
It leverages the Content Library's approximated life cycle dates and codes, calculated life cycles based on averages, and allows creation of custom life cycles to improve coverage where vendor-provided data is missing or incomplete.
This enables organizations to monitor key software phases such as End of Support (EOS), End of Extended Support (EOES), and End of Life (EOL).
Show full answer Show less  

## Software Product Lifecycles and Reports

The **Software Product Lifecycles \[samswproductlifecycle\]** table stores lifecycle details including type, version, phases, start dates, and risk. Only records with the "Content active" flag set to true are shown on the Technology Portfolio Management (TPM) timeline, allowing control over visible lifecycle phases.

The **Software Lifecycle Report \[samswproductlifecyclereport\]** table consolidates lifecycle phases for unique products and versions, preventing duplication in installation counts. It includes columns for current and upcoming lifecycle phases with start dates, supporting comprehensive visibility into software lifecycle status. This report is generated by the scheduled job **SAM - Generate Data For Software Lifecycle Report** and accessible via Reports.

## Approximated and Calculated Life Cycles

When exact life cycle dates are unavailable from publishers, the system uses approximated life cycles provided by the Content Library, flagged by lifecycle codes that explain the approximation reasons. These codes help identify which phases are based on estimated data.

Calculated life cycles extend coverage further by deriving EOS, EOES, and EOL dates from average life cycle durations defined at the product, publisher, or industry level, starting from General Availability (GA) dates. These averages are stored in the **Software Lifecycle Averages \[sampswlifecycleaverages\]** table and require the Software Asset Management Professional plugin. Custom GA dates can override default GA dates, ensuring lifecycle calculations reflect accurate organizational data.

## Custom Life Cycles

Customers can create custom life cycle records with explicit dates to fill gaps or override Content Library data. These custom entries take precedence in lifecycle reporting and are stored separately in the **Custom Software Product Lifecycle \[samcustomswproductlifecycle\]** table. Custom life cycles enhance accuracy and control, especially when vendor data is incomplete or outdated.

## Publisher Add-On Life Cycles

The SAM application also tracks life cycles for publisher add-ons and optional support that may extend product life cycles. By indicating purchased add-ons, customers enable automatic updates of product lifecycle dates in reports, reflecting extended support periods accurately.

## Life Cycle Process and Management

* The **SAM - Generate Software Lifecycle Report** job aggregates lifecycle data for all normalized software with installations.
* The **SAM - Create Calculated Software Lifecycles** job generates missing EOS, EOES, and EOL dates based on defined averages.
* Configuration properties control lifecycle approximation usage and calculated lifecycle generation, with domain separation considerations.
* Reconciliation settings must be enabled appropriately for lifecycle calculations to run.
* Custom life cycles override calculated ones upon Content Service updates, ensuring customer-defined data is prioritized.
* Deleted lifecycle phases (EOS, EOES, EOL) are not automatically reinstated.

## Practical Benefits for ServiceNow Customers

This comprehensive lifecycle management framework enables customers to:

* Maintain a clear and customizable view of software product lifecycles, improving software asset management and compliance.
* Accurately forecast support and end-of-life events, helping to plan upgrades, renewals, and risk mitigation.
* Integrate lifecycle data into Technology Portfolio Management timelines and reports for better decision-making.
* Leverage both vendor-provided, approximated, calculated, and custom lifecycle data to maximize lifecycle coverage.
* Track lifecycle extensions via publisher add-ons for a complete picture of software support timelines.  
In the absence of vendor-provided life cycles, there are various capabilities that the Software Asset Management application provides to improve life cycle coverage.

## Overview of product life cycles {#calculated-lifecycles__section_w43_yqf_d2c}

The Content Library provides approximated life cycle dates and life cycle codes which you can use to drive your life cycle reporting.

You can also use calculated life cycles to create end-of-support (EOS), end- of-extended-support (EOES), and end-of-life (EOL) life cycles for your software products. Additionally, you can create custom life cycles to supplement
missing life cycles or overwrite any existing ones from the Content Library.

## Software Product Lifecycles table {#calculated-lifecycles__section_erz_knw_5hb}

The Software Product Lifecycles \[sam_sw_product_lifecycle\] table holds the information of the software product, its lifecycle type (internal or external), full version, lifecycle phases, start date of the phase, and the risk.

The Content active column in the Software Product Lifecycles \[sam_sw_product_lifecycle\] table is set to the value true by the Software Asset Management content service if the lifecycle records are valid. If you do not want a
lifecycle phase to be rendered on the Technology Portfolio Management (TPM) timeline, then set the Active column to false. For example, you can have General Availability, End of Extended Support, and End of Support lifecycle phases as three records for Oracle Database software model in the Software Product Lifecycles list. However, if you do not want
General Availability phase to be shown on the timeline, you can clear the Active check box in the Software Product Lifecycle form for that lifecycle phase record. As a result, the
timeline starts with the End of Support phase. Although the lifecycle phase record exists for the software product lifecycle, the lifecycle data will not be rendered on the timeline. Because only active
lifecycle records are considered and plotted in the TPM timeline.

View the Software Product Lifecycle report to be informed about the products nearing end-of-life, end-of-support, and end-of-extended support. View the report by navigating to ReportsView/Run. The report is based on the scheduled job, SAM - Generate Data For Software Lifecycle Report.

## Software Lifecycle Report table {#calculated-lifecycles__section_ngg_dmy_ywb}

The Software Lifecycle Report \[sam_sw_product_lifecycle_report\] table calculates the current and upcoming lifecycle phases from the lifecycle phases mentioned in the Software Product Lifecycle \[sam_sw_product_lifecyle\] table.

For records with the same publisher, product, version, full version, and edition, there's a single record for different lifecycle phases. This helps in avoiding duplicate software installation count for each lifecycle
phase. You can export lifecycles from the Software Installation \[cmdb_sam_sw_install\] table. The software installation records are linked to lifecycles via the
Lifecycle report column in the Discovery model \[cmdb_sam_sw_discovery_model\] table.  
For better visibility into all life-cycle phases, the following columns have been added to the Software Lifecycle Report \[sam_sw_product_lifecycle_report\] table:

* Current phase \[current_lifecycle_phase\]
* Current phase start date \[current_lifecycle_phase_start_date\]
* Upcoming lifecycle phase \[upcoming_lifecycle_phase\]
* Upcoming lifecycle phase start date \[upcoming_lifecycle_phase_start_date\]
* General availability start date \[ga_start_date\]
* End of support start date \[eos_start_date\]
* End of extended support start date \[eoes_start_date\]
* End of life start date \[eol_start_date\]
{#calculated-lifecycles__ul_a1k_r4m_yfc}

## Approximated life cycles and life-cycle codes {#calculated-lifecycles__section_sx2_5rf_d2c}

Approximated life cycles are provided by the Content Library when life cycle dates are not explicitly published by the publisher. The life cycle record may contain an actual date (through various methods of approximation) or an
explanation as to why the date could not be provided. This explanation is captured in the Lifecycle codes.

The Software Lifecycle Code \[software_lifecycle_code\] table, contains all the approximation codes along with a description of each code. For a detailed explanation of life-cycle codes, see [https://support.servicenow.com/kb?id=kb_article_view\&sysparm_article=KB1642485](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1642485).

A new column, Lifecycle code, is added to the Software Product Lifecycles \[sam_sw_product_lifecycle\] table. This column refers to the Software Lifecycle Code \[software_lifecycle_code\] table. If the column is populated, it indicates
the record is an approximated lifecycle. If the column is empty, it indicates that the life cycle record has confirmed or explicit dates as published by the publisher.

Approximated life cycles are enabled by default as part of generating the Software Lifecycle Report. This is managed in the system property com.snc.samp.use_lifecycle_approximation. For details on this
property, see [Software Asset Management properties](https://www.servicenow.com/docs/J7WJ6bTTJaVCokIsa3QO0Q "You can set default reconciliation properties such as grouping and reconciliation debugging.").

Life cycle code columns can also be added to the Software Lifecycle Report for each life cycle phase (GA, EOS, EOES, and EOL). This may require dot-walking the columns from the Software Lifecycle Code table. You should be able to
identify which life cycle phase is approximated based on the existence of the codes.

## Calculated life cycles {#calculated-lifecycles__section_n32_52y_yzb}

To further improve life cycle coverages, even after approximated life cycles have been considered, EOS, EOES, and EOL life-cycle dates can be calculated based on software life cycle averages, measured in months, from the GA
dates.

Software life cycle averages can be defined at the product level, publisher level, or industry level. For details on specifying software life cycle averages in the Software Asset Workspace, see [Create averages for product life cycles in workspace](https://www.servicenow.com/docs/bZ4ovmvCo_vd3okDvPUvAA "Create averages to calculate software End of Life (EOL) and End of Support (EOS) life cycles in the Software Asset Workspace.") and for specifying software life cycle averages in the Software Asset Management classic application, see [Create averages for product life cycles in Software Asset Management Core UI](https://www.servicenow.com/docs/FZr13RjnFuKLyu_aQuTGBw "Create averages to calculate software End of Life (EOL) and End of Support (EOS) life cycles in the Software Asset Management Core UI application.")

You can override the GA date provided by ServiceNow by creating a custom GA date. The custom GA date always takes priority over the GA date provided by ServiceNow. The life cycles are calculated based on the product or publisher values that you specified. Life cycle dates are defined only at the generic version and not the full version. For details on
specifying custom values in the Software Asset Workspace, see [Create averages for product life cycles in workspace](https://www.servicenow.com/docs/bZ4ovmvCo_vd3okDvPUvAA "Create averages to calculate software End of Life (EOL) and End of Support (EOS) life cycles in the Software Asset Workspace."), and for specifying values in the Software Asset Management classic application, see [Create averages for product life cycles in Software Asset Management Core UI](https://www.servicenow.com/docs/FZr13RjnFuKLyu_aQuTGBw "Create averages to calculate software End of Life (EOL) and End of Support (EOS) life cycles in the Software Asset Management Core UI application.").  
Software life cycle averages are stored in the Software Lifecycle Averages \[samp_sw_lifecycle_averages\] table. Lifecycle records created using these averages have their source column defined as calculated.  
Note:  
Life cycle averages can be created by the sam_user or the sam_admin role.  
Calculated life cycles come with the following prerequisites:

* The Software Asset Management Professional (com.sn_samp_master) plugin must be activated.
* GA dates available for the product either provided by the Content Service or custom GA dates that you created.
* EOS, EOES, and EOL life cycles are not provided by the Content Service.
* Product is shipped by the Content Service.
* Life cycle dates are defined only at the generic version and not the full version.
{#calculated-lifecycles__ul_n1t_v2y_yzb}

## Custom life cycles {#calculated-lifecycles__section_tb4_zvf_d2c}

Besides approximated life cycles and calculated life cycles, to further improve your life cycle coverage you can also create custom life cycles. Custom life cycles are records that you define at each life cycle phase for the
product and version that you selected. You can type in the dates directly in the date fields, and these dates will take priority in the Software Lifecycle Report generation. You can also use this capability to overwrite an existing
life cycle record that was provided by the Content Library.  
Custom life cycles can be created from either of the two locations on selecting New:

* Software Product Lifecycles \[sam_sw_product_lifecycle\] table.
* Custom Software Product Lifecycle \[sam_custom_sw_product_lifecycle\] table.
{#calculated-lifecycles__ul_mbc_1xf_d2c}

## Publisher add-on life cycles {#calculated-lifecycles__section_mjc_t3s_4fc}

Software publishers offer various add-ons and optional support that can extend the life cycles of their existing products. The Software Asset Management
Content Service maintains life-cycle information for both the standard version of each software product and any available add-ons or optional support in the Software Product Lifecycle \[sam_sw_product_lifecycle\]
table. To track life cycles more accurately, you can indicate if you have purchased any add-ons or optional support for your software products. The Software Asset Management application then uses the corresponding life-cycle information in the Software Product Lifecycle \[sam_sw_product_lifecycle\] table to automatically update the life-cycle dates of those products with the
extended life-cycle dates of the add-ons or optional support. These updated life-cycle dates are populated in the Software Lifecycle Report \[sam_sw_product_lifecycle_report\] table. For more information, see [Use publisher add-on lifecycles in the Software Lifecycle Report](https://www.servicenow.com/docs/z5F01CfBE6LWqzFIaTlShA "If you purchase an add-on or optional support for a software product, enable the Software Asset Management application to automatically update the life-cycle dates of that product with the extended life-cycle dates of the add-on or optional support. These updated life-cycle dates are populated in the Software Lifecycle Report [sam_sw_product_lifecycle_report] table.").

## Software life-cycle process {#calculated-lifecycles__section_adl_bzl_2rb}

The scheduled job SAM - Generate Software Lifecycle Report aggregates life cycle data for all normalized software products which have non- zero installation counts. Each record on the Software Lifecycle Report
table displays all life cycle phase columns along with their corresponding phase start dates, if the date is available. Life cycle codes can also be displayed to indicate whether the record is an approximated life cycle or not.

The Software Lifecycle Report table also displays the Current Phase and Upcoming Phase columns along with their corresponding dates. For further details about these columns, see [Software models and Software entitlements](https://www.servicenow.com/docs/hfPyaf4VADycaWaFDLX5ww "A software model is a profile of the software that you've purchased, including information about the publisher, version, and discovery map. Software entitlements are used to relate the software model to the rights that you've purchased.").

Another scheduled job, SAM - Create Calculated Software Lifecycles, checks for all records on the Software Lifecycle Report table which have GA dates but are missing EOS, EOES, or EOL dates and creates
calculated life cycles for them based on the definitions that you have created on Software Lifecycle Averages table.  
Keep the following in mind for the scheduled job SAM - Create Calculated Software Lifecycles to generate life cycles:

* If domain separation is disabled, enable the com.snc.samp.generate.calculated.lifecycles system property in the System Property \[sys_properties\] table.
* If domain separation is enabled, use the Application Properties \[sys_application_properties\] table to enable the com.snc.samp.generate.calculated.lifecycles property. In the Application Properties \[sys_application_properties\] table, select the com.snc.samp.generate.calculated.lifecycles property to open the Application Properties page. Scroll down to Application Property Values and select New to create a record. The Application Property and Domain fields are pre-filled with values. In the Value field, enter true and select Submit. You also need to enable reconciliation by specifying the value of the column Run asset process \[run_asset_process\] to be true in the Domain Asset Process Setting \[alm_domain_asset_process_setting\] table.  
  Note:  
  Reconciliation can be enabled either for the parent domain or for the child domain; it cannot be enabled for both the parent and the child domains.
{#calculated-lifecycles__ul_dqj_dzl_2rb}

The calculated life cycles and the life cycles created by you are stored in the Custom Software Product Lifecycle \[sam_custom_sw_product_lifecycle\] table. Life cycles created by the Content Service are stored in the Software Product Lifecycles \[sam_sw_product_lifecycle\] table.

If you create custom life cycles, calculated life cycles crated by the scheduled job gets deleted in the next Content Service update, as priority is given to the custom life cycles that you created.  
Once created, the EOS, EOES, and EOL life cycles are visible in the software model page.  
Note:  
If a sam_user or sam_admin deletes an EOS, EOES, or EOL life cycle on a software model, the life cycles aren't reinstated back to the software model.

*[\>]: and then


