---
name: s47-duplicate-invoice-detection
description: Détection des factures potentiellement dupliquées — même fournisseur + même montant ± 5 jours ou même numéro de facture
tags: [doublons, factures, controle, controller, ap-manager, audit]
when_to_use: Lors d'une revue de contrôle interne, avant validation de paiements, ou lors d'un audit pour identifier les factures potentiellement payées deux fois
personas: [controller, ap-manager]
use_cases: [reconciliation, conformite]
frequency: monthly
complexity: intermediate
score: 65
tools_used: [get_payables, get_supplier_by_id]
---

# Détection de doublons de factures

## But
Identifier les paires de factures susceptibles d'être des doublons avant qu'elles ne soient payées deux fois. Deux critères de détection : même montant exact chez le même fournisseur à ±5 jours, ou même numéro de facture chez le même fournisseur.

**Limite :** la détection est basée sur Claude — pas de déduplication native dans l'API. Le score de confiance dépend des données disponibles dans get_payables.

## Instructions

### Étape 1 — Récupérer les payables de la période
```
Appelle get_payables pour la période à contrôler (ex: 3 derniers mois).
Récupère pour chaque payable : id, supplierId, amount, currency, invoiceDate, 
invoiceNumber (si disponible), status.
Exclure les payables de type creditNote.
```

### Étape 2 — Détection par montant + fournisseur + date
```
Grouper les payables par (supplierId, amount, currency).
Pour chaque groupe de 2+ payables :
  Vérifier si les dates de facture sont à ± 5 jours l'une de l'autre
  Si oui → marquer comme "doublon potentiel — montant identique"

Ignorer les abonnements (payableType=subscription) — paiements récurrents normaux.
```

### Étape 3 — Détection par numéro de facture
```
Si invoiceNumber est disponible dans les métadonnées :
  Grouper par (supplierId, invoiceNumber)
  Tout groupe de 2+ = doublon confirmé (même référence)
  Marquer comme "doublon probable — même numéro de facture"
```

### Étape 4 — Enrichissement des doublons détectés
```
Pour chaque paire suspecte :
  Appelle get_supplier_by_id pour obtenir le nom du fournisseur
  Note : statut (toPrepare, toExport, exported, paid) — les paires déjà payées sont prioritaires
```

### Étape 5 — Rapport des doublons
```
Présenter par niveau de risque :

RISQUE ÉLEVÉ : même numéro de facture chez le même fournisseur
  → Fournisseur | Montant | Date 1 | Date 2 | Statut 1 | Statut 2

RISQUE MOYEN : même montant ± 5 jours chez le même fournisseur
  → Fournisseur | Montant | Date 1 | Date 2 | Écart jours

Pour chaque paire : recommandation (bloquer, vérifier, ignorer)
```

## Points d'attention
- Un même montant chez le même fournisseur ±5j peut être légitime (ex: livraisons partielles hebdomadaires)
- Les abonnements récurrents déclenchent des faux positifs — les exclure explicitement
- Ce skill est un outil d'aide à la décision, pas une suppression automatique
- Prioriser les paires où au moins une facture est "toPay" ou déjà exportée

## Exemples de prompts
- "Y a-t-il des doublons de factures sur les 3 derniers mois ?"
- "Vérifie si on a des factures dupliquées chez Amazon ou Salesforce"
- "Avant de payer ce batch, identifie les doublons potentiels"
