Audit des bons de commande inactifs

Identifie les bons de commande ouverts sans activité récente pour libérer les engagements budgétaires fictifs et relancer les fournisseurs en retard.

↓ Télécharger le skill (.md)
78/100·📆 Mensuel·DébutantProcurementController
Budget & POsRéconciliationget_purchase_ordersget_payablesget_suppliers

🎯 But du skill

Identifie les bons de commande ouverts sans activité récente pour libérer les engagements budgétaires fictifs et relancer les fournisseurs en retard.

📊 Ce que ça produit

Rapport des POs inactifs par catégorie (> 90j, expirés, nouveaux non utilisés) avec engagement budgétaire immobilisé et actions recommandées.

Bénéfice

Avant

Des dizaines de POs ouverts inactifs immobilisent du budget et faussent les projections financières sans que personne ne s'en aperçoive.

Après

Nettoyage régulier du portefeuille PO, engagements budgétaires fiables et suivi proactif des livraisons en retard.



# Audit des bons de commande inactifs

## But
Identifier les bons de commande (POs) ouverts qui n'ont pas eu d'activité facturation récente. Les POs inactifs immobilisent des engagements budgétaires, faussent les projections, et signalent des livraisons non reçues ou des fournisseurs à relancer.

## Instructions

### Étape 1 — Récupérer tous les POs ouverts
```
Appelle get_purchase_orders avec status=open (ou pending, actif).
Pour chaque PO : noter id, supplierId, budgetAmount, invoicedAmount, 
currency, startDate, expectedDeliveryDate, description.

Calculer pour chaque PO :
  montantRestant = budgetAmount - invoicedAmount
  tauxEngagement = invoicedAmount / budgetAmount × 100
  âge = aujourd'hui - startDate (en jours)
```

### Étape 2 — Identifier les POs inactifs
```
Un PO est "inactif" si aucune facture reçue dans les X derniers jours.

Pour chaque PO :
  Appelle get_payables avec :
    - supplierId du PO
    - firstCreatedAt > startDate du PO
  Si aucun payable récent (60 derniers jours) → PO potentiellement inactif

Catégories d'inactivité :
  🔴 Inactif > 90 jours : aucune facture depuis 3 mois
  🟡 Inactif 60-90 jours : à surveiller
  ⚠️ PO expiré : expectedDeliveryDate dépassée mais non clôturé
  📦 PO neuf non utilisé : startDate < 30 jours, tauxEngagement = 0%
```

### Étape 3 — Résoudre les fournisseurs concernés
```
Pour les POs inactifs et expirés :
  Appelle get_supplier_by_id pour chaque supplierId unique.
  Récupérer : name, email (pour relance potentielle).
```

### Étape 4 — Calculer l'impact budgétaire
```
Pour chaque catégorie :
  Total engagements bloqués = somme des montantsRestants des POs inactifs
  Cet engagement budgétaire est fictif et peut être libéré si les POs sont clôturés.
```

### Étape 5 — Rapport POs inactifs
```
Présenter :
1. Vue d'ensemble :
   POs ouverts total : X | Actifs : X | Inactifs : X
   Engagement budgétaire immobilisé : X€

2. 🔴 POs inactifs > 90j :
   Fournisseur | Montant PO | Restant | Dernier paiement | Âge | Action

3. ⚠️ POs expirés (date dépassée, non clôturés) :
   Fournisseur | Montant PO | Date expiration | Restant

4. 🟡 POs 60-90j sans activité :
   Fournisseur | Montant PO | Restant

5. Recommandations :
   - Clôturer les POs > 90j inactifs
   - Relancer les fournisseurs des POs expirés
   - Vérifier les livraisons non facturées
```

## Points d'attention
- Le matching PO → Facture est fait par supplierId, pas par référence PO directe (limitation MCP)
- Un fournisseur peut avoir plusieurs POs actifs — l'inactivité peut être normale si une autre commande est en cours
- Ne jamais clôturer un PO sans vérifier avec le demandeur que la livraison est bien abandonnée

## Exemples de prompts
- "Quels bons de commande sont ouverts sans activité depuis plus de 3 mois ?"
- "Audite mes POs ouverts et identifie ceux à clôturer"
- "Combien de budget est immobilisé dans des POs inactifs ?"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s59-inactive-pos.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 s59-inactive-pos.md .claude/s59-inactive-pos.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_purchase_orders, get_payables, get_suppliers.

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
90/100·🔍 Ponctuel·Intermédiaire

Cost centers actifs vs archivés

Distingue les centres de coût actifs des archivés via le bon usage de get_cost_centers. Évite le piège de la convention de nommage isArchived vs isActive qui est contre-intuitive.

ControllerFinance Analyst