Sample output from the Supply Chain Risk Exposure Review prompt in the Sonar AI Prompt Library, run against a NetSuite test account. Every name and number here is test data. Back to the post · The library
TD3016323 RISK & RESILIENCE
CONFIDENTIAL — INTERNAL  |  AUGUST 21, 2026
FY2026 Assessment

Supply Chain
Risk Exposure

A quantified analysis of supplier dependency, geographic concentration, and event-driven disruption exposure across the direct procurement portfolio — with a costed mitigation program.

Analysis window
Sep 2025 – Aug 2026 (TTM)
Direct PO spend
$1.28M / 18 vendors
Data source
NetSuite ERP (live)
Prepared via
Sonar AI
Contents
Executive Summary 01Supplier Dependency 02Single-Source Exposure 03Geographic Concentration 04Disruption Scenarios & Expected Loss 05Mitigation Program & Cost–Benefit 06Indirect & Off-PO Exposure AAssumptions & Limitations BSource Queries & Methodology

Executive Summary

What the data says, in four numbers
65.1%
of direct spend ships from one metro area (SF Bay)
64.6%
of spend flows through single-source items
29.0%
largest single-supplier share (Bedline)
1,850
HHI concentration index (moderately concentrated)

The company’s supply risk profile is unusual: international exposure is negligible (0.1% of spend), but domestic concentration is severe along two compounding axes. First, five suppliers carry 87% of direct spend. Second, the four largest of them — Bedline, Broyhill, Generation N, and their peers — cluster in the San Francisco Bay Area, so a single regional event (seismic, fire, grid) does not disrupt one supplier; it disrupts the top of the entire portfolio simultaneously.

Expected annual losses from modeled scenarios are modest in absolute terms (~$5–6K/yr against a $1.28M base) because per-event probabilities are low. The correct management read is tail exposure: a single Bay Area disruption is modeled at $70K+ per event in lost margin and recovery cost, concentrated in the flagship mattress and furniture lines, with reputational cost on top.

The recommended mitigation package (§05) costs approximately $20K one-time plus $12K/yr and cuts the single-source spend share from 65% to roughly 35%, halving modeled tail-event impact. Payback is a single avoided moderate disruption.

Two-thirds of direct spend ships from one seismically active metro area. The portfolio is diversified on paper — and correlated in practice.

Central finding — §03 Geographic Concentration

01Supplier Dependency

Trailing-twelve-month purchase order spend · direct merchandise · 18 active vendors
MetricValueInterpretation
Top-1 share — Bedline29.0%Above the 15–20% single-supplier comfort zone
Top-3 share66.4%High — three vendors carry two-thirds of spend
Top-5 share87.2%Very high
Top-10 share98.3%Long tail is economically negligible
HHI (spend)1,850Moderately concentrated; an even 18-way split would score ~556 — actual concentration is 3.3× the vendor count implies
TTM PO Spend by Vendor — USD thousands
Bedline
$371.3K · 29.0%
Broyhill
$249.4K · 19.5%
The Apparel Co Inc.
$229.2K · 17.9%
Generation N
$202.4K · 15.8%
Lotion Co
$64.0K · 5.0%
Mac Oca & Co.
$52.7K · 4.1%
Johnson Supply
$31.1K · 2.4%
Crown Equipment Corp.
$30.3K · 2.4%
Health and Beauty Supplies
$18.5K · 1.4%
All others (9)
$30.8K · 2.4%
Red highlight: largest dependency. Source: NetSuite transaction/transactionline, type PurchOrd, Sep 2025–Aug 2026. Query Q3, Appendix B.

Cumulative concentration curve

100% 75% 50% 25% 0% 1 2 3 4 5 6 7 8 9 10 equal-split reference 29% 66% 87%
Cumulative share of TTM PO spend by vendor rank (x-axis: top-N vendors). The gap between the red curve and the dashed equal-split reference is the concentration premium.

02Single-Source Exposure

Item-level sourcing depth across 153 purchased items
81 / 153
items with exactly one supplier in purchase history (53%)
$826K
TTM spend through single-source items (64.6%)
$453K
TTM spend with at least one qualified alternate (35.4%)

Single-sourcing is not scattered — it is organized into whole product lines with no alternate supplier ever used:

