Overview
This guide provides comprehensive best practices for implementing and managing the Software Asset Management (SAM) Schema v1.0 in Jira Service Management Assets. This schema enables organizations to track software entitlements, monitor installations, calculate compliance positions, and optimize license spend across the enterprise.
Software asset management is fundamentally different from hardware asset management. While physical assets depreciate predictably, software licensing creates dynamic financial and compliance obligations that change with organizational scale, vendor audits, and business transformation. This schema addresses these complexities with purpose-built object types designed for SAM maturity.
Who should read this guide:
- SAM Managers responsible for license compliance and cost optimization
- IT Asset Management (ITAM) teams tracking software across the estate
- Procurement teams managing vendor contracts and renewals
- Finance teams allocating software costs to departments
- Compliance Officers ensuring audit readiness
- IT Operations teams deploying and managing software installations
What you will learn:
- How to effectively use each of the ten object types in the SAM schema
- The purpose and significance of every attribute across all object types
- Effective License Position (ELP) calculation methodologies
- Discovery tool integration strategies for SCCM, Intune, and JAMF
- Vendor audit preparation and response procedures
- License harvesting and optimization techniques
- Cost allocation models for departmental chargebacks
Prerequisites:
- JSM Premium or Enterprise license (Assets requires Premium tier minimum)
- Object Schema Manager or Jira Admin permissions
- Familiarity with basic JSM Assets concepts (object types, attributes, references)
- Understanding of software licensing fundamentals (perpetual vs. subscription, per-user vs. per-device)
- Access to software discovery tools or installation data sources
Schema Architecture
The SAM Data Model
The Software Asset Management Schema implements a layered data model that separates contractual entitlements from actual installations, enabling accurate compliance calculations and optimization opportunities.
+-----------------------+
| Software Publisher | <- Vendor relationships
+-----------+-----------+
|
+-----------v-----------+
| Software Product | <- What you can install
+-----------+-----------+
|
+-------------------+-------------------+
| |
+-----------v-----------+ +-----------v-----------+
| License Agreement | | Installation | <- What you deployed
+-----------+-----------+ +-----------+-----------+
| |
+-----------v-----------+ +-----------v-----------+
| Entitlement | | Device | <- Where it runs
+-----------+-----------+ +-----------+-----------+
| |
+-------------------+-------------------+
|
+-----------v-----------+
| Compliance Position | <- Are you compliant?
+-----------------------+
Key Relationships
| Relationship | Purpose |
|---|---|
| Publisher → Product | Products are published by vendors |
| Product → Entitlement | Entitlements grant rights to use products |
| Entitlement → Agreement | Entitlements exist under license agreements |
| Product → Installation | Products are installed on devices |
| Installation → Device | Installations run on specific devices |
| Device → User | Devices are assigned to users |
| Agreement → Renewal | Agreements have renewal milestones |
| Agreement → Cost Allocation | Agreement costs are distributed to departments |
Reference Types in This Schema
The SAM schema defines four custom reference types that describe licensing and deployment relationships. These reference types provide semantic meaning and visual organization through color-coding in the JSM Assets interface.
| Reference Type | Color | From Object | To Object | Purpose |
|---|---|---|---|---|
| Published By | Blue (#0052CC) | Software Product | Software Publisher | Vendor relationship |
| Entitled Under | Green (#00875A) | Entitlement | License Agreement | Contract linkage |
| Installed On | Purple (#6554C0) | Installation | Device | Deployment tracking |
| Assigned To | Orange (#FF8B00) | Device | User | User accountability |
Color Coding Rationale:
- Blue (#0052CC): Vendor and publisher relationships
- Green (#00875A): Contractual and entitlement relationships
- Purple (#6554C0): Technical deployment relationships
- Orange (#FF8B00): User assignment and accountability
Effective License Position (ELP)
Calculation Formula
The Effective License Position calculation is the core of software asset management:
ELP = Entitled Quantity - Deployed Quantity
If ELP >= 0: Compliant (or Over-Licensed if ELP is large positive)
If ELP < 0: Under-Licensed by |ELP| units
Per-User Calculation Example
Product: Microsoft 365 E3
Entitled: 500 users (per Entitlement records)
Deployed: 487 users (per Installation count matched to unique users)
Gap: 500 - 487 = +13
Compliance Status: Compliant (13 licenses available for growth)
Per-Device Calculation Example
Product: Adobe Photoshop
Entitled: 50 devices (per Entitlement records)
Deployed: 67 installations (per Installation count)
Gap: 50 - 67 = -17
Compliance Status: Under-Licensed (17 licenses short)
Discovery Tool Integration
Effective SAM requires automated discovery data. Manual tracking is impossible at enterprise scale.
Supported Discovery Sources
| Discovery Tool | Platform Coverage |
|---|---|
| Microsoft SCCM | Windows endpoints and servers |
| Microsoft Intune | Modern managed Windows, macOS, mobile |
| JAMF | macOS and iOS devices |
| ServiceNow Discovery | Cross-platform |
Product Normalization
Discovery tools report software with variations. Create normalization rules to match discovery names to Product records:
| Discovery Reports | Should Match Product |
|---|---|
| Microsoft 365 Apps for enterprise - en-us | Microsoft 365 Apps for Enterprise |
| Adobe Photoshop 2024 | Adobe Photoshop |
| Visual Studio Enterprise 2022 | Visual Studio Enterprise 2022 |
License Harvesting
Identifying Harvesting Candidates
Find installations with no recent usage for license reclamation:
objectType = "Installation" AND Status = "Active" AND "Last Used" < now(-90d)
Harvesting Workflow
- Identify: Query discovers unused licenses (90+ days no usage)
- Notify: Email user/manager about pending reclamation
- Grace Period: Allow 14 days to respond if software is needed
- Reclaim: Unassign license or uninstall software
- Reallocate: Make license available for new requests
Optimization Opportunities
| Opportunity | Detection | Action |
|---|---|---|
| Edition Downgrades | Users with Pro licenses using Basic features | Migrate to lower-cost edition |
| Product Rationalization | Multiple products serving same purpose | Standardize on one product |
| True-Down | Significant over-licensing | Reduce quantity at renewal |
| Subscription Conversion | High perpetual maintenance costs | Evaluate subscription economics |
Vendor Audit Preparation
Software vendor audits are common and can result in significant financial exposure. Preparation is essential.
Pre-Audit Checklist
- All agreements documented with agreement numbers
- Entitlement quantities verified against license certificates
- Discovery tools running and current (data less than 7 days old)
- Compliance positions calculated (less than 30 days old)
- Under-licensed positions documented with remediation plans
- Product normalization rules current and accurate
- Evidence of license certificates and purchase orders organized
- Secondary use rights documented and supported by evidence
Audit Response Process
- Audit Notification: Received formal audit letter from vendor
- Scope Clarification: Understand exactly what products are in scope
- Data Compilation: Generate compliance reports from SAM system
- Legal Review: Engage legal counsel for audit response
- Vendor Communication: Submit compliance data through proper channels
- Negotiation: If gaps exist, negotiate resolution terms
- Documentation: Update SAM records with audit outcomes
Common Audit Triggers
| Vendor | Audit Triggers |
|---|---|
| Microsoft | EA renewal, compliance signals, random selection |
| Oracle | Acquisition by customer, contract changes, ULA certification |
| Adobe | Usage spikes, contract changes |
| IBM | Contract renewal, compliance signals |
| SAP | User count changes, indirect access |
Useful AQL Queries
Find under-licensed products
objectType = "Compliance Position" AND Status = "Current" AND "Compliance Status" = "Under-Licensed"
Find agreements expiring soon
objectType = "License Agreement" AND Status = "Active" AND "End Date" < now(90d)
Find unused installations
objectType = "Installation" AND Status = "Active" AND "Last Used" < now(-90d)
Find entitlements missing critical references
objectType = "Entitlement" AND Status = "Active" AND (Product is EMPTY OR Agreement is EMPTY)
Find installations without product reference
objectType = "Installation" AND Status = "Active" AND Product is EMPTY
FAQ
Q1: How do I handle software that comes bundled with other software?
Answer: Create Product records for each significant component that requires tracking. For example, Microsoft 365 includes Teams, Outlook, Word, Excel, etc. Track at the subscription level (Microsoft 365 E3) not component level. Only create component-level tracking if components are licensed separately.
Q2: How do I track cloud/SaaS subscriptions vs. on-premises software?
Answer: Both use the same schema structure. SaaS: Agreement Type = "Subscription", Metric typically "Per User". On-premises: Agreement Type varies, Metric may be "Per Device" or "Per Core". The schema accommodates both - the key difference is the Metric and Agreement Type values.
Q3: What if discovery tools report software not in my Product catalog?
Answer: Implement a staging process:
- Import to staging area for unknown products
- SAM team reviews and categorizes weekly
- Create Product records for tracked software
- Flag as "Not Tracked" for consumer or freeware applications
Q4: How do I handle secondary use rights (home use, second device)?
Answer: Document in entitlement Notes and adjust compliance calculations. For example, Microsoft 365 allows installation on 5 devices per user. Some perpetual licenses allow secondary home use. Your compliance calculation should account for valid secondary use.
Q5: How often should I calculate compliance positions?
Answer: Frequency depends on change velocity:
- High-change environments: Weekly
- Stable environments: Monthly
- Pre-audit: Daily during audit period
- Always calculate before any vendor communication
Q6: How do I handle open source software?
Answer: Track open source for compliance with OSS license obligations:
- Create Software Publisher = "Open Source" as umbrella
- Create Product records for tracked OSS
- License Model = "Open Source"
- Agreement Type = "Open Source" (or specific license type)
- Entitlements may be marked "Unlimited" but track usage for obligation compliance
Q7: What is the difference between an Agreement and an Entitlement?
Answer: Agreement is the contract with a vendor (Microsoft EA 2024-2027). Entitlement is specific licenses granted under that contract (500 Microsoft 365 E3 licenses). One Agreement can have many Entitlements for different products. Agreements define terms; Entitlements define quantities.
Related Resources
This guide is part of the Software Asset Management Schema v1.0 documentation suite:
- JSM Forms Specification: Software request forms, installation approvals, and compliance reports
- Governance Playbook: License compliance policies, audit preparation procedures, and data quality standards
- Automation Examples: License expiry alerts, compliance calculations, and usage tracking
For platform documentation:
For SAM framework references:
Schema Forge