What field do you use for historical software install dates?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2026 08:07 AM
Hi everyone,
Our SAM team needs to find the historical installation dates of software to validate against older vendor invoices (e.g., verifying if a user installed an app in 2024 vs 2026). The install_date field is mostly empty since discovery tools (like Tanium) don’t pull historical registry dates out of the box.
I initially suggested using the sys_created_on (Created) date on the cmdb_sam_sw_install table. However, we found this is unreliable because if an endpoint drops off the network or misses a scan, ServiceNow deletes the install record. When the machine is scanned again later, it creates a brand new record, resetting the Created date to “today.”
Since we can’t rely on install_date or sys_created_on , what fields or data points are you using to accurately compare installed software against historical invoice dates? Are there any out-of-the-box ServiceNow fields we might be overlooking for this use case?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a month ago
Hey @pavan Punna,
You're right that neither install_date (often empty) nor sys_created_on (resets on rediscovery) works for historical validation against old invoices.
the cmdb_sam_sw_install table is designed as an operational snapshot table, not a permanent historical audit log . fields like install_date, install_location, and uninstall_string "may require additional configuration of a discovery application" ServiceNow itself doesn't populate them. Your discovery tool has to send that data .
sys_created_on gets recreated when records are re-inserted which is exactly what you're seeing .
the cmdb_sam_sw_install table is meant for:
Reconciliation calculations (matching installs to entitlements)
License consumption tracking (not historical auditing)
Active install management - only one record per install is kept active, duplicates get marked inactive
ServiceNow acknowledges there's no built-in field that reliably preserves historical installation dates. The official guidance is organizations should rely on :
Discovery source historical data (SCCM DB, Tanium archives, etc.)
External inventory systems
Snapshot/archive strategies (build your own)
Custom historical tracking (add fields, enable auditing)
For current compliance: Use the cmdb_sam_sw_install table as designed - for active licenses
For historical audit: Implement a monthly snapshot schedule using a custom table
For last used date: Look at samp_sw_usage table - OOTB discovery doesn't populate last_used on the install table
For better data: Configure your discovery tool (Tanium, SCCM) to map registry install dates to a custom field
There's no OOTB field that does what you need reliably.