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.

↓ Télécharger le skill (.md)
90/100·📅 Hebdo·DébutantControllerFinance Analyst
CartesConformitéget_requests

🎯 But du skill

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.

📊 Ce que ça produit

Demandes de carte filtrées par statut avec explication de l'absence des remboursements.

⚡ Bénéfice

Avant

Confusion entre demandes de carte et remboursements de frais dans get_requests — résultats erronés.

Après

Utilisation correcte de get_requests pour les cartes, sans résultats parasites.



# Instructions — Demandes de carte via get_requests

## ⚠️ Périmètre strict

`get_requests` retourne **uniquement** les demandes de carte :
- `single_purchase` — achat unique
- `subscription` — abonnement
- `multi_use_card` — carte multi-usage
- `multi_use_card_top_up` — rechargement carte
- `multi_use_card_end_date_change` — prolongation carte
- `card_load` — chargement carte physique

**NON inclus** (périmètre différent dans Spendesk) :
- Remboursements de frais (expense claims) → visibles dans `get_payables` avec `payableType=expenseClaim`
- Demandes de factures fournisseurs → visibles dans `get_invoices` avec `approvalStatus=["pending"]` (détail et chaîne d'approbation via `get_invoice_by_id`)

## Étape 1 — Identifier la compagnie

Appelle `list_companies`.

## Étape 2 — Récupérer les demandes

### Demandes en attente d'approbation
```json
{ "companyId": "...", "state": "pending" }
```

### Toutes les demandes (tous états)
```json
{ "companyId": "..." }
```

États disponibles : `pending` | `approved` | `refused` | `expired` | `cancelled` | `incomplete` | `draft` | `rejected_by_controller` | `supplier_disputed`

## Étape 3 — Interpréter les montants

Chaque request retourne :
- `requestedAmount` : montant en devise d'origine de la demande
- `amountInFunctionalCurrency` : montant en devise fonctionnelle de la compagnie → utiliser pour les comparaisons

⚠️ `isForeignCurrency=false` signifie **soit** que la devise est identique à la devise fonctionnelle **soit** que la demande n'a pas de montant (ex: prolongation de date). Elle vaut aussi `false` sur une demande en devise étrangère dont la conversion est indisponible. Ne lire `false` comme « même devise » que si `requestedAmount` ET `amountInFunctionalCurrency` sont tous deux non nuls.

## Étape 4 — Filtrer par devise

Si l'utilisateur veut "les demandes en EUR inférieures à 100 EUR" :
- Passer `currency="EUR"` + `maxAmount=100`
- **Toujours informer** : les demandes soumises dans d'autres devises sont **exclues silencieusement** du résultat

## Étape 5 — Présenter les résultats

Pour chaque demande :
- Type de demande + état
- Montant demandé (avec devise)
- Demandeur (requesterId → résoudre via `get_users` si besoin)
- Description (free-text du demandeur, peut être null)
- Cost center (costCentreId, peut être null)

## Orientation si la question porte sur les remboursements

Si l'utilisateur cherche les remboursements de frais en attente :
→ "Aucun outil ne liste les demandes de remboursement en attente d'approbation. Les notes de frais déjà créées se lisent dans les payables de type `expenseClaim` ; `bookkeepingStatus=toPrepare` signifie « pas encore préparée pour l'export comptable », pas « en attente d'approbation »."

Appelle `get_payables` avec, dans le paramètre `filters` :
```json
{
  "operator": "and",
  "subfilters": [
    { "field": "payableType", "operator": "=", "value": ["expenseClaim"] },
    { "field": "bookkeepingStatus", "operator": "=", "value": ["toPrepare"] }
  ]
}
```

## Exemple de prompt

- "Quelles demandes de carte sont en attente d'approbation ?" → state=pending
- "Montre les demandes d'abonnement approuvées ce mois-ci" → type=subscription, state=approved
- "Quelles demandes de remboursement sont en attente ?" → orienter vers get_payables

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s32-get-requests-cartes-uniquement.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 s32-get-requests-cartes-uniquement.md .claude/s32-get-requests-cartes-uniquement.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 get_requests.

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
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
★ 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

Interested in AI Agent services or Custom Integrations?