Reclamation Job Executed but No Removal Candidates Created
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Monday
Hello Team,
I have installation data for a specific CI (xyz CI), and I have manually created software usage records for that CI. I have also configured a software reclamation rule and created a software entitlement for the software model (Miro).
I executed the out-of-the-box (OOTB) scheduled job for reclamation; however, no removal candidates are being generated. I would like to understand the possible reasons for this.
Additionally, I have a question regarding the reclamation process: once the reclamation is completed, how does the system determine which software entitlement allocation should be updated? This is because the reclamation rule has been configured at the product level rather than the model level.
Thank You.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Monday
Did you check in samp_sw_usage table?
Check these post:
https://www.servicenow.com/community/sam-forum/reclamation-candidate-not-generated/td-p/1295383
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Monday
Hi @abhijeetpaw ,
Part 1: Why No Removal Candidates Are Being Generated
The OOTB job Software Reclamation - Identify Removal Candidates has several prerequisites that all need to align simultaneously. Here are the most likely failure points given your setup:
1. Usage Record Not Linked to the Software Install
This is the most common culprit for manually created usage records. The usage record (samp_sw_usage) must have its install field explicitly referencing the software install record on CI. If it's created standalone without that reference, the reclamation engine won't correlate it to the install being evaluated.
2. Last Used Date Doesn't Breach the Threshold
The reclamation rule defines a "Days Since Last Used" value. Even if the usage record exists and is linked, if the last_used date on the record is more recent than the threshold (e.g., rule says 90 days, but the record shows usage 30 days ago), no candidate is generated. Since you manually created the record, double-check that the date is intentionally backdated beyond the rule threshold.
Ref: Understanding Reclamation Rules: Optimizing Software Usage and Allocation
3. Software Install Not Normalized to the Miro Model
The reclamation engine resolves the rule against the normalized software model on the install record. If the install on xyz CI isn't normalized (i.e., the software_model field on the install is blank or pointing to a different model), the product/model-level rule won't match it.
Ref: How software removal candidates are created for a reclamation rule: https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1178718
4. No Active Entitlement Allocation for That CI
Reclamation only targets installs that are consuming an entitlement. If there's no active allocation record linking the Miro entitlement to xyz CI (or its owner/department), the engine has nothing to "reclaim from" and skips it.
5. Reclamation Rule Scope / Filter Conditions
Check whether the reclamation rule has additional conditions (e.g., company, department, CI class, or managed state filters) that may be inadvertently excluding CI. A product-level rule with a company filter is a frequent silent exclusion.
Ref: How software removal candidates are created for a reclamation rule: https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1178718
6. Install Record State
The software install on xyz CI must be in an "Installed" state. If it's already in "Reclamation Requested" or any non-installed state, the job will skip it.
Part 2: Which Entitlement Allocation Gets Updated After Reclamation?
When the reclamation completes and the install is removed/uninstalled, SAM Pro needs to release the consumed license. Here's the resolution chain:
Reclamation Rule (Product Level)
↓
Resolves to: Software Model (via normalized install on CI)
↓
Finds: Software Entitlement for that Model
↓
Targets: Allocation record linked to CI (or its cost center / user)
↓
Updates: That specific allocation (quantity released or record retired)
Ref: Software installation optimization and removal : https://www.servicenow.com/docs/r/yokohama/it-asset-management/software-asset-management/c_SAMOptimi...
If all of the above are green and it's still not generating candidates, the next step would be to raise a Support Ticket.
If this helped - amazing, you're welcome, go click Helpful and Accept as Solution. If it didn't - well, at least you learned what not to do. Either way, we grow.
Cheers, Abby
ITAM Principal Solution Architect
