Procurement asks “how many seats are unused?” and IT answers honestly. The harder question — “how many of our fulfiller seats should be requesters?” — never gets asked, and that is where six- and seven-figure savings live.
The three roles that drive cost
ServiceNow’s commercial model leans on a tiered user definition. The shorthand most contracts use:
- Fulfiller — full read/write across modules in scope
- Requester — submit and view own requests
- Approver — approve, comment, no fulfillment
A license overage almost always means fulfillers are doing requester work and getting counted at the higher tier.
The audit query
Run this against sys_user_has_role joined with activity. The pattern: a user holding a fulfiller role but whose 90-day activity is exclusively self-service.
var ga = new GlideAggregate('sys_audit');
ga.addQuery('tablename', 'IN', 'incident,sc_request,sc_req_item');
ga.addQuery('sys_created_on', '>', gs.daysAgo(90));
ga.addAggregate('COUNT');
ga.groupBy('user');
ga.query();
Cross-reference with users holding itil or any equivalent fulfiller role. Anyone in the bottom decile of write activity but holding a fulfiller role is a downgrade candidate.
The political conversation
The downgrade is technically trivial. Politically it is not. Frame the conversation as “you keep all current visibility, you lose write access on tables you have not written to in three months.” Nobody pushes back when phrased that way.
Watch for shadow fulfillment
Some users get a fulfiller role to do one thing — re-assign their own tickets, for example. The cleaner answer is a delegation rule or a scoped UI Action, not a full role. Audit sys_user_role for users with itil and no group membership tied to a queue. Almost always a mistake.
Annual true-up math
Build a single dashboard with three numbers: contracted fulfiller count, active fulfillers (logged in past 60 days), and downgrade-eligible fulfillers. Bring it to your annual ServiceNow review and watch the negotiation posture change.
What to do this week
Pull the audit query above for the last quarter. Identify the top 50 downgrade candidates and route them to their managers with a one-line approval form. Even 30 successful downgrades pay for the audit effort many times over.