Wallet balance agrégée multi-entités

Agrège les balances wallet de toutes les entités du groupe en une vue consolidée. Utilise list_companies puis get_wallet_summary pour chaque entité.

↓ Télécharger le skill (.md)
86/100·📅 Hebdo·IntermédiaireCFO
Multi-entitésRapportslist_companiesget_wallet_summary

🎯 But du skill

Agrège les balances wallet de toutes les entités du groupe en une vue consolidée. Utilise list_companies puis get_wallet_summary pour chaque entité.

📊 Ce que ça produit

Balance wallet consolidée du groupe avec détail par entité juridique et devise.

Bénéfice

Avant

Vérification de la trésorerie entité par entité — longue et fastidieuse à consolider.

Après

Vue trésorerie consolidée du groupe en un seul prompt Claude, toutes entités agrégées.



# Wallet balance agrégée multi-entités

## Prérequis : token org-level

Ce workflow nécessite un **token org-level** (pas company-scoped). Avec un token company-scoped, `list_companies` retourne uniquement l'entité courante avec `name: null`.

## Workflow en 2 étapes

### Étape 1 — Lister toutes les entités

```json
{
  "tool": "list_companies",
  "params": {}
}
```

Retourne la liste des entités accessibles : `{ id, name }` par entité.

Exemple (11 entités sur ce compte) :
```json
[
  { "id": "B1stUp83",      "name": "SPENDESK" },
  { "id": "Hx1N5m87M",    "name": "Spendesk Limited" },
  { "id": "RRbRgeIB7X",   "name": "Spendesk GmbH" },
  { "id": "pD0gYhOK75T",  "name": "Spendesk Inc." },
  ...
]
```

### Étape 2 — Obtenir le wallet de chaque entité

Pour chaque `companyId` retourné :
```json
{
  "tool": "get_wallet_summary",
  "params": {
    "companyId": "<id de l'entité>"
  }
}
```

## Piège : list_companies ne garantit pas l'accès à toutes les entités

`list_companies` liste toutes les entités **connues** du token, mais `get_wallet_summary` peut retourner `"Failed to verify user company membership"` pour certaines d'entre elles si le token n'a pas les droits d'accès complets.

→ Toujours gérer l'erreur pour chaque appel individuel. Continuer avec les entités accessibles, signaler les inaccessibles.

Exemple observé sur ce compte : `pD0gYhOK75T` (Spendesk Inc.) → erreur, malgré son apparition dans `list_companies`.

## Données observées

### SPENDESK (EUR, B1stUp83)
- `totalAmount` : **-511 590 EUR** (balance négative — allocations > solde)
- `currency` : EUR

### Spendesk Limited (GBP, Hx1N5m87M)
- `totalAmount` : 75 662 GBP
- `totalAvailableAmount` : 49 941 GBP
- `totalAllocatedAmount` : 25 720 GBP
  - subscription: 4 983 GBP
  - physical: 7 238 GBP
  - singlePurchase: 1 395 GBP

## Devises différentes — NE PAS sommer sans conversion

Chaque entité a sa propre devise fonctionnelle. Pour agréger en une seule devise (ex: EUR), il faut appliquer les taux de change — **non fournis par le MCP Spendesk**. La conversion est à gérer côté client.

→ Pour une vue consolidée en EUR : présenter chaque entité dans sa propre devise, ou injecter les taux de change depuis une source externe.

## Structure de get_wallet_summary

```json
{
  "id": "companyId",
  "name": "Nom de l'entité",
  "status": "active",
  "currency": "EUR",
  "totalAmount": { "amount": -51159000, "currency": "EUR", "precision": 2 },
  "totalAvailableAmount": { "amount": ..., "currency": "EUR", "precision": 2 },
  "totalAllocatedAmount": { "amount": ..., "currency": "EUR", "precision": 2 },
  "allocatedOnCards": {
    "subscriptionAmount": { ... },
    "physicalAmount": { ... },
    "singlePurchaseAmount": { ... },
    "totalAllocatedAmount": { ... }
  },
  "scheduledTransfersAmount": {
    "scheduledExpenseClaimsAmount": { ... },
    "scheduledInvoicesAmount": { ... },
    "totalScheduledTransferAmount": { ... }
  }
}
```

`totalAmount` peut être **négatif** — c'est un état valide quand les allocations cartes dépassent le solde actuel (découvert temporaire en attente d'approvisionnement).

## Exemples de prompts utilisateur

- "Quel est le solde wallet disponible pour chaque entité du groupe ?"
- "Donne-moi une vue consolidée de la trésorerie Spendesk sur toutes les entités"
- "Quelles entités ont un wallet en négatif ?"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s42-wallet-multi-entites.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 s42-wallet-multi-entites.md .claude/s42-wallet-multi-entites.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 list_companies, get_wallet_summary.

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
★ 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
★ Top
87/100·📆 Mensuel·Débutant

Tendance mensuelle des dépenses

Visualise l'évolution mensuelle des dépenses de l'entreprise triées chronologiquement. Particulièrement utile pour les revues de performance budgétaire et la détection de tendances.

CFOFinance Analyst