Supplier negotiation dossier

Builds a complete dossier on a target supplier before renegotiation: purchase volume, trends, payment terms practiced, and commercial leverage.

↓ Download skill (.md)
85/100Β·πŸ” Ad hocΒ·IntermediateProcurementCFO
SuppliersSpend analysisget_supplier_by_idget_payablesget_purchase_ordersspendesk_analyze_spend

🎯 Skill purpose

Builds a complete dossier on a target supplier before renegotiation: purchase volume, trends, payment terms practiced, and commercial leverage.

πŸ“Š What it produces

Supplier profile with key figures (volume, growth, DPO, rank), quantified negotiation leverage, and suggested renegotiation targets.

⚑ Benefit

Before

The buyer enters negotiations without precise data, weakening their position against a well-prepared sales rep.

After

Complete negotiation dossier prepared in minutes, with data-backed arguments to secure the best terms.



# Supplier negotiation file

## Purpose
Build a complete file on a supplier before a renegotiation: purchase volume, order regularity, price evolution, payment terms, and portfolio concentration. Identify negotiation levers (volume, loyalty, possible diversification).

## Instructions

### Step 1 β€” Identify the target supplier
```
Get the name or ID of the supplier to analyze.
If name β†’ call get_suppliers with a filter on the name to find the ID.
If ID β†’ call get_supplier_by_id directly.

Retrieve: id, name, iban, bankCountry, email, createdAt.
```

### Step 2 β€” Purchase history (12 months)
```
Call get_payables with:
  - supplierId: supplier ID
  - firstCreatedAt: last 12 months

For each invoice: amount, currency, invoiceDate, paymentDate, status, invoiceNumber.

Calculate:
  Total volume over 12 months
  Last 6 months vs previous 6 months β†’ trend (increase / stable / decrease)
  Number of invoices
  Average amount per invoice
  Frequency: monthly / quarterly / irregular
```

### Step 3 β€” Analysis of associated POs

⚠️ **Corrected wrong fields**: `get_purchase_orders` has no `budgetAmount`/`invoicedAmount` fields. The real fields are `amount` (approved budget), `billedAmount` (invoiced to date), `deliveredAmount`, `netAmount` (billed net of credit notes), `status` (`open`/`closed`/`cancelled`). The supplier filter is a top-level `supplierIds` (array) parameter, not a nested filter.

```
Call get_purchase_orders with supplierIds: [<supplier id>].

For each PO: amount, billedAmount, deliveredAmount, status.
Calculate:
  Consumption rate = billedAmount / amount
  Adherence to PO budgets (billedAmount > amount = overrun)
  Open POs (status="open") with remaining commitment (amount - billedAmount)
```

### Step 4 β€” Supplier concentration analysis
```
Call spendesk_analyze_spend with groupBy: supplier for the last 12 months.
Calculate:
  This supplier's share of total global spend = supplier_spend / total_spend Γ— 100
  Rank: this supplier is the Xth most important

Context:
  If share > 5% of total spend β†’ strategic supplier (dependency to limit)
  If 1-5% β†’ important supplier (volume leverage)
  If < 1% β†’ secondary supplier (little leverage)
```

### Step 5 β€” Calculate negotiation levers
```
Calculate and present:
  πŸ’ͺ Volume lever: total annual volume in €
  πŸ“ˆ Growth lever: % YoY volume increase
  πŸ”„ Loyalty lever: relationship tenure (createdAt) + number of consecutive active years
  πŸ’³ Cash lever: average DPO (payment terms practiced)
    β†’ "We pay you in X days on average β€” below industry norm?"
  πŸ”€ Alternatives lever: `get_suppliers` exposes no tag or industry category β€” it's not possible to identify "similar" suppliers this way via the MCP.
    β†’ Fall back to a name search (`search`) if alternatives are already known, otherwise treat this lever qualitatively with the business teams
```

### Step 6 β€” Negotiation report
```
Present:
πŸ“‹ Supplier profile: name, country, tenure, contact

πŸ“Š Key figures:
   Volume 12 months: X€ | Growth: Β±X% | Rank: #X
   Nb invoices: X | Average amount: X€/invoice
   DPO practiced: X days

πŸ’ͺ Negotiation levers:
   1. Annual volume X€ β†’ request volume discount X%
   2. Growth X% β†’ justify better terms
   3. Loyalty X years β†’ request strategic customer pricing
   4. DPO X days β†’ propose fast payment in exchange for early payment discount

🎯 Suggested negotiation targets:
   Target price reduction: X%
   Estimated annual savings: X€
```

## Points of attention
- Unit prices are not available in Spendesk β€” the % negotiation is based on overall volume
- `get_purchase_orders` has no `budgetAmount`/`invoicedAmount` fields β€” use `amount`/`billedAmount`
- `get_suppliers` has no tag or industry category β€” the "alternatives" lever stays qualitative
- Check with the business teams whether the relationship is strategic before threatening to diversify
- The early payment discount is often easier to obtain than structural rebates

## Example prompts
- "Prepare my negotiation file to renew our contract with [Supplier X]"
- "What are our levers to renegotiate with this supplier?"
- "Analyze our business relationship with [Supplier X] over the last 12 months"

How to install this skill

/
  1. 1
    Download the file s60-supplier-negotiation.md using the button above.
  2. 2
    Place the file in the .claude/ directory of your project (or ~/.claude/ for a global install).
    cp s60-supplier-negotiation.md .claude/s60-supplier-negotiation.md
  3. 3
    Use in Claude Code β€” the skill is automatically discovered. Describe your need in natural language and Claude will apply the skill instructions.
πŸ’‘ Make sure the Spendesk MCP is configured in your .claude/settings.json with the tools get_supplier_by_id, get_payables, get_purchase_orders, spendesk_analyze_spend.

Similar skills

β˜… Top
95/100Β·πŸ” Ad hocΒ·Expert

MCP coverage audit & gap analysis

Probes all available MCP tools, re-evaluates coverage of 50 persona use cases, detects new fields or tools, and regenerates the gap analysis report.

CFOControllerAP Manager
90/100Β·πŸ” Ad hocΒ·Intermediate

Active vs archived cost centers

Distinguishes active cost centers from archived ones with correct use of get_cost_centers. Avoids the counter-intuitive isArchived vs isActive naming convention pitfall.

ControllerFinance Analyst
β˜… Top
89/100Β·πŸ” Ad hocΒ·Intermediate

Skill Builder

Aide un client Γ  transformer un besoin mΓ©tier prΓ©cis (contexte, contraintes, format de sortie souhaitΓ©) en un nouveau skill Claude sur mesure, prΓͺt Γ  l'emploi sur le MCP Spendesk

CFOControllerAP Manager