mcpField
S
sourcing-summarization

sourcing-summarization

github.com/happy-technologies-llcOther4141 installsUpdated 2d ago
Repository

About sourcing-summarization

sourcing-summarization helps sourcing managers and analysts using ServiceNow Sourcing and Procurement Operations review events, bids, and negotiations. It brings together vendor details, scores, and history for proposal comparisons and award recommendations.

Key features

  1. 01Summarize sourcing event details
  2. 02Compare vendor bids side by side
  3. 03Track negotiation rounds and offers
  4. 04Review vendor scores and compliance
  5. 05Prepare award recommendations using total cost of ownership

Use cases

  1. 01Review active RFPs, RFQs, and RFIs
  2. 02Compare vendor pricing and evaluation scores
  3. 03Summarize negotiation progress and history
  4. 04Prepare award recommendations for sourcing events

MCP support

Uses MCP tools such as SN-Query-Table, SN-Get-Record, and SN-Natural-Language-Search to retrieve sourcing events, negotiations, vendor, and contract data.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill sourcing-summarization

After installing, type/sourcing-summarizationin Claude Code to confirm it loaded.

Details

From the project README

Sourcing Summarization

Overview

This skill provides a structured approach to summarizing sourcing events and negotiations in ServiceNow Sourcing and Procurement Operations. It helps you:

  • Retrieve and consolidate sourcing event details from proc_sourcing_event
  • Compare vendor bids side-by-side with pricing, terms, and compliance data
  • Track negotiation rounds and counteroffers via proc_negotiation
  • Evaluate vendors against weighted scoring criteria
  • Generate award recommendations based on total cost of ownership and qualitative factors
  • Support RFP/RFQ lifecycle management from creation through award

When to use: When sourcing managers need to review active sourcing events, compare vendor proposals, track negotiation progress, or prepare award recommendation summaries.

Prerequisites

  • Roles: sn_procurement.sourcing_manager, sn_procurement.analyst, or sourcing_admin
  • Plugins: com.sn_sourcing (Sourcing) and com.sn_procurement activated
  • Access: Read access to proc_sourcing_event, proc_negotiation, core_company, ast_contract
  • Knowledge: Familiarity with your organization's sourcing policies, evaluation criteria, and approval thresholds

Procedure

Step 1: Retrieve Sourcing Events

Query active sourcing events to understand the current sourcing pipeline.

Using MCP (Claude Code/Desktop):

Tool: SN-Query-Table
Parameters:
  table_name: proc_sourcing_event
  query: active=true^ORDERBYDESCsys_updated_on
  fields: sys_id,number,short_description,state,type,category,assigned_to,start_date,end_date,estimated_value,currency,vendor_count,bid_count,award_status
  limit: 25

To filter by event type (RFP, RFQ, RFI):

Tool: SN-Query-Table
Parameters:
  table_name: proc_sourcing_event
  query: type=rfp^active=true
  fields: sys_id,number,short_description,state,category,start_date,end_date,estimated_value,vendor_count,bid_count
  limit: 25

Using REST API:

GET /api/now/table/proc_sourcing_event?sysparm_query=active=true^ORDERBYDESCsys_updated_on&sysparm_fields=sys_id,number,short_description,state,type,category,assigned_to,start_date,end_date,estimated_value,currency,vendor_count,bid_count,award_status&sysparm_limit=25&sysparm_display_value=true
Step 2: Retrieve a Specific Sourcing Event

Get full details for a single sourcing event.

Using MCP:

Tool: SN-Get-Record
Parameters:
  table_name: proc_sourcing_event
  sys_id: [event_sys_id]
  fields: sys_id,number,short_description,description,state,type,category,assigned_to,assignment_group,start_date,end_date,bid_deadline,estimated_value,currency,evaluation_criteria,scoring_method,vendor_count,bid_count,award_status,award_date,awarded_vendor,terms_and_conditions

Using REST API:

