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.
🎯 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
- 1Télécharger le fichier
s32-get-requests-cartes-uniquement.mdvia le bouton ci-dessus. - 2Placer 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 - 3Utiliser dans Claude Code — le skill est automatiquement découvert. Décrivez votre besoin en langage naturel et Claude appliquera les instructions du skill.
.claude/settings.json avec les outils get_requests.