Repérer les factures saisies deux fois
Détecte les doublons de factures en identifiant les payables d'un même fournisseur avec des montants identiques ou très proches sur une courte période.
ControllerAP Manager📆 MensuelIntermédiaireLecture seule
Demandez-le comme ça
Y a-t-il des doublons de factures sur les 3 derniers mois ?
Quand l'utiliser
Avant une campagne de paiement, pour éviter de payer deux fois la même facture.
Ce que ça produit
Liste des paires de factures suspectes avec fournisseur, montants, dates et niveau de confiance du doublon.
Comment ça se déroule
- 1Liste les factures fournisseurs de la période
- 2Repère celles qui portent le même numéro chez un même fournisseur
- 3Repère celles de même montant à quelques jours d'écart
- 4Vérifie si l'une des deux a déjà été payée
- 5Présente les paires à vérifier, les plus urgentes d'abord
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 technique65/100 · 2 outils
RéconciliationFournisseursget_invoicesget_invoice_by_id
# Détection de doublons de factures
## But
Repérer les factures fournisseurs susceptibles d'avoir été saisies deux fois, **avant** qu'elles ne soient payées deux fois. Deux signaux : même numéro de facture chez le même fournisseur, ou même montant chez le même fournisseur à quelques jours d'écart.
Il n'existe pas de détection de doublons dans le MCP : c'est un rapprochement fait par l'assistant sur la liste des factures. Le résultat est une liste de paires **à vérifier**, pas une liste de doublons avérés. Le skill ne supprime et ne bloque rien.
## Étape 1 — Lister les factures de la période
Annoncer la période (par défaut les 3 derniers mois).
```json
{
"tool": "get_invoices",
"params": { "issuedAfter": "YYYY-MM-DD", "issuedBefore": "YYYY-MM-DD", "sortBy": "issueDate", "pageSize": 100 }
}
```
Chaque facture porte déjà ce qu'il faut : `invoiceNumber`, `supplier.id` et `supplier.name`, `grossAmount`, `currency`, `issueDate`, `approvalStatus`, `paymentStatus`.
- Sans filtre d'approbation, la liste contient les factures en attente, approuvées **et rejetées** : garder les rejetées, un doublon a souvent déjà été rejeté une fois.
- Sans filtre `type`, les avoirs ne sont pas listés : c'est voulu, un avoir n'est pas un doublon.
- Paginer avec `cursor` tant que `hasNextPage` est `true` ; ne rien conclure sur une liste partielle.
- `grossAmount` peut être `null` sur une facture en attente : l'écarter du rapprochement par montant.
## Étape 2 — Même numéro de facture
Regrouper par (`supplier.id`, `invoiceNumber`), en comparant les numéros sans tenir compte de la casse ni des espaces. Tout groupe de deux factures ou plus est un **doublon probable**.
Pour vérifier un numéro précis sur tout l'historique, le filtre `invoiceNumber` fait une recherche exacte.
## Étape 3 — Même montant, dates proches
Regrouper par (`supplier.id`, `grossAmount`, `currency`). Dans chaque groupe, signaler les factures dont les `issueDate` sont à 5 jours ou moins l'une de l'autre : **doublon possible**.
Ne pas signaler un fournisseur qui facture le même montant chaque mois (loyer, abonnement) : l'écart d'un mois écarte déjà ces cas, le préciser si l'utilisateur élargit la fenêtre.
## Étape 4 — Qualifier chaque paire
Pour les paires retenues :
```json
{ "tool": "get_invoice_by_id", "params": { "id": "<id de la facture>" } }
```
Lire `payments` (une des deux a-t-elle déjà été payée ?), `attachments` (les deux pièces sont-elles le même document ?) et `purchaseOrders`. Le statut de paiement de cet outil fait foi pour une facture donnée.
Ordre de priorité :
1. les deux factures approuvées et non payées — le double paiement est encore évitable ;
2. une payée, l'autre approuvée ;
3. les deux payées — à signaler pour récupération.
## Rapport
```
Doublons possibles — factures émises du <date> au <date> (N factures contrôlées)
Doublons probables (même numéro) : N paires
| Fournisseur | N° | Montant | Date 1 | Date 2 | Paiement 1 | Paiement 2 |
Doublons possibles (même montant, 5 jours ou moins) : N paires
| Fournisseur | Montant | Date 1 | Date 2 | Écart | Paiement 1 | Paiement 2 |
```
## Limites à dire
- Une même somme chez un même fournisseur à quelques jours d'écart peut être légitime (livraisons partielles).
- Deux fiches fournisseur différentes pour un même fournisseur échappent au rapprochement : il se fait par identifiant de fournisseur.
- L'assistant ne peut ni rejeter ni supprimer une facture : la décision se prend dans Spendesk.
## Ce qui a été vérifié
Les champs utilisés ont été vérifiés en direct sur le compte démo le 5 octobre 2026. Le rapprochement lui-même n'a pas été rejoué sur l'ensemble des factures du compte.
## Exemples de prompts
- "Y a-t-il des doublons de factures sur les 3 derniers mois ?"
- "Vérifie les doublons potentiels avant mon prochain run de paiement"
- "La facture INV-2026-7734 a-t-elle été saisie deux fois ?"
Comment installer ce skill
/
- 1Télécharger le fichier
s47-duplicate-invoice-detection.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s47-duplicate-invoice-detection.md .claude/s47-duplicate-invoice-detection.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, get_invoice_by_id.Skills similaires
★ Top