Validité des justificatifs (documentary evidence)
Vérifie la validité réelle des justificatifs en distinguant la présence d'un fichier et la disponibilité d'une URL pré-signée. Crucial pour les audits de conformité documentaire.
🎯 But du skill
Vérifie la validité réelle des justificatifs en distinguant la présence d'un fichier et la disponibilité d'une URL pré-signée. Crucial pour les audits de conformité documentaire.
📊 Ce que ça produit
Rapport de conformité des justificatifs : comptage des factures avec et sans pièces jointes valides.
⚡ Bénéfice
Avant
Impossible de distinguer les vraies pièces jointes des métadonnées corrompues ou manquantes.
Après
Rapport précis de conformité des justificatifs, prêt pour l'audit ou le commissaire aux comptes.
# Instructions — Validité des justificatifs (documentary evidence)
## ⚠️ Distinction critique
| Filtre | Ce que ça signifie | Ce que ça ne signifie PAS |
|--------|-------------------|--------------------------|
| `documentaryEvidenceStatus=provided` | Un fichier est attaché | Que le document est valide ou conforme |
| `documentaryEvidenceStatus=providedAndDpr` | Fichier attaché + processing DPR | Que le document est valide |
| `documentaryEvidenceStatus=missing` | Aucun fichier attaché | |
| `documentaryEvidenceStatus=declaredAsInvalid` | Marqué invalide par l'utilisateur | |
**Pour la vraie validité** : lire `documentaryEvidence.validity.valid` (boolean) et `documentaryEvidence.compliances` sur chaque payable.
## Cas d'usage 1 — Identifier les dépenses sans justificatif
Appelle `get_payables` avec :
```json
{ "field": "documentaryEvidenceStatus", "operator": "=", "value": ["missing", "declaredAsInvalid"] }
```
→ Toutes les dépenses nécessitant un suivi justificatif.
## Cas d'usage 2 — Vérifier la conformité des justificatifs attachés
Étape 1 : Récupérer les payables avec justificatif attaché
```json
{ "field": "documentaryEvidenceStatus", "operator": "=", "value": ["provided", "providedAndDpr"] }
```
Étape 2 : Pour chaque payable, inspecter :
```
documentaryEvidence.validity.valid → true/false
documentaryEvidence.compliances → absent, {} ou { spainEreceipt: ... } (conformité propre à un pays)
documentaryEvidence.type → "invoice" | "creditNote" | ...
documentaryEvidence.invoiceNumber → présent si facture
```
Étape 3 : Signaler les cas où `validity.valid=false` et citer `validity.reason` s'il est présent. Pour l'Espagne, signaler aussi un `compliances.spainEreceipt.closure.error`.
## Structure complète du champ documentaryEvidence
```json
{
"validity": {
"valid": true/false
},
"compliances": {
// informations de conformité propres à un pays, ex. spainEreceipt (champ optionnel, souvent absent ou vide)
},
"type": "invoice" | "declarationOfMissingInvoice" | "mileageEntry" | "perDiemEntry" | "creditNote" | "declarationOfMissingCreditNote",
"invoiceNumber": "XXXX", // si type=invoice
"creditNoteNumber": "XXXX", // si type=creditNote
"referenceInvoiceNumber": "XXXX" // si avoir avec référence
}
```
## Cas d'usage 3 — Audit complet des justificatifs
Pour un audit exhaustif, combiner les deux recherches (et interroger aussi `cannotBeProvided`, `hasDpr` et `hasDprError`, les trois autres statuts acceptés par le filtre) :
1. Sans justificatif : `status=["missing","declaredAsInvalid"]`
2. Avec justificatif potentiellement invalide : `status=["provided","providedAndDpr"]` + filtrer sur `validity.valid=false` côté client
Afficher :
- % de payables avec justificatif valide
- Liste des cas problématiques (sans justificatif + avec justificatif invalide)
- Priorité aux montants élevés
## Note sur le compte démo
Sur le compte de démonstration Spendesk, tous les justificatifs `provided` ont `validity.valid=true` et `compliances={}`. `compliances` porte des informations de conformité propres à un pays (aujourd'hui `spainEreceipt` pour l'e-receipt espagnol), pas des erreurs de validation. Le motif d'invalidité, quand il existe, se lit dans `validity.reason` (présent seulement si `validity.valid=false`).
## Exemple de prompt
- "Quelles dépenses n'ont pas de justificatif ?" → filter status=missing
- "Y a-t-il des justificatifs joints mais non conformes ?" → provided + validity.valid=false
- "Audit des reçus manquants avant clôture" → missing + declaredAsInvalid
Comment installer ce skill
- 1Télécharger le fichier
s12-documentary-evidence-validite.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s12-documentary-evidence-validite.md .claude/s12-documentary-evidence-validite.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.
.claude/settings.json avec les outils get_payable_by_id.