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

  1. 1Compte les factures en attente, avec un total par devise
  2. 2Liste ces factures de la plus ancienne à la plus récente
  3. 3Retrouve l'approbateur attendu sur chaque facture
  4. 4Signale celles dont l'échéance est déjà dépassée
  5. 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
▸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

/
  1. 1
    Télécharger le fichier s70-factures-attente-approbation.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 s70-factures-attente-approbation.md .claude/s70-factures-attente-approbation.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_invoices_summary, get_invoices, get_invoice_by_id, get_users.

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·📅 Hebdo·Débutant

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.

ControllerFinance Analyst
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

Interested in AI Agent services or Custom Integrations?