Recherche factures par fournisseur (nom → ID → payables)

Recherche les factures d'un fournisseur par son nom en résolvant d'abord l'ID via get_suppliers. Contourne l'absence de filtre texte direct dans get_payables.

↓ Télécharger le skill (.md)
84/100·🔍 Ponctuel·DébutantAP ManagerController
FournisseursRéconciliationget_suppliersget_payables

🎯 But du skill

Recherche les factures d'un fournisseur par son nom en résolvant d'abord l'ID via get_suppliers. Contourne l'absence de filtre texte direct dans get_payables.

📊 Ce que ça produit

Toutes les factures et dépenses du fournisseur demandé, triées par date avec montants et statuts.

⚡ Bénéfice

Avant

Parcours manuel des factures sans pouvoir filtrer par nom de fournisseur — très long.

Après

Toutes les factures d'un fournisseur en deux étapes automatiques, en quelques secondes.



# Recherche factures par fournisseur (nom → ID → payables)

## Étape 1 — Résoudre le nom → ID fournisseur

`get_suppliers` avec le paramètre `search` (recherche libre, partielle ou exacte) :

```json
{
  "companyId": "<companyId>",
  "search": "<nom partiel ou exact>",
  "pageSize": 5
}
```

→ `search` fait une recherche libre : `"Stripe"` trouve `"Stripe"`, `"STRIPE EUR"`, `"STRIPE TECHNOLOGY EUROPE, LIMITED"`
→ Inspecter les résultats pour identifier le bon fournisseur par `legalName`, `iban`, `vatNo` (ou `registrationNo`)
→ Extraire l'`id` du fournisseur cible

**Pattern accountPayable consolidé :** Un fournisseur comme "STRIPE EUR" peut partager un `accountPayable` (même `id`, `generalAccountCode`) avec d'autres lignes fournisseur pointant vers la même entrée comptable. ⚠️ Le tableau `supplierIds` listant les IDs concernés, qui figurait auparavant dans cet objet, a été retiré de la réponse MCP (PR #3169, vérifié le 2026-07-22) — ne plus s'y référer pour identifier les fournisseurs consolidés. Choisir le fournisseur correspondant à l'entité légale souhaitée pour le filtre payables.

## Étape 2 — Filtrer les payables par supplierId

`get_payables` avec filtre `supplier` :

```json
{
  "companyId": "<companyId>",
  "filters": {
    "field": "supplier",
    "operator": "=",
    "value": ["<supplierId>"]
  },
  "pageSize": 20
}
```

→ Retourne tous types de payables liés à ce fournisseur (`invoicePurchase`, `subscription`, `singleCardPurchase`, etc.)
→ Le champ `counterparty.supplierId` sur chaque payable confirme le lien avec le fournisseur
→ Si `hasNextPage: true` → paginer avec le curseur pour récupérer l'historique complet

## Champs clés des résultats

| Champ | Description |
|-------|-------------|
| `description` | Libellé de la facture / dépense |
| `payableType` | Type : `invoicePurchase`, `subscription`, `singleCardPurchase`, etc. |
| `bookkeepingStatus` | Statut comptable (`exported`, `toExport`, `toPrepare`) |
| `amount` | Montant en devise de la transaction (coefficient entier / 10^precision) |
| `functionalAmount` | Montant en EUR fonctionnel |
| `currency` | Devise de la transaction (peut être GBP, USD, etc.) |
| `creationDate` | Date de la dépense |
| `accountPayableId` | Référence comptable fournisseur (plusieurs payables peuvent partager le même AP) |

## Cas multi-devises

Un même fournisseur peut avoir des payables en plusieurs devises (ex : Stripe avec EUR et GBP pour des frais UK) :

```json
{
  "currency": "GBP",
  "functionalCurrency": "EUR",
  "functionalExchangeRate": 1.0873,
  "amount": { "amount": 1500, "currency": "GBP", "precision": 2 },
  "functionalAmount": { "amount": 1631, "currency": "EUR", "precision": 2 }
}
```

→ Toujours sommer `functionalAmount` pour les totaux EUR — ne jamais sommer `amount` cross-devises.

## Ajouter un filtre de période

```json
{
  "companyId": "<companyId>",
  "filters": { "operator": "and", "subfilters": [
    { "field": "supplier", "operator": "=", "value": ["<supplierId>"] },
    { "field": "payableDate", "operator": "between", "value": { "from": "2026-01-01T00:00:00.000Z", "to": "2026-06-30T23:59:59.999Z" } }
  ] },
  "pageSize": 20
}
```

## Note : pas de nom dans la réponse payables

Le champ `counterparty` ne contient que `supplierId` — pas de `name`. Pour afficher le nom du fournisseur dans un tableau de résultats, conserver le nom obtenu à l'étape 1 ou appeler `get_supplier_by_id(supplierId)`.

## Exemples de prompts

- "Montre-moi toutes les factures Stripe du 1er semestre 2026"
- "Quel est le total dépensé chez AWS cette année ?"
- "Quelles sont les factures en attente d'export pour le fournisseur Salesforce ?"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s14-factures-fournisseur-par-nom.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 s14-factures-fournisseur-par-nom.md .claude/s14-factures-fournisseur-par-nom.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_suppliers, get_payables.

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?