Recommend suppliers based on historical performance, pricing competitiveness, compliance status, category expertise, scorecard analysis, and risk factors
This skill provides a structured approach to recommending suppliers in ServiceNow Sourcing and Procurement Operations. It helps you:
When to use: When procurement teams need to select vendors for new sourcing events, evaluate existing supplier relationships, or build an approved vendor shortlist for a category.
sn_procurement.sourcing_manager, sn_procurement.analyst, or vendor_managercom.sn_procurement (Sourcing and Procurement Operations) activatedcore_company, proc_po, proc_po_item, proc_rec_slip_item, ast_contract, sn_proc_invoiceQuery vendors by category, type, or keyword to build a candidate list.
Using MCP (Claude Code/Desktop):
Tool: SN-Query-Table
Parameters:
table_name: core_company
query: vendor=true^vendor_type=IT Hardware^ORDERBYname
fields: sys_id,name,vendor_type,city,state,country,stock_symbol,vendor_rating,phone,contact,notes
limit: 25
For broader search by name:
Tool: SN-NL-Search
Parameters:
query: "IT hardware suppliers in the United States"
table: core_company
Using REST API:
GET /api/now/table/core_company?sysparm_query=vendor=true^vendor_type=IT Hardware^ORDERBYname&sysparm_fields=sys_id,name,vendor_type,city,state,country,vendor_rating,phone,contact&sysparm_limit=25&sysparm_display_value=true
For each candidate, evaluate PO fulfillment and on-time delivery rates.
Using MCP:
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,expected_delivery,currency
limit: 100
Check receipt timeliness:
Tool: SN-Query-Table
Parameters:
table_name: proc_rec_slip_item
query: purchase_order.vendor=[vendor_sys_id]^received_date>=javascript:gs.beginningOfLast12Months()
fields: sys_id,purchase_order,po_item,quantity_received,received_date,condition,accepted_quantity,rejected_quantity
limit: 200
Using REST API:
# PO history
GET /api/now/table/proc_po?sysparm_query=vendor=[vendor_sys_id]^ordered_date>=javascript:gs.beginningOfLast12Months()^state!=cancelled&sysparm_fields=sys_id,number,total_cost,state,ordered_date,expected_delivery&sysparm_limit=100&sysparm_display_value=true
# Receipt history
GET /api/now/table/proc_rec_slip_item?sysparm_query=purchase_order.vendor=[vendor_sys_id]^received_date>=javascript:gs.beginningOfLast12Months()&sysparm_fields=purchase_order,quantity_received,received_date,condition,accepted_quantity,rejected_quantity&sysparm_limit=200&sysparm_display_value=true
Compare pricing across vendors using PO line items and negotiation data.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: proc_po_item
query: purchase_order.vendor=[vendor_sys_id]^purchase_order.ordered_date>=javascript:gs.beginningOfLast12Months()
fields: sys_id,item_description,model,part_number,unit_price,quantity,total_cost
limit: 100
Check sourcing event bid history:
Tool: SN-Query-Table
Parameters:
table_name: proc_negotiation
query: vendor=[vendor_sys_id]^submitted_date>=javascript:gs.beginningOfLast12Months()
fields: sys_id,sourcing_event,total_bid_amount,round,overall_score,award_recommendation,state
limit: 20
Using REST API:
# Line item pricing
GET /api/now/table/proc_po_item?sysparm_query=purchase_order.vendor=[vendor_sys_id]^purchase_order.ordered_date>=javascript:gs.beginningOfLast12Months()&sysparm_fields=item_description,model,part_number,unit_price,quantity,total_cost&sysparm_limit=100&sysparm_display_value=true
# Bid history
GET /api/now/table/proc_negotiation?sysparm_query=vendor=[vendor_sys_id]^submitted_date>=javascript:gs.beginningOfLast12Months()&sysparm_fields=sourcing_event,total_bid_amount,round,overall_score,award_recommendation,state&sysparm_limit=20&sysparm_display_value=true
Check active contracts and compliance standing.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: ast_contract
query: vendor=[vendor_sys_id]^ORDERBYDESCends
fields: sys_id,number,short_description,state,starts,ends,cost,contract_type,renewal,terms_and_conditions
limit: 10
Using REST API:
GET /api/now/table/ast_contract?sysparm_query=vendor=[vendor_sys_id]^ORDERBYDESCends&sysparm_fields=sys_id,number,short_description,state,starts,ends,cost,contract_type,renewal,terms_and_conditions&sysparm_limit=10&sysparm_display_value=true
Review invoice accuracy as a quality indicator.
Using MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_proc_invoice
query: vendor=[vendor_sys_id]^sys_created_on>=javascript:gs.beginningOfLast12Months()
fields: sys_id,number,invoice_amount,state,match_status,po_number,due_date
limit: 50
Check for invoice exception cases:
Tool: SN-Query-Table
Parameters:
table_name: sn_apo_invoice_case
query: invoice.vendor=[vendor_sys_id]^sys_created_on>=javascript:gs.beginningOfLast12Months()
fields: sys_id,number,short_description,category,state,priority
limit: 20
Using REST API:
# Invoice history
GET /api/now/table/sn_proc_invoice?sysparm_query=vendor=[vendor_sys_id]^sys_created_on>=javascript:gs.beginningOfLast12Months()&sysparm_fields=number,invoice_amount,state,match_status,po_number,due_date&sysparm_limit=50&sysparm_display_value=true
# Invoice exceptions
GET /api/now/table/sn_apo_invoice_case?sysparm_query=invoice.vendor=[vendor_sys_id]^sys_created_on>=javascript:gs.beginningOfLast12Months()&sysparm_fields=number,short_description,category,state,priority&sysparm_limit=20&sysparm_display_value=true
Calculate scores across weighted dimensions:
=== SUPPLIER SCORECARD ===
SCORING DIMENSIONS:
| Dimension | Weight | Calculation Method |
|-----------------------|--------|--------------------|
| Delivery Performance | 25% | % of POs delivered on or before expected date |
| Quality | 20% | Acceptance rate from receiving slips |
| Pricing | 20% | Comparison to category average and bid competitiveness |
| Compliance | 15% | Active contracts, certifications, regulatory status |
| Invoice Accuracy | 10% | % of invoices passing three-way match |
| Responsiveness | 10% | Average negotiation turnaround, communication quality |
SCORING FORMULA:
Total Score = Sum(dimension_score * weight) for all dimensions
Each dimension scored 0-100
Produce a ranked supplier recommendation:
=== SUPPLIER RECOMMENDATION ===
Category: IT Hardware | Date: Mar 19, 2026
RANKED SUPPLIERS:
1. TECHSUPPLY INC (Score: 88.5/100) ★ RECOMMENDED
Delivery: 95% on-time (38/40 POs) .............. 95/100
Quality: 99.2% acceptance rate .................. 99/100
Pricing: 3% below category average .............. 82/100
Compliance: All certs current, contract active ... 90/100
Invoice Accuracy: 96% match rate ................ 96/100
Responsiveness: 1.2 day avg response ............ 85/100
12-Month Spend: $456,000 | Active Contract: Yes (expires Dec 2026)
Risk: LOW
2. GLOBAL TECH SOLUTIONS (Score: 82.1/100)
Delivery: 88% on-time (22/25 POs) .............. 88/100
Quality: 97.5% acceptance rate .................. 97/100
Pricing: 1% above category average .............. 72/100
Compliance: ISO 27001 expiring Jun 2026 ......... 75/100
Invoice Accuracy: 92% match rate ................ 92/100
Responsiveness: 2.1 day avg response ............ 70/100
12-Month Spend: $312,000 | Active Contract: Yes (expires Sep 2026)
Risk: MEDIUM (certification renewal pending)
3. NEXUS TECHNOLOGIES (Score: 74.3/100)
Delivery: 78% on-time (18/23 POs) .............. 78/100
Quality: 94.0% acceptance rate .................. 80/100
Pricing: 5% below category average .............. 90/100
Compliance: No active contract .................. 60/100
Invoice Accuracy: 85% match rate ................ 70/100
Responsiveness: 3.5 day avg response ............ 55/100
12-Month Spend: $189,000 | Active Contract: No
Risk: HIGH (delivery concerns, no contract)
| Tool | When to Use |
|---|---|
SN-Query-Table | Query vendors, POs, receipts, invoices, contracts, and bids |
SN-NL-Search | Natural language vendor search by category or capability |
SN-Read-Record | Retrieve full vendor profile by sys_id |
| Endpoint | Method | Purpose |
|---|---|---|
/api/now/table/core_company | GET | Query vendor profiles |
/api/now/table/proc_po | GET | Historical PO data per vendor |
/api/now/table/proc_po_item | GET | Line item pricing analysis |
/api/now/table/proc_rec_slip_item | GET | Delivery and quality metrics |
/api/now/table/ast_contract | GET | Active contracts and compliance |
/api/now/table/sn_proc_invoice | GET | Invoice accuracy metrics |
/api/now/table/sn_apo_invoice_case | GET | Invoice exception history |
/api/now/table/proc_negotiation | GET | Bid competitiveness data |
Cause: The vendor is new or has only been used through a different procurement channel
Solution: Check if the vendor exists under alternate names in core_company; review contract records which may predate PO data
Cause: Expected delivery dates may not have been set on POs, or receipts were entered in bulk retroactively
Solution: Filter to POs where expected_delivery is not empty; focus on receipt date vs. PO expected date comparison
Cause: Some dimensions require data from tables that may not be populated for all vendors Solution: Mark dimensions with insufficient data as "N/A" and adjust weights proportionally across remaining dimensions
Cause: Different vendors supply different items, making direct price comparison difficult Solution: Normalize by comparing unit prices for identical or equivalent items (same model/part_number); use category-level average as benchmark
Scenario: Sourcing manager needs to identify top 3 vendors to invite for an IT hardware RFP.
Tool: SN-Query-Table
Parameters:
table_name: core_company
query: vendor=true^vendor_type=IT Hardware^country=US
fields: sys_id,name,vendor_type,city,state,vendor_rating
limit: 20
For each vendor, run Steps 2-5, then score:
Output:
VENDOR SHORTLIST - IT Hardware RFP
Based on 12-month performance analysis:
INVITE LIST:
1. TechSupply Inc (Score: 88.5) - Preferred vendor, strong track record
2. Global Tech Solutions (Score: 82.1) - Good performance, competitive pricing
3. Dell Technologies (Score: 80.9) - Large catalog, reliable delivery
ALTERNATES:
4. Nexus Technologies (Score: 74.3) - Price competitive but delivery concerns
5. CDW Corporation (Score: 73.8) - Limited history, new relationship
NOT RECOMMENDED:
- QuickParts LLC (Score: 58.2) - 3 invoice disputes, 65% on-time delivery
Scenario: Quarterly risk review of top 5 suppliers by spend.
Tool: SN-Query-Table
Parameters:
table_name: proc_po
query: ordered_date>=javascript:gs.beginningOfLastQuarter()^state!=cancelled
fields: vendor,total_cost
limit: 500
Output:
SUPPLIER RISK ASSESSMENT - Q1 2026
| Vendor | Q1 Spend | Concentration | Delivery | Contract | Risk |
|------------------|-----------|---------------|----------|----------|-------|
| TechSupply Inc | $456,000 | 28% | 95% | Active | LOW |
| CloudHost Corp | $312,000 | 19% | 92% | Active | LOW |
| Global Parts Ltd | $245,000 | 15% | 78% | Expiring | HIGH |
| Acme Office | $198,000 | 12% | 88% | Active | MED |
| SecureTech | $167,000 | 10% | 91% | Active | LOW |
ALERTS:
- Global Parts Ltd: Contract expires Apr 15, 2026 - initiate renewal
- Concentration Risk: TechSupply at 28% - consider diversifying
- Global Parts Ltd: 78% on-time delivery trending down from 85% last quarter
Scenario: Compare all office supply vendors against category benchmarks.
Tool: SN-Query-Table
Parameters:
table_name: core_company
query: vendor=true^vendor_type=Office Supplies
fields: sys_id,name,vendor_rating
limit: 10
Output:
CATEGORY BENCHMARK - Office Supplies
Category Average Unit Price Index: 100 (baseline)
Category Average Delivery Rate: 85%
| Vendor | Price Index | Delivery | Quality | Overall | vs Avg |
|----------------|-------------|----------|---------|---------|--------|
| Staples | 98 | 92% | 98% | 82.5 | +8% |
| Office Depot | 95 | 88% | 96% | 80.1 | +5% |
| Amazon Bus. | 88 | 95% | 94% | 79.8 | +5% |
| Regional Sup. | 105 | 78% | 92% | 68.2 | -10% |
INSIGHT: Amazon Business offers lowest pricing and best delivery but lacks
dedicated account management. Staples leads on quality and responsiveness.
procurement/sourcing-summarization - Sourcing event analysis and bid comparisonprocurement/purchase-order-summarization - PO tracking and delivery monitoringprocurement/invoice-management - Invoice matching and exception handlingprocurement/procurement-summarization - Overall procurement operations overview