Cartes subscription et lien fournisseur
Liste les cartes virtuelles de type subscription et identifie le fournisseur associé à chacune. Complète l'analyse des abonnements SaaS payés par carte plutôt que par facture.
82/100·📆 Mensuel·IntermédiaireCFOProcurementFinance Analyst
CartesFournisseurslist_cardsget_card
🎯 But du skill
Liste les cartes virtuelles de type subscription et identifie le fournisseur associé à chacune. Complète l'analyse des abonnements SaaS payés par carte plutôt que par facture.
📊 Ce que ça produit
Cartes subscription avec nom du fournisseur résolu, montant autorisé et statut de la carte.
⚡ Bénéfice
Avant
Lien carte-fournisseur impossible à établir depuis la liste des cartes sans cette technique.
Après
Mapping complet cartes subscription ↔ fournisseurs, idéal pour les audits SaaS.
# Cartes subscription et lien fournisseur
## Contexte
`list_cards(type="subscription")` retourne déjà tous les champs d'une carte : id, type, status, owner `{id, label}`, availableBalance, spendingLimit, expiryDate, subscriptionBudget, recurrence, ainsi que supplier, costCenter et request sous forme `{id, label}`.
`get_card(cardId)` retourne exactement les mêmes champs que `list_cards` (même mapping côté serveur). Le fournisseur et le cost center y sont des objets `{id, label}` :
- `supplier` : `{id, label}` du fournisseur lié à la carte (peut être null) — afficher `supplier.label`
- `costCenter` : `{id, label}` du cost center de la carte (peut être null) — afficher `costCenter.label`
Le fournisseur d'une carte subscription est déjà dans `list_cards` (`supplier.label`, avec `supplier.id`) : inutile d'appeler `get_card` carte par carte.
## Workflow en 3 étapes
### Étape 1 — Lister les cartes subscription actives
```json
{
"tool": "list_cards",
"params": {
"companyId": "<companyId>",
"type": "subscription",
"status": "ACT",
"pageSize": 50
}
}
```
Résultat : liste de cartes avec `id`, `owner` (`{id, label}`), `availableBalance`, `expiryDate`, `supplier`, `costCenter`, `subscriptionBudget`.
**Note format :** `availableBalance` est un objet monétaire standard `{ amount, currency, precision, formatted }` : `amount` est un coefficient entier (9138 pour 91,38 EUR). Afficher `formatted` tel quel, comme pour tous les autres tools MCP.
### Étape 2 — Obtenir le détail de chaque carte (supplierId)
Pour chaque cardId d'intérêt :
```json
{
"tool": "get_card",
"params": {
"companyId": "<companyId>",
"cardId": "<cardId>"
}
}
```
Champs utiles pour le lien fournisseur (présents à l'identique dans `list_cards` et `get_card`) :
- `supplier` : `{ id, label }` | null
- `costCenter` : `{ id, label }` | null
### Étape 3 — Résoudre le nom du fournisseur (si supplierId non null)
```json
{
"tool": "get_supplier_by_id",
"params": {
"companyId": "<companyId>",
"id": "<supplier.id>"
}
}
```
## Cas supplierId = null
Sur ce compte de test, les 2 cartes subscription actives n'avaient ni fournisseur ni cost center lié (`supplier: null`, `costCenter: null`). Ce cas est courant : les cartes subscription peuvent être créées sans fournisseur explicitement lié dans Spendesk.
Comportement à anticiper :
- `supplier: null` → aucun fournisseur lié, OU la recherche de la demande liée a échoué (si `request` est aussi null, dire que le fournisseur est indisponible plutôt qu'affirmer que la carte n'en a pas)
- `costCenter: null` → aucun cost center lié, OU la recherche de la demande liée a échoué (même règle que pour `supplier`)
## Différences list_cards vs get_card
| Champ | list_cards | get_card |
|-------|-----------|---------|
| `id` | ✅ | ✅ |
| `type` | ✅ | ✅ |
| `status` | ✅ | ✅ |
| `owner` (`{id, label}`) | ✅ | ✅ |
| `availableBalance` | ✅ | ✅ |
| `spendingLimit` | ✅ | ✅ |
| `lastFourDigits` | ✅ | ✅ |
| `expiryDate` | ✅ | ✅ |
| `supplier` (`{id, label}`) | ✅ | ✅ |
| `costCenter` (`{id, label}`) | ✅ | ✅ |
## Rappels importants
- `list_cards.status` = string simple ("ACT") — un appel par statut (pas de tableau)
- `spendingLimit: null` signifie qu'aucun budget mensuel n'est configuré — cela ne veut pas dire que la carte est sans plafond ; pour une carte subscription, lire le budget dans `subscriptionBudget`
- `availableBalance` est un objet monétaire standard (coefficient entier + `precision` + `formatted`) : afficher `formatted`
- Pour auditer toutes les cartes actives incluant les "réactivées" : deux appels séparés avec `status="ACT"` et `status="REA"`
## Exemples de prompts utilisateur
- "Quelles cartes subscription sont actives et à quel fournisseur sont-elles liées ?"
- "Montre-moi toutes les cartes virtuelles SaaS avec leur solde disponible et le fournisseur associé"
- "Y a-t-il des cartes subscription sans fournisseur lié dans Spendesk ?"
Comment installer ce skill
/
- 1Télécharger le fichier
s31-cartes-subscription-fournisseur.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s31-cartes-subscription-fournisseur.md .claude/s31-cartes-subscription-fournisseur.md - 3Utiliser dans Claude Code — le 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 list_cards, get_card.Skills similaires
★ Top