GET /api/now/table/proc_sourcing_event/[event_sys_id]?sysparm_fields=sys_id,number,short_description,description,state,type,category,assigned_to,start_date,end_date,bid_deadline,estimated_value,currency,evaluation_criteria,scoring_method,vendor_count,bid_count,award_status,award_date,awarded_vendor,terms_and_conditions&sysparm_display_value=true
Step 3: Retrieve Vendor Bids and Proposals

Query negotiations linked to the sourcing event to get vendor bids.

Using MCP:

Tool: SN-Query-Table
Parameters:
  table_name: proc_negotiation
  query: sourcing_event=[event_sys_id]^ORDERBYtotal_bid_amount
  fields: sys_id,number,vendor,state,total_bid_amount,currency,round,submitted_date,compliance_status,technical_score,commercial_score,overall_score,notes,award_recommendation
  limit: 50

Using REST API:

GET /api/now/table/proc_negotiation?sysparm_query=sourcing_event=[event_sys_id]^ORDERBYtotal_bid_amount&sysparm_fields=sys_id,number,vendor,state,total_bid_amount,currency,round,submitted_date,compliance_status,technical_score,commercial_score,overall_score,notes,award_recommendation&sysparm_limit=50&sysparm_display_value=true
Step 4: Retrieve Vendor Details and History

For each bidding vendor, get their company profile and past performance.

Using MCP:

Tool: SN-Query-Table
Parameters:
  table_name: core_company
  query: sys_id=[vendor_sys_id]
  fields: sys_id,name,vendor_type,city,state,country,stock_symbol,vendor_rating,notes,contact
  limit: 1

Check vendor's existing contracts:

Tool: SN-Query-Table
Parameters:
  table_name: ast_contract
  query: vendor=[vendor_sys_id]^state=active
  fields: sys_id,number,short_description,starts,ends,cost,state,contract_type
  limit: 10

Check vendor's PO history:

Tool: SN-Query-Table
Parameters:
  table_name: proc_po
  query: vendor=[vendor_sys_id]^ordered_date>=javascript:gs.beginningOfLast12Months()^state!=cancelled
  fields: sys_id,number,total_cost,state,ordered_date
  limit: 50

Using REST API:

# Vendor profile
GET /api/now/table/core_company/[vendor_sys_id]?sysparm_fields=sys_id,name,vendor_type,city,country,vendor_rating,contact&sysparm_display_value=true

# Active contracts with vendor
GET /api/now/table/ast_contract?sysparm_query=vendor=[vendor_sys_id]^state=active&sysparm_fields=sys_id,number,short_description,starts,ends,cost,contract_type&sysparm_limit=10&sysparm_display_value=true

# PO history
GET /api/now/table/proc_po?sysparm_query=vendor=[vendor_sys_id]^ordered_date>=javascript:gs.beginningOfLast12Months()^state!=cancelled&sysparm_fields=number,total_cost,state,ordered_date&sysparm_limit=50&sysparm_display_value=true
Step 5: Compare Bids Side-by-Side

Build a comparison matrix from the negotiation data:

=== BID COMPARISON MATRIX ===
Sourcing Event: SE0001234 - Enterprise Network Equipment RFP
Estimated Value: $500,000 | Bid Deadline: Mar 10, 2026

| Criteria (Weight)      | Vendor A: Cisco  | Vendor B: Juniper | Vendor C: Arista |
|------------------------|------------------|-------------------|------------------|
| Total Bid Amount       | $485,000         | $462,000          | $448,500         |
| Technical Score (40%)  | 92/100           | 88/100            | 85/100           |
| Commercial Score (30%) | 78/100           | 85/100            | 90/100           |
| Compliance             | Full             | Full              | Partial*         |
| Delivery Timeline      | 6 weeks          | 8 weeks           | 5 weeks          |
| Warranty               | 3 years          | 2 years           | 3 years          |
| Weighted Total         | 86.4             | 86.1              | 86.5             |
| Recommendation         | -                | -                 | Conditional**    |

*Arista: Missing ISO 27001 certification
**Conditional on compliance gap resolution
Step 6: Track Negotiation Rounds

Review negotiation history for ongoing events.

Using MCP:

