Consolider la trésorerie du groupe

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é.

CFO📅 HebdoIntermédiaireLecture seule

Demandez-le comme ça

Quel est le solde wallet disponible pour chaque entité du groupe ?

Quand l'utiliser

Quand vous voulez une vue d'ensemble de la trésorerie Spendesk sur toutes les entités du groupe, avec un accès au niveau de l'organisation.

Ce que ça produit

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

Comment ça se déroule

  1. 1Liste toutes les entités juridiques du groupe
  2. 2Relève le solde du wallet de chaque entité
  3. 3Distingue le montant disponible des montants alloués aux cartes
  4. 4Repère les entités dont le solde est négatif
  5. 5Signale les entités auxquelles il n'a pas accès
  6. 6Présente chaque solde dans sa devise, sans les additionner

Ce qui vous protège

  • Ce skill ne fait que lire : il ne modifie rien dans Spendesk
  • Il agit avec vos permissions et votre rôle, jamais au-delà
  • L'assistant ne peut ni approuver ni payer
▸Détail technique86/100 · 2 outils
Multi-entitésRapportslist_companiesget_wallet_summary

# 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 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_companies, get_wallet_summary.

Skills similaires

★ Top
95/100·🔍 Ponctuel·Expert

Auditer la couverture du MCP

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

Créer un skill sur mesure

Transforme un besoin métier précis en un nouveau skill Claude sur mesure, prêt à l'emploi sur le MCP Spendesk.

CFOControllerAP Manager
★ Top
88/100·🔍 Ponctuel·Débutant

Découvrir le MCP Spendesk en deux minutes

Visite guidée conversationnelle du MCP Spendesk avec de vrais appels sur les données de l'utilisateur, adaptée à sa persona.

CFOControllerAP Manager

Interested in AI Agent services or Custom Integrations?