Vieillissement des demandes d'achat (Purchase Requests Aging)

Analyse les demandes d'achat en attente par ancienneté, identifie les goulots d'approbation et mesure les délais de traitement moyens.

↓ Télécharger le skill (.md)
80/100·📅 Hebdo·DébutantProcurementAP Manager
Budget & POsConformitéget_requestsget_cost_centersget_users

🎯 But du skill

Analyse les demandes d'achat en attente par ancienneté, identifie les goulots d'approbation et mesure les délais de traitement moyens.

📊 Ce que ça produit

Rapport de vieillissement des demandes par tranche d'ancienneté, top demandes les plus anciennes, centres de coût bloqués, et délai moyen d'approbation.

Bénéfice

Avant

Les demandes en attente longue durée ne sont repérées qu'en cas de relance du demandeur, créant des frustrations et des retards opérationnels.

Après

Visibilité complète sur les demandes bloquées avec escalade proactive, réduisant les délais de traitement et améliorant l'expérience demandeur.



# Vieillissement des demandes d'achat (Purchase Requests Aging)

## But
Analyser les demandes d'achat (purchase requests) en attente d'approbation ou de traitement. Identifier les demandes "en souffrance", mesurer les délais moyens d'approbation par niveau, et localiser les goulots d'étranglement dans le workflow.

## Instructions

### Étape 1 — Récupérer les demandes en attente
```
Appelle get_requests avec :
  - status : pending (ou submitted, awaiting_approval — selon les statuts disponibles)
  - Pagination pour récupérer toutes les demandes ouvertes

Pour chaque demande : id, requestedById, amount, currency, createdAt, 
updatedAt, status, costCenterId, description.

Calculer l'âge : aujourd'hui - createdAt (en jours).
```

### Étape 2 — Classer par ancienneté (aging buckets)
```
Classer les demandes en attente par ancienneté :
  🔴 Critique : > 30 jours sans avancement
  🟠 Urgent : 15-30 jours
  🟡 À surveiller : 7-14 jours
  🟢 Récent : < 7 jours (normal)

Pour chaque bucket : nombre de demandes, montant total.
```

### Étape 3 — Analyse par centre de coût
```
Pour les demandes en attente :
  Grouper par costCenterId
  Calculer : nb demandes en attente + montant total + âge moyen par CC

Appelle get_cost_centers pour résoudre les noms.

Identifier : quel centre de coût a le plus de demandes bloquées ?
```

### Étape 4 — Analyser les délais de traitement (demandes récemment traitées)
```
Appelle get_requests avec :
  - status : approved ou rejected (demandes traitées)
  - updatedAt : 30 derniers jours

Pour chaque demande traitée : 
  délai_traitement = updatedAt - createdAt (jours)

Calculer :
  Délai moyen d'approbation global
  Délai médian
  % traité en < 48h | < 7j | < 14j | > 14j

Comparer : les demandes récemment bloquées ont-elles un délai en hausse vs historique ?
```

### Étape 5 — Identifier les goulots d'étranglement
```
Pour les demandes > 30 jours :
  Appelle get_users pour les requestedById et voir si un pattern émerge :
    - Sont-elles toutes d'une même équipe ?
    - Sont-elles dans un même centre de coût ?
    - Y a-t-il un approbateur commun potentiellement absent ?

Demandes à montant élevé bloquées : > 5 000€ depuis > 15 jours → risque opérationnel
```

### Étape 6 — Rapport aging
```
Présenter :
1. Vue d'ensemble :
   Total demandes en attente : X (X€)
   Délai moyen d'approbation (30 derniers jours traités) : X jours
   
2. Aging buckets :
   🔴 > 30j : X demandes (X€)
   🟠 15-30j : X demandes (X€)
   🟡 7-14j : X demandes (X€)
   🟢 < 7j : X demandes (X€)

3. Top 5 demandes les plus anciennes :
   Demandeur | Montant | Âge (jours) | Centre de coût | Description

4. Centres de coût avec le plus de demandes bloquées :
   Équipe | Nb en attente | Montant total | Âge moyen

5. Actions recommandées :
   - Demandes > 30j : escalade urgente vers manager
   - Demandes > 5 000€ depuis > 15j : traitement prioritaire
   - Identifier si un approbateur est en congé / absent
```

## Points d'attention
- Les délais d'approbation acceptables varient selon le montant (< 500€ : 24h, > 5 000€ : 5j)
- Certaines demandes peuvent être bloquées volontairement (budget freeze, décision stratégique)
- Ne pas interpréter un vieillissement isolé — regarder les patterns globaux

## Exemples de prompts
- "Quelles demandes d'achat attendent une approbation depuis trop longtemps ?"
- "Quel est le délai moyen d'approbation de nos purchase requests ?"
- "Y a-t-il des demandes urgentes bloquées que je dois traiter en priorité ?"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s62-procurement-requests-aging.md via le bouton ci-dessus.
  2. 2
    Placer le fichier dans le répertoire .claude/ de votre projet (ou ~/.claude/ pour une installation globale).
    cp s62-procurement-requests-aging.md .claude/s62-procurement-requests-aging.md
  3. 3
    Utiliser dans Claude Codele skill est automatiquement découvert. Décrivez votre besoin en langage naturel et Claude appliquera les instructions du skill.
💡 Assurez-vous que le MCP Spendesk est configuré dans votre .claude/settings.json avec les outils get_requests, get_cost_centers, get_users.

Skills similaires

★ Top
95/100·🔍 Ponctuel·Expert

Audit de couverture MCP — Gap analysis automatisée

Sonde tous les outils MCP disponibles, re-évalue la couverture des 50 cas d'usages persona, détecte les nouveaux champs ou outils, et régénère le rapport d'analyse des gaps.

CFOControllerAP Manager
90/100·📅 Hebdo·Débutant

Demandes de carte via get_requests

Explique comment utiliser get_requests pour les demandes de carte et pourquoi les remboursements de frais n'y apparaissent pas. Évite une source de confusion fréquente entre deux workflows distincts.

ControllerFinance Analyst
★ Top
88/100·🔍 Ponctuel·Débutant

MCP Product Tour

Visite guidée conversationnelle du MCP Spendesk — appels réels sur les données de l'utilisateur, adaptée à sa persona, puis recommandation des prochains skills à installer

CFOControllerAP Manager