Tool: SN-Query-Table
Parameters:
  table_name: proc_negotiation
  query: sourcing_event=[event_sys_id]^vendor=[vendor_sys_id]^ORDERBYround
  fields: sys_id,round,total_bid_amount,submitted_date,state,notes,commercial_score,technical_score
  limit: 10

Using REST API:

GET /api/now/table/proc_negotiation?sysparm_query=sourcing_event=[event_sys_id]^vendor=[vendor_sys_id]^ORDERBYround&sysparm_fields=sys_id,round,total_bid_amount,submitted_date,state,notes,commercial_score,technical_score&sysparm_limit=10&sysparm_display_value=true
Step 7: Build the Sourcing Summary

Assemble findings into a structured report:

=== SOURCING EVENT SUMMARY ===
Event: SE0001234 | Type: RFP
Title: [short_description]
State: [state] | Category: [category]
Owner: [assigned_to] | Start: [start_date] | Deadline: [end_date]
Estimated Value: [currency] [estimated_value]

PARTICIPATION:
Vendors Invited: [vendor_count]
Bids Received: [bid_count]
Response Rate: [pct]%

BID RANKING (by weighted score):
1. [Vendor C] - $448,500 - Score: 86.5 - CONDITIONAL
2. [Vendor A] - $485,000 - Score: 86.4 - COMPLIANT
3. [Vendor B] - $462,000 - Score: 86.1 - COMPLIANT

NEGOTIATION STATUS:
[Vendor A]: Round 3 complete - final offer received
[Vendor B]: Round 2 - counteroffer pending
[Vendor C]: Round 3 complete - compliance remediation in progress

AWARD RECOMMENDATION:
Recommended Vendor: [vendor_name]
Rationale: [scoring rationale, compliance, delivery, total cost of ownership]
Savings vs Estimate: $[amount] ([pct]%)

NEXT STEPS:
- [pending actions]
- [approval requirements]
- [timeline to award]

Tool Usage

MCP Tools Reference
ToolWhen to Use
SN-Query-TableQuery sourcing events, negotiations, vendors, and contracts
SN-Natural-Language-SearchNatural language search (e.g., "find open RFPs for networking equipment")
SN-Get-RecordRetrieve full details of a single sourcing event
REST API Reference
EndpointMethodPurpose
/api/now/table/proc_sourcing_eventGETQuery sourcing events
/api/now/table/proc_negotiationGETRetrieve vendor bids and negotiation rounds
/api/now/table/core_companyGETVendor profiles and ratings
/api/now/table/ast_contractGETExisting vendor contracts
/api/now/table/proc_poGETHistorical PO data for vendor assessment
/api/now/table/sys_journal_fieldGETSourcing event notes and communications

Best Practices

  • Weight Criteria Transparently: Document evaluation weights before reviewing bids to avoid bias
  • Include Total Cost of Ownership: Look beyond bid price to include warranty, maintenance, training, and implementation costs
  • Verify Compliance Early: Flag compliance gaps in the first round to give vendors time to remediate
  • Track All Rounds: Record every negotiation round to maintain an audit trail
  • Benchmark Against Market: Compare bids to historical spend and market rates for the category
  • Involve Stakeholders: Include technical evaluators, legal, and finance in scoring for comprehensive assessment
  • Document Rationale: Always record the reasoning behind award recommendations for audit purposes

Troubleshooting

"Sourcing event has no negotiations"

Cause: Bids may not have been submitted yet, or they are stored in a custom table Solution: Verify the bid deadline has passed; check if your instance uses a custom bid table extending proc_negotiation

"Vendor scores are all zero"

Cause: Scoring has not been completed or is managed outside ServiceNow Solution: Check if evaluation is done via a separate scoring module or external spreadsheet; scores may need manual entry

"Cannot find vendor in core_company"

Cause: The vendor may not be registered in ServiceNow yet Solution: Search core_company by name with nameLIKE[vendor_name]; the vendor may need to be created before bid submission

"Historical PO data incomplete"

Cause: The vendor may have been used under a different company record or acquired Solution: Check for alternate company names or parent/subsidiary relationships in core_company

Examples

