How to manage true up software's for request management

MercBuilding
Tera Guru

Hi ,

  We are publishing software models for end user to request any particular software from portal. So for adobe/microsoft even if the available allocations are not available we should be able to process the request without raising purchase order as the customer will pay true up at the end of the year. How to implement this solution?

6 REPLIES 6

MaxMixali
Giga Guru

Great use case—this is a classic “true-up” policy for big publishers (Adobe/Microsoft) where requests must never be blocked by license pool availability, but consumption must still be tracked for end-of-year billing and compliance.

 

Below is a practical, supportable way to implement it in ServiceNow SAM Pro + Catalog, without breaking OOTB behavior for all other software.

 


 

 

Target outcomes

 

 

  1. Fulfillment never blocks for selected publishers, even when “Available = 0”.

  2. No Purchase Order is raised during the request.

  3. Consumption/shortfall is tracked so Finance can true-up at year end.

  4. All other software still follows normal license/stock/procurement controls.

 

 


 

 

High-level approach

 

 

  • Introduce a policy flag (e.g., True-up Allowed) on Software Model (and/or Publisher).

  • Branch the Software Request flow: if True-up Allowed = true → bypass OOTB “enforce license availability” + skip procurement; proceed to deployment.

  • Record the deficit (shortfall) in a dedicated log/report for EOY billing, while allowing SAM reconciliation to continue surfacing unlicensed installs (but segmented as “true-up eligible”).

 

 


 

 

Configuration steps

 

 

 

1) Data model (1–2 hours)

 

 

  • On Software Model (cmdb_software_product_model) add a Boolean:

     

    • u_true_up_allowed (label: True-up allowed).

     

  • Optional on Publisher (core_company where type = Publisher😞

     

    • u_true_up_allowed_default (if you want to default all models for that publisher).

     

  • (Optional) New table u_true_up_consumption with fields:

     

    • software_model (ref to Software Model)

    • requested_for, cost_center, department

    • request/ritm/task

    • quantity (default 1)

    • unit_cost_estimate (for finance accruals, if desired)

    • consumption_type (Install | SaaS Seat)

    • install_device/user

    • timestamp

     

 

 

 

2) Catalog and request model (1–2 hours)

 

 

  • Keep your Software Catalog Item tied to the Software Model (best practice for SAM Pro).

  • In your Software Request Flow (Flow Designer):

     

    • Add a step “Fetch Software Model” from the request (via the requested software or model variable).

    • Decision: If model.u_true_up_allowed == true → True-up path, else → Normal OOTB path.

     

 

 

 

3) Flow behavior for

True-up

path

 

 

  • Bypass license availability enforcement:

     

    • If you use an OOTB action like “Check license availability”, run it but treat failure as WARNING (do not fail the flow).

     

  • Skip procurement:

     

    • Do not create PR/PO tasks even if “Available = 0”.

     

  • Proceed to deployment:

     

    • Create/install task (SCCM/Intune/Packaging), or for SaaS trigger your identity/license assignment subflow.

     

  • Record consumption:

     

    • Create a row in u_true_up_consumption with the request context.

     

  • Flag the RITM:

     

    • Set a field like u_true_up_fulfillment = true (useful for reporting & audit).

     

  • Notify Finance/License Owner (optional):

     

    • Send a weekly digest or event to a Finance/Software Asset email list for visibility.

     

 

 

 

4) Flow behavior for

Non true-up

path (all others)

 

 

  • Keep the standard OOTB SAM Pro steps:

     

    • Validate license availability.

    • If short, raise Purchase Request or stop with a friendly message per your governance.

    • On success, deploy and allocate as usual.

     

 

 

 

5) SAM Pro reconciliation alignment (ongoing)

 

 

  • Reconciliation will still show shortfall/unlicensed installs for true-up software. That’s OK.

  • Create a Saved Filter/Report for compliance:

     

    • “True-up eligible shortfalls” = shortfalls where software_model.u_true_up_allowed = true.

    • “Non true-up shortfalls (action required)” = shortfalls where u_true_up_allowed = false.

     

  • Present both on your SAM dashboards, so License Owners know what needs immediate action vs what rolls into EOY true-up.

 

 

 

6) Procurement & PO prevention (surgical)

 

 

If you currently autogenerate PR/PO when availability is zero:

 

  • Add a business rule (or decision in your flow) that suppresses PR creation when u_true_up_allowed = true.

  • Keep PR logic untouched for all other software.

 

 


 

 

Example: Flow Designer decision (pseudo)

 

Step: Get Software Model from RITM → outputs.model

IF outputs.model.u_true_up_allowed == true
- Action: Check License Availability (optional) → ignore failure
- Action: Create True-up Consumption (u_true_up_consumption)
- Action: Install task / Assign SaaS seat
- Set RITM.u_true_up_fulfillment = true
ELSE
- Action: Check License Availability (fail if none)
- Action: Create PR/PO if needed
- Action: Install task / Assign SaaS seat
END

 

 

Special notes for SaaS (M365 / Adobe)

 

 

  • Microsoft 365 tenants typically won’t let you assign a seat if you truly have zero available; your EA allows true-up financially but you still provision seats during the year. Coordinate with tenant admins to ensure enough buffer seats exist (procurement is just billed later under EA). The ServiceNow part won’t block, but the downstream assignment may fail unless the tenant has spare seats or an auto-top-up policy.

  • Adobe enterprise can behave similarly; ensure your Admin Console capacity supports overage per your agreement.

 

 

In short: ServiceNow will allow the request and track it; your tenant needs the practical capacity to assign, even if the cost hits at EOY.

 


 

 

Reporting & year-end true-up

 

 

  • Report on u_true_up_consumption grouped by Publisher → Software Model → Dept/Cost Center with counts and (optional) cost estimates.

  • Reconcile with SAM Shortfall to validate that installs/seats match your true-up log.

  • Share a quarterly snapshot with Finance and License Owners.

 

 


 

 

Governance & controls (strongly recommended)

 

 

  • Restrict u_true_up_allowed to specific publishers and approved models only.

  • Add approval for true-up requests (e.g., cost center owner + software owner).

  • Include a monthly true-up digest to stakeholders.

 

 


 

 

What not to do

 

 

  • Don’t disable license checks globally; keep the behavior scoped to u_true_up_allowed models only.

  • Don’t hard-delete shortfall data; you need it for audit and reconciliation.

 

 


 

 

TL;DR

 

 

  • Add a True-up Allowed flag on software models.

  • Branch the request flow: allow fulfillment with no PR when the flag is true; log consumption for EOY.

  • Keep OOTB enforcement for everything else.

  • Ensure SaaS tenants have assignable capacity even if finance pays later.

  • Build reports to reconcile true-up consumption with SAM shortfall.

 

 

 

dreinhardt
Kilo Patron
Kilo Patron

@MaxMixali , thanks for this AI generated content about the process, would you please so kind to add details how to bypass the ootb sourcing request module as requested by @MercBuilding.?

 

Best, Dennis

Should my response prove helpful, please consider marking it as the Accepted Solution/Helpful to assist closing this thread.