Product line (single-source)Sole supplierTTM spendNotes
Contour Rhapsody Breeze (7 SKUs) + Patriarch Luxury Firm (4 SKUs) + Box SpringBedline~$290KFlagship mattress assortment; zero alternates in history
Estes Park furniture line (10+ SKUs)Broyhill~$210KChest, chair, ottoman, tables, headboard, nightstand
Leather goods & accessories (satchels, valises, watches, belts)Generation N~$130KHigh-ticket accessory assortment
Selected apparel (Bindel Jacket, Skinny Tinted, blouses)The Apparel Co Inc.~$60KPartially mitigated — other apparel SKUs are dual-sourced
TTM Spend by Sourcing Depth
Single-source (81 items)
$826.2K · 64.6%
Multi-source (72 items)
$453.5K · 35.4%
Sourcing depth = count of distinct vendors on purchase orders per item, full history. Query Q4, Appendix B.

03Geographic Concentration

TTM PO spend by supplier default billing location
TTM PO Spend by Supplier Region — USD thousands
California (SF Bay Area)
$833.1K · 65.1%
Minnesota
$229.2K · 17.9%
New York
$83.8K · 6.6%
Arizona
$72.5K · 5.7%
Colorado
$30.3K · 2.4%
Texas
$20.8K · 1.6%
Ohio
$8.3K · 0.6%
China (Beijing)
$1.5K · 0.1%
Region = vendor default billing address (state). Query Q6, Appendix B.

The California cluster comprises five vendors — Bedline (Oakland), Broyhill (San Mateo), Generation N (San Francisco), Hestra, and Flexsteel (San Jose) — including the portfolio’s #1, #2, and #4 suppliers. This inverts the standard risk playbook: offshore/logistics exposure is negligible, while correlated domestic regional risk is the dominant tail scenario. Seismic, wildfire-smoke, and grid events in the Bay Area would strike suppliers representing nearly two-thirds of the assortment at once.

The compounding effect

The three risk axes are not independent. Bedline is simultaneously the largest supplier (29% of spend), the largest holder of single-source items (~$290K with no alternate), and located inside the Bay Area cluster. Concentration risk multiplies where these circles overlap — a Bay Area event is modeled at $70K+ per occurrence, before reputational cost on the flagship mattress line.

04Disruption Scenarios & Expected Loss

Probability-weighted modeling on TTM exposure — assumptions in Appendix A
ScenarioP (annual)Exposure at riskImpact per eventExpected loss / yr
S1 — Bedline failure or extended stoppage4%$371K cost → ~$631K revenue~$39K~$1.6K
S2 — Broyhill or Apparel Co failure (each)4%~$240K cost each~$26K each~$2.1K combined
S3 — Bay Area regional event (hits 4–5 suppliers simultaneously)1.5%$833K cost → ~$1.42M revenue~$70K+~$1.0K
S4 — Indirect single points (leasing, cloud, key services)5%$424K services~$15K~$0.8K

How to read this. Expected-loss values are small because per-event probabilities are low and the spend base is $1.28M. The decision-relevant number is the per-event impact, especially S3: one event disrupting 65% of the assortment simultaneously breaks the “diversified enough” assumption that holds for uncorrelated supplier failures. Insurance-style reasoning applies — you mitigate S3 for the same reason you buy earthquake cover: tail severity, not expected value.

Measured lead-time caveat. PO→receipt intervals in the ERP average ~0–1.3 days (same-day receipting practice), so they cannot serve as recovery-time estimates. Recovery durations below use industry-standard requalification assumptions (10 weeks single supplier, 8 weeks regional), stated in Appendix A.

05Mitigation Program & Cost–Benefit

