Solde wallet et allocations cartes
Compare le solde du wallet aux allocations des cartes virtuelles et physiques. Permet une réconciliation partielle des fonds distribués entre les différentes cartes.
81/100·📅 Hebdo·IntermédiaireCFOController
CartesRéconciliationget_wallet_summarylist_cards
🎯 But du skill
Compare le solde du wallet aux allocations des cartes virtuelles et physiques. Permet une réconciliation partielle des fonds distribués entre les différentes cartes.
📊 Ce que ça produit
Résumé du solde wallet, montants alloués aux cartes et écart de réconciliation par devise.
⚡ Bénéfice
Avant
Vérification manuelle dans plusieurs écrans Spendesk pour comparer le solde et les allocations.
Après
Vue consolidée wallet vs cartes en quelques secondes, sans navigation entre écrans.
# Instructions — Solde wallet et allocations cartes
## ⚠️ Format incohérent : list_cards.availableBalance.amount
Tous les tools MCP utilisent la convention `{ amount: int, precision }` où la valeur = `amount / 10^precision`.
**Exception : `list_cards`** — le champ `availableBalance.amount` retourne directement la valeur décimale :
```json
// list_cards — valeur DÉJÀ en EUR :
"availableBalance": { "amount": 91.38, "currency": "EUR", "precision": 2 }
→ balance = 91,38 EUR (NE PAS diviser par 100)
// get_wallet_summary — coefficient entier standard :
"totalAmount": { "amount": 33224769, "currency": "EUR", "precision": 2 }
→ balance = 33 224 769 / 100 = 332 247,69 EUR
```
→ Pour les balances de cartes, utiliser `availableBalance.amount` directement (pas de division).
## ⚠️ Wallet disponible peut être négatif
`totalAvailableAmount` peut être **négatif** sur les comptes démo ou en cas de dépassement de virements programmés. C'est un état valide — interpréter comme "les allocations dépassent le solde actuel".
## ⚠️ allocatedOnCards ≠ somme des availableBalance des cartes actives
Ces deux métriques mesurent des choses différentes :
- `allocatedOnCards.totalAllocatedAmount` = montant réservé dans le wallet pour les cartes (limites de dépense réservées)
- `sum(card.availableBalance)` = montant résiduel que les titulaires peuvent encore dépenser
La différence = montant déjà consommé sur les cartes. Ce n'est **pas** une incohérence — c'est attendu.
## Étape 1 — Wallet snapshot (get_wallet_summary)
```json
{ "companyId": "..." }
```
Champs clés (tous en devise fonctionnelle) :
- `totalAmount` → solde brut du wallet (coefficient entier)
- `totalAvailableAmount` → disponible après toutes allocations (peut être négatif)
- `totalAllocatedAmount` = `allocatedOnCards.totalAllocatedAmount` + `scheduledTransfersAmount.totalScheduledTransferAmount`
- `allocatedOnCards.subscriptionAmount` → réservé sur cartes subscription
- `allocatedOnCards.physicalAmount` → réservé sur cartes physiques
- `allocatedOnCards.singlePurchaseAmount` → réservé sur cartes single-purchase
- `scheduledTransfersAmount.scheduledInvoicesAmount` → virements fournisseurs programmés
## Étape 2 — Cartes actives (list_cards)
```json
{ "companyId": "...", "status": "ACT", "pageSize": 100 }
```
Pour chaque carte active :
- `availableBalance.amount` → solde disponible EN EUROS DIRECTEMENT (pas de formule)
- `spendingLimit` → limite de dépense (peut être null pour les subscriptions sans limite fixe)
- `type` : subscription | physical | single_purchase | multi_use
- `currency` → devise de la carte (peut différer de la devise fonctionnelle)
⚠️ Ne pas sommer des cartes en devises différentes.
## Étape 3 — Interpréter les résultats
Présenter comme suit :
```
Wallet SPENDESK (EUR) au 2026-07-06 :
Solde total : 332 247,69 EUR
Disponible : -511 590,51 EUR ⚠️ (allocations > solde)
Alloué cartes : 491 808,95 EUR
dont subscription : 402 288,42 EUR
dont physiques : 28 872,30 EUR
dont single-use : 4 601,63 EUR
Virements programmés : 352 029,25 EUR
Cartes actives (ACT) : 2 cartes
Subscription #7071 : 91,38 EUR disponible
Subscription #5947 : 9,49 EUR disponible
```
## Exemple live (données réelles)
| Métrique | Valeur |
|----------|--------|
| Solde total | 332 247,69 EUR |
| Disponible | **-511 590,51 EUR** (négatif — test) |
| Alloué cartes | 491 808,95 EUR |
| Virements programmés | 352 029,25 EUR |
| Cartes ACT | 2 (subscriptions uniquement, ~101 EUR disponible) |
## Exemple de prompt
- "Quel est l'état du wallet ?" → get_wallet_summary uniquement
- "Combien reste-t-il sur les cartes actives ?" → list_cards status=ACT + sum availableBalance
- "Y a-t-il des virements programmés en attente ?" → wallet_summary.scheduledTransfersAmount
Comment installer ce skill
/
- 1Télécharger le fichier
s03-wallet-summary-vs-cards.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s03-wallet-summary-vs-cards.md .claude/s03-wallet-summary-vs-cards.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 get_wallet_summary, list_cards.Skills similaires
★ Top