Dépenses carte au-dessus d'un seuil de montant
Filtre les transactions carte au-dessus d'un seuil défini pour identifier les dépenses exceptionnelles. Utile pour les revues de contrôle interne et les alertes de dépassement.
85/100·📅 Hebdo·IntermédiaireCFOControllerFinance Analyst
CartesConformitéget_payables
🎯 But du skill
Filtre les transactions carte au-dessus d'un seuil défini pour identifier les dépenses exceptionnelles. Utile pour les revues de contrôle interne et les alertes de dépassement.
📊 Ce que ça produit
Liste des transactions carte dépassant le seuil avec montant, employé, date et description.
⚡ Bénéfice
Avant
Export des transactions puis filtre manuel dans Excel pour identifier les montants élevés.
Après
Transactions anormales filtrées instantanément, prêtes pour la revue de contrôle.
# Dépenses carte au-dessus d'un seuil de montant
## Pattern : filtre composé AND [payableType + grossAmount]
Ce filtre composé **fonctionne correctement** dans `get_payables` (contrairement au filtre [payableType + bookkeepingStatus] — voir skill S11 pour le bug).
```json
{
"companyId": "<companyId>",
"filters": {
"operator": "and",
"subfilters": [
{
"field": "payableType",
"operator": "=",
"value": ["singleCardPurchase", "physicalCardPurchase"]
},
{
"field": "grossAmount",
"operator": ">",
"value": 500
}
]
},
"pageSize": 20
}
```
## ⚠️ Format du filtre grossAmount : valeur DÉCIMALE en EUR
- `value: 500` = 500 EUR — format décimal
- **Pas** `50000` (coefficient entier comme dans les champs `amount` de la réponse)
- Le filtre s'applique sur le `functionalAmount` (EUR) — les dépenses USD sont converties avant comparaison
| Filtre souhaité | Valeur correcte | Valeur incorrecte |
|-----------------|-----------------|-------------------|
| > 500 EUR | `value: 500` | `value: 50000` |
| > 1 000 EUR | `value: 1000` | `value: 100000` |
| > 2 500 EUR | `value: 2500` | `value: 250000` |
Rappel : dans la réponse, `amount.amount = 50000` avec `precision: 2` = 500 EUR.
## Types de payables cartes
| Type | Description |
|------|-------------|
| `singleCardPurchase` | Achat sur carte virtuelle à usage unique |
| `physicalCardPurchase` | Achat sur carte physique (paiement en magasin / terminal) |
| `subscriptionPurchase` | Achat récurrent sur carte de souscription |
→ Pour capturer TOUS les achats carte : inclure les 3 types dans `value`.
## Opérateurs disponibles sur grossAmount
| Opérateur | Signification |
|-----------|---------------|
| `>` | Strictement supérieur |
| `>=` | Supérieur ou égal |
| `<` | Strictement inférieur |
| `<=` | Inférieur ou égal |
| `=` | Égal exactement |
## spendingAmount ≠ amount (piège)
Sur les dépenses carte, `spendingAmount` est le **plafond de la carte**, pas le montant réellement dépensé :
```json
{
"amount": { "amount": 329700, "currency": "EUR", "precision": 2 }, // 3 297 EUR réels
"spendingAmount": { "amount": 450000, "currency": "EUR", "precision": 2 } // 4 500 EUR = plafond carte
}
```
→ Toujours utiliser `amount` (ou `functionalAmount` pour les multi-devises) pour analyser les montants dépensés.
→ `spendingAmount` = plafond autorisé — utile uniquement pour analyser l'utilisation des limites.
## Cas multi-devises
Les dépenses carte peuvent être en USD (ex : SaaS, abonnements étrangers) :
```json
{
"currency": "USD",
"functionalCurrency": "EUR",
"functionalExchangeRate": 0.9295,
"amount": { "amount": 98692, "currency": "USD", "precision": 2 },
"functionalAmount": { "amount": 91827, "currency": "EUR", "precision": 2 }
}
```
→ Le filtre `grossAmount > 500` filtre sur `functionalAmount` (EUR) — une dépense de 900 USD = 837 EUR est donc incluse dans `grossAmount > 500`.
## Champs utiles pour analyser les résultats
| Champ | Utilisation |
|-------|-------------|
| `description` | Libellé de la dépense |
| `amount` / `functionalAmount` | Montant (devise locale / EUR) — coefficient / 10^precision |
| `counterparty.supplierId` | ID du fournisseur — résoudre avec `get_suppliers(ids=[...])` |
| `memberId` | ID de l'employé ayant fait la dépense |
| `creationDate` | Date de la dépense |
| `payableType` | Type de carte utilisée |
| `itemLines[].analyticalFieldAssociations` | Cost center, champs analytiques |
## Ajouter un filtre de période
```json
{
"companyId": "<companyId>",
"filters": {
"operator": "and",
"subfilters": [
{ "field": "payableType", "operator": "=", "value": ["singleCardPurchase", "physicalCardPurchase"] },
{ "field": "grossAmount", "operator": ">", "value": 1000 }
]
},
"fromDate": "2026-01-01",
"toDate": "2026-06-30",
"pageSize": 20
}
```
## Exemples de prompts
- "Liste les achats carte supérieurs à 1 000 EUR ce trimestre"
- "Quelles sont les dépenses carte physique au-dessus de 200 EUR en juin ?"
- "Identifie les achats exceptionnels (> 2 000 EUR) sur les 3 derniers mois"
- "Affiche toutes les dépenses carte virtuelle > 500 EUR du mois de mars"
Comment installer ce skill
/
- 1Télécharger le fichier
s15-depenses-carte-seuil-montant.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s15-depenses-carte-seuil-montant.md .claude/s15-depenses-carte-seuil-montant.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_payables.Skills similaires
★ Top