Relancer les factures en attente d'approbation
Liste les factures fournisseurs en attente d'approbation, avec l'approbateur attendu et l'ancienneté.
AP ManagerController📅 HebdoIntermédiaireLecture seule
Demandez-le comme ça
Quelles factures fournisseurs attendent une approbation, et chez qui ?
Quand l'utiliser
Chaque semaine, pour savoir quelles factures sont bloquées en approbation, chez qui et depuis quand.
Ce que ça produit
Total par devise, puis tableau facture / fournisseur / montant / échéance / approbateur attendu, les échéances dépassées en tête.
Comment ça se déroule
- 1Compte les factures en attente, avec un total par devise
- 2Liste ces factures de la plus ancienne à la plus récente
- 3Retrouve l'approbateur attendu sur chaque facture
- 4Signale celles dont l'échéance est déjà dépassée
- 5Prépare une liste de relance, prête à envoyer
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
↓ Télécharger le skill (.md)Comment l'installerSuivant : Suivre les factures fournisseurs en retard →
▸Détail technique85/100 · 4 outils
FournisseursConformitéget_invoices_summaryget_invoicesget_invoice_by_idget_users
# Factures fournisseurs en attente d'approbation
## Ce que ce skill couvre — et ce qu'il ne couvre pas
Les outils `get_invoices*` lisent les **factures fournisseurs** (avant et après approbation). Ce sont eux qu'il faut utiliser pour « quelles factures attendent une approbation » — `get_requests` ne couvre que les demandes de carte, et `get_payables` ne contient une facture qu'une fois approuvée.
Le MCP **ne peut pas approuver ni rejeter** une facture : aucun outil ne le permet. Ce skill produit la liste et le brouillon de relance ; l'approbation reste dans Spendesk.
## Étape 1 — Volume et montants (sans paginer)
```json
{ "tool": "get_invoices_summary", "params": { "approvalStatus": ["pending"] } }
```
Renvoie `count` et `totalsByCurrency` (un bloc par devise).
⚠️ Trois pièges vérifiés en direct :
- `amountDue` vaut **toujours 0** dans le résumé (pas encore calculé) — ne jamais le présenter comme un reste à payer.
- `netAmount` est une borne basse : les factures sans montant HT capturé comptent pour 0. Ne pas en déduire la TVA.
- Les montants ne sont jamais additionnés entre devises : présenter un total par devise.
## Étape 2 — Liste, de la plus ancienne à la plus récente
```json
{ "tool": "get_invoices", "params": { "approvalStatus": ["pending"], "sortBy": "createdAt", "sort": "asc", "pageSize": 100 } }
```
Champs utiles : `invoiceNumber`, `supplier.name`, `grossAmount.formatted`, `dueDate`, `createdAt`, `purchaseOrders`.
- Si `hasNextPage` est `true`, repasser `meta.pagination.cursor` dans `cursor`.
- Sans filtre `type`, seules les factures sont listées ; les avoirs demandent un appel séparé avec `type: "creditNote"`.
- Les brouillons et factures incomplètes ne sont jamais listés, même sous `pending`.
- `grossAmount` peut être `null` sur une facture en attente sans montant capturé : `null` n'est pas zéro.
## Étape 3 — Qui doit approuver
La liste ne donne pas la chaîne d'approbation. Pour chaque facture à relancer :
```json
{ "tool": "get_invoice_by_id", "params": { "id": "<id de la facture>" } }
```
Lire `approval.steps` : l'étape dont `state` vaut `current` porte les `approvers` attendus. Ce sont des `userId` bruts — les résoudre en une fois :
```json
{ "tool": "get_users", "params": { "ids": ["<userId1>", "<userId2>"] } }
```
Ne jamais afficher un identifiant brut. Si un identifiant ne se résout pas (ancien membre de l'entité), le dire. Le champ `buyer` de la facture donne aussi le demandeur, avec son nom.
## Format de sortie recommandé
```
Factures en attente d'approbation — <date du jour>
Total : N factures — X EUR · Y USD (par devise, jamais additionné)
| Facture | Fournisseur | Montant | Échéance | Reçue le | Approbateur(s) attendu(s) |
```
Signaler en tête les factures dont l'échéance est déjà dépassée : elles sont en retard avant même d'être approuvées.
## Résultat observé (compte démo)
2 factures en attente : 1 en EUR (2 616,00) et 1 en USD (19 513,20). Sur la facture USD, l'étape courante attendait deux approbateurs, résolus par `get_users`. Les deux factures avaient une échéance dépassée et aucun bon de commande lié.
## Exemples de prompts utilisateur
- "Quelles factures fournisseurs attendent une approbation, et chez qui ?"
- "Prépare une relance pour les approbateurs des factures en attente depuis plus de 7 jours"
- "Combien de factures sont bloquées en approbation, par devise ?"
Comment installer ce skill
/
- 1Télécharger le fichier
s70-factures-attente-approbation.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s70-factures-attente-approbation.md .claude/s70-factures-attente-approbation.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_invoices_summary, get_invoices, get_invoice_by_id, get_users.Skills similaires
★ Top