Seven options evaluated · four recommended · sequenced in two phases
#ActionOne-timeAnnualBenefitVerdict
1Dual-source the Bedline mattress lines — qualify one alternate for Contour + Patriarch (~$290K/yr flow)$8–12K~$3KCuts S1 per-event impact ~70% ($39K → ~$12K); halves the top vendor’s single-source shareDO FIRST
2Safety stock on top A-class single-source SKUs — 4 weeks extra cover on Box Spring, Estes Park core, Breeze Q/K~$8K carryingConverts a 10-week outage into ~6 weeks across S1–S3; protects ~$50K margin per eventDO (A-items)
3Geographic diversification policy — next qualified furniture/bedding vendor must be outside California$0$0–2KDirectly attacks the 65% Bay Area concentration — the dominant tail riskADOPT NOW
4Close the Generation N off-PO gap — $355K/yr buying outside purchase orders (§06)~2 days$0Restores visibility and controls over ~16% of vendor spend; prerequisite for managing that vendor’s risk at allDO
5Dual-source Broyhill Estes Park + Apparel Co single-source lines$16–24K~$5KReduces S2/S3 residual after actions 1–3PHASE 2
6Contractual protections with top-4 vendors — continuity clauses, 60-day notice, capacity commitments~$5K legal$0Improves warning time; does not itself reduce exposureAT RENEWAL
7Broad multi-sourcing of the long tail (13 vendors, 12.8% of spend)HighHighNegligible — tail exposure is economically immaterialSKIP
Recommended package — actions 1–4

~$20K one-time + ~$12K/yr. Reduces single-source spend share from 65% → ~35%, cuts modeled Bay Area tail-event impact by roughly half, and restores procurement visibility over the largest off-PO spend gap. Payback: one avoided moderate disruption. Phase 2 (action 5) proceeds only after action 1 validates the qualification process.

Sensitivity

The ranking of actions 1–4 is robust to assumption changes: doubling the supplier-failure base rate (4% → 8%) or extending recovery time (10 → 15 weeks) scales all expected losses proportionally without reordering priorities, because the ranking is driven by exposure structure (who is big, single-sourced, and co-located), not by the probability estimates. The only assumption that would materially change the program is the Bay Area event probability — at 5%/yr (vs 1.5%), action 3 escalates from “free policy” to “fund proactive relocation of volume,” i.e., accelerating action 5.

06Indirect & Off-PO Exposure

Vendor-bill spend outside the purchase order system — TTM ~$2.26M total billed
VendorTTM billedTTM PO spendObservation
Generation N$556.7K$202.4K$354K gap — more than half this vendor’s spend bypasses POs (drop-ship or unstructured buying); invisible to PO-based controls
FrisCo US$249.8KRecurring monthly billing; no PO trail; single point for its service
Davidson Leasing$120.0KSingle bill; equipment leasing dependency
Dell US / Brocade$101.0K / $84.2KIT infrastructure; standard replaceable suppliers
Cloud Consulting$53.6KNew relationship (Jul 2026), rapid spend ramp — monitor

Off-PO spend is a control finding as much as a risk finding: dependency ratios computed on POs alone understate true reliance on Generation N (actual TTM relationship: ~$557K, which would make it the largest supplier overall). Action 4 addresses this directly.

AAssumptions & Limitations

Every modeled number is reproducible from these inputs
Modeling assumptions
Data limitations

BSource Queries & Methodology

SuiteQL executed against NetSuite account TD3016323 (production) on August 21, 2026

Q1 — Vendor roster with default billing geography

SELECT v.id, v.entityid, v.companyname, v.isinactive, a.country, a.state, a.city
FROM vendor v
LEFT JOIN entityaddress a ON a.nkey = v.defaultbillingaddress
ORDER BY v.companyname

Q2 — Vendor-bill spend: lifetime and trailing twelve months

SELECT t.entity AS vendor_id, v.entityid AS vendor,
  COUNT(t.id) AS bill_count,
  ROUND(SUM(t.foreigntotal),2) AS lifetime_spend,
  ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
    THEN t.foreigntotal ELSE 0 END),2) AS ttm_spend,
  MIN(t.trandate) AS first_bill, MAX(t.trandate) AS last_bill
FROM transaction t
JOIN vendor v ON t.entity = v.id
WHERE t.type = 'VendBill'
GROUP BY t.entity, v.entityid
ORDER BY SUM(t.foreigntotal) DESC

Q3 — TTM PO spend by product category and vendor

SELECT COALESCE(c.name,'(none)') AS category, v.entityid AS vendor,
  ROUND(SUM(ABS(tl.netamount)),2) AS ttm_po_spend
FROM transactionline tl
JOIN transaction t ON tl.transaction = t.id
JOIN item i ON tl.item = i.id
LEFT JOIN classification c ON i.class = c.id
JOIN vendor v ON t.entity = v.id
WHERE t.type = 'PurchOrd' AND tl.mainline = 'F' AND tl.taxline = 'F'
  AND t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