Example 1: Active Sourcing Pipeline Summary

Scenario: Sourcing director needs an overview of all active sourcing events.

Tool: SN-Query-Table
Parameters:
  table_name: proc_sourcing_event
  query: active=true^ORDERBYend_date
  fields: number,short_description,type,state,estimated_value,bid_count,end_date,assigned_to
  limit: 20

Output:

SOURCING PIPELINE - Mar 19, 2026

ACTIVE EVENTS: 8 total ($3.2M estimated value)

EVALUATION PHASE (3):
  SE0001234 - Enterprise Network Equipment (RFP) - $500K - 3 bids - Due: Mar 25
  SE0001240 - Cloud Hosting Services (RFP) - $1.2M - 5 bids - Due: Mar 28
  SE0001245 - Office Furniture Refresh (RFQ) - $85K - 4 bids - Due: Mar 22

BIDDING OPEN (3):
  SE0001250 - Security Consulting (RFP) - $400K - 2 bids so far - Closes: Apr 5
  SE0001252 - Print Services (RFQ) - $120K - 0 bids - Closes: Apr 10
  SE0001255 - Catering Services (RFQ) - $95K - 3 bids so far - Closes: Apr 2

AWARD PENDING (2):
  SE0001220 - Data Center Hardware (RFP) - $800K - Recommended: Dell
  SE0001228 - Janitorial Services (RFQ) - $45K - Recommended: CleanCo

ATTENTION: SE0001252 has zero bids with 3 weeks to deadline - consider expanding vendor list.
Example 2: Bid Comparison for Award Decision

Scenario: Evaluate bids for SE0001234 (Enterprise Network Equipment).

Tool: SN-Query-Table
Parameters:
  table_name: proc_negotiation
  query: sourcing_event.number=SE0001234^round=3
  fields: vendor,total_bid_amount,technical_score,commercial_score,overall_score,compliance_status,state
  limit: 10

Output:

SE0001234 - AWARD RECOMMENDATION

BID COMPARISON (Final Round):
| Vendor    | Bid Amount | Tech (40%) | Comm (30%) | Delivery (20%) | Risk (10%) | Total |
|-----------|-----------|------------|------------|----------------|------------|-------|
| Cisco     | $485,000  | 92         | 78         | 80             | 90         | 85.4  |
| Arista    | $448,500  | 85         | 90         | 92             | 75         | 86.5  |
| Juniper   | $462,000  | 88         | 85         | 78             | 85         | 84.9  |

RECOMMENDATION: Arista Networks
- Lowest price ($448,500 - 10.3% below estimate)
- Highest weighted score (86.5)
- Fastest delivery (5 weeks)
- NOTE: Requires ISO 27001 certification by Q2 (mitigation plan submitted)

SAVINGS: $51,500 vs estimate | $36,500 vs next lowest bid
Example 3: Negotiation History Tracking

Scenario: Track negotiation progress with a specific vendor.

Tool: SN-Query-Table
Parameters:
  table_name: proc_negotiation
  query: sourcing_event.number=SE0001234^vendor.name=Cisco Systems^ORDERBYround
  fields: round,total_bid_amount,submitted_date,state,notes
  limit: 5

Output:

NEGOTIATION HISTORY - SE0001234 / Cisco Systems

Round 1 (Feb 15): $520,000 - Initial proposal
  Notes: Standard pricing, 3-year warranty, 8-week delivery

Round 2 (Mar 1): $498,000 - Revised after feedback
  Notes: 4.2% reduction, improved delivery to 7 weeks

Round 3 (Mar 12): $485,000 - Final offer
  Notes: 6.7% total reduction, added training package, 6-week delivery

TOTAL SAVINGS THROUGH NEGOTIATION: $35,000 (6.7%)

Related Skills

  • procurement/supplier-recommendation - Vendor scoring and recommendation engine
  • procurement/purchase-order-summarization - Track POs resulting from sourcing awards
  • procurement/procurement-summarization - Overall procurement pipeline overview
  • procurement/invoice-management - Invoice processing for sourced contracts

Comments

Markdown supported