Rapprocher factures et bons de commande
Repère les factures sans bon de commande et les bons de commande en attente de facture, à partir du rattachement réel entre les deux.
AP ManagerProcurement📅 HebdoIntermédiaireLecture seule
Demandez-le comme ça
Est-ce que toutes mes factures de ce mois ont un bon de commande ?
Quand l'utiliser
Chaque semaine, pour vérifier que les factures reçues sont rattachées à un bon de commande et repérer les bons de commande sans facture.
Ce que ça produit
Factures sans bon de commande par devise, bons de commande en attente ou en retard de facturation, et dépassements visibles.
Comment ça se déroule
- 1Liste les factures récentes et lit leur bon de commande rattaché
- 2Isole les factures sans bon de commande, par devise
- 3Liste les bons de commande ouverts et leur état de facturation
- 4Signale ceux qui attendent une facture ou dont la facture est en retard
- 5Indique les dépassements visibles, en précisant ce qui n'est pas détectable
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 : Auditer les abonnements logiciels et doublons →
▸Détail technique72/100 · 3 outils
Budget & POsRéconciliationget_invoicesget_purchase_ordersget_supplier_by_id
# Rapprochement factures ↔ bons de commande
## Le lien existe : ne pas le reconstituer
Spendesk enregistre le rattachement d'une facture à un bon de commande, et le MCP l'expose des deux côtés :
- sur une facture, `purchaseOrders` liste les bons de commande rattachés (vide s'il n'y en a pas) ;
- sur un bon de commande, `invoices` liste ses factures, et `billingStatus` résume l'avancement de la facturation.
**Ne pas rapprocher « au jugé »** par fournisseur et montant : un fournisseur peut avoir plusieurs bons de commande, et une facture d'un fournisseur sous bon de commande peut très bien ne pas y être rattachée. Lire le lien réel.
Ce skill ne modifie rien : rattacher une facture à un bon de commande se fait dans Spendesk.
## Étape 1 — Factures sans bon de commande
```json
{
"tool": "get_invoices",
"params": { "approvalStatus": ["pending", "approved"], "createdAfter": "YYYY-MM-DD", "pageSize": 100 }
}
```
Annoncer la date de début utilisée (par défaut, les 60 derniers jours).
- Une facture dont `purchaseOrders` est vide est une **facture sans bon de commande**.
- Paginer avec `cursor` tant que `hasNextPage` est `true`.
- Sans filtre `type`, seules les factures sont listées ; les avoirs demandent un appel séparé et n'entrent pas dans ce contrôle.
- Les montants sont dans la devise de chaque facture : totaliser par devise, jamais ensemble.
- Certains fournisseurs n'ont pas de bon de commande par nature (abonnements, énergie) : demander à l'utilisateur lesquels exclure plutôt que de les signaler tous.
Pour vérifier les factures d'un bon de commande précis, filtrer avec `purchaseOrderId`.
## Étape 2 — Bons de commande ouverts et leur facturation
```json
{ "tool": "get_purchase_orders", "params": { "status": ["open"], "pageSize": 100 } }
```
Lire sur chaque bon de commande : `amount`, `billedAmount`, `endDate`, `invoices` et `billingStatus`.
| `billingStatus` | Lecture |
|-----------------|---------|
| `waitingForBilling` | Aucune facture reçue à ce stade |
| `lateInvoice` | Une facture attendue est en retard : à relancer en priorité |
| autre valeur | Facturation en cours ou terminée : lire `billedAmount` |
Signaler aussi les bons de commande dont `endDate` est dépassée et qui sont toujours ouverts : rien ne les ferme automatiquement.
## Étape 3 — Ce qu'on peut dire des dépassements
⚠️ **Un dépassement n'est pas toujours détectable.** `amount` est le montant engagé **actuel**, pas le montant approuvé à l'origine : selon la configuration de la société, Spendesk le réaligne sur le montant facturé quand une facture le dépasse, et toujours à la clôture. Un bon de commande approuvé à 10 000 et facturé 14 000 peut donc afficher 14 000 des deux côtés.
- Si `billedAmount` > `amount` : le signaler, c'est un dépassement visible.
- Si `billedAmount` ≤ `amount` : **ne pas conclure qu'il n'y a pas de dépassement**. Dire que le montant approuvé à l'origine n'est pas disponible.
## Étape 4 — Résoudre les noms
`supplierId` sur un bon de commande est un identifiant brut :
```json
{ "tool": "get_supplier_by_id", "params": { "id": "<supplierId>" } }
```
Les factures portent déjà `supplier.name`.
## Rapport
```
Rapprochement factures ↔ bons de commande — <date du jour>
Factures sans bon de commande (depuis le <date>) : N — X EUR · Y GBP
| Facture | Fournisseur | Montant | Échéance | Statut d'approbation |
Bons de commande en attente de facture : N
| N° | Fournisseur | Montant engagé | Fin de période | Statut de facturation |
Dépassements visibles : N (les autres ne sont pas détectables, voir limite)
```
## Résultat observé (compte démo, 5 octobre 2026)
13 bons de commande ouverts, aucun facturé (`invoices` vide et `billedAmount` à zéro partout). Douze étaient en `waitingForBilling` et un en `lateInvoice` : un bon de commande dont la période s'était terminée le 31 décembre 2025. Les 5 factures les plus récentes n'avaient aucun bon de commande rattaché.
## Exemples de prompts
- "Est-ce que toutes mes factures de ce mois ont un bon de commande ?"
- "Quels bons de commande ouverts attendent encore une facture ?"
- "Montre-moi les factures sans bon de commande reçues ce trimestre"
Comment installer ce skill
/
- 1Télécharger le fichier
s53-invoice-po-matching.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s53-invoice-po-matching.md .claude/s53-invoice-po-matching.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_purchase_orders, get_supplier_by_id.Skills similaires
★ Top
★ Top