GROUP BY COALESCE(c.name,'(none)'), v.entityid
ORDER BY COALESCE(c.name,'(none)'), SUM(ABS(tl.netamount)) DESC

Q4 — Item-level sourcing depth (distinct vendors per item) and spend

SELECT i.id AS item_id, i.itemid, i.itemtype,
  COUNT(DISTINCT t.entity) AS vendor_count,
  ROUND(SUM(ABS(tl.netamount)),2) AS po_spend,
  ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
    THEN ABS(tl.netamount) ELSE 0 END),2) AS ttm_po_spend
FROM transactionline tl
JOIN transaction t ON tl.transaction = t.id
JOIN item i ON tl.item = i.id
WHERE t.type = 'PurchOrd' AND tl.mainline = 'F' AND tl.taxline = 'F'
GROUP BY i.id, i.itemid, i.itemtype
ORDER BY SUM(ABS(tl.netamount)) DESC

Q5 — Single-source vs multi-source spend split

SELECT src.bucket, COUNT(*) AS items, ROUND(SUM(src.ttm),2) AS ttm_spend
FROM (
  SELECT i.id, CASE WHEN COUNT(DISTINCT t.entity) = 1
      THEN 'single-source' ELSE 'multi-source' END AS bucket,
    SUM(CASE WHEN t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
      THEN ABS(tl.netamount) ELSE 0 END) AS ttm
  FROM transactionline tl
  JOIN transaction t ON tl.transaction = t.id
  JOIN item i ON tl.item = i.id
  WHERE t.type = 'PurchOrd' AND tl.mainline = 'F' AND tl.taxline = 'F'
  GROUP BY i.id
) src
GROUP BY src.bucket

Q6 — Geographic concentration of TTM PO spend

SELECT COALESCE(a.state,'(unknown)') AS state, COALESCE(a.country,'(unknown)') AS country,
  COUNT(DISTINCT v.id) AS vendors,
  ROUND(SUM(ABS(tl.netamount)),2) AS ttm_po_spend
FROM transactionline tl
JOIN transaction t ON tl.transaction = t.id
JOIN vendor v ON t.entity = v.id
LEFT JOIN entityaddress a ON a.nkey = v.defaultbillingaddress
WHERE t.type = 'PurchOrd' AND tl.mainline = 'F' AND tl.taxline = 'F'
  AND t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
GROUP BY COALESCE(a.state,'(unknown)'), COALESCE(a.country,'(unknown)')
ORDER BY SUM(ABS(tl.netamount)) DESC

Q7 — Open PO pipeline by vendor (in-flight exposure)

SELECT v.entityid AS vendor, t.status,
  COUNT(t.id) AS open_pos, ROUND(SUM(t.foreigntotal),2) AS open_po_value
FROM transaction t
JOIN vendor v ON t.entity = v.id
WHERE t.type = 'PurchOrd' AND t.status IN ('A','B')  -- A=Pending Receipt, B=Partially Received
GROUP BY v.entityid, t.status
ORDER BY SUM(t.foreigntotal) DESC

Q8 — PO→receipt lead-time proxy (found non-informative; see Appendix A)

SELECT v.entityid AS vendor, COUNT(DISTINCT r.id) AS receipts,
  ROUND(AVG(r.trandate - po.trandate),1) AS avg_lead_days,
  MAX(r.trandate - po.trandate) AS max_lead_days
FROM transaction r
JOIN transactionline rl ON rl.transaction = r.id AND rl.mainline = 'F'
JOIN transaction po ON rl.createdfrom = po.id AND po.type = 'PurchOrd'
JOIN vendor v ON po.entity = v.id
WHERE r.type = 'ItemRcpt'
GROUP BY v.entityid
ORDER BY AVG(r.trandate - po.trandate) DESC

Computed metrics

Formulas
Disclosure. Prepared August 21, 2026 by Sonar AI from live NetSuite ERP data (account TD3016323, production). All spend figures are transaction-currency USD as recorded; vendor bills stored as negative GL amounts are presented as positive spend. Scenario probabilities and recovery durations are stated assumptions, not statistical estimates from account data, and should be reviewed by management before use in capital-allocation decisions. This document is confidential and intended for internal management use only. Analysis window: September 1, 2025 – August 21, 2026 unless otherwise noted.

TD3016323 · Risk & Resilience · Supply Chain Risk Exposure FY2026 · Built with Sonar