Liste les fournisseurs actifs avec leurs données bancaires (IBAN, BIC, pays de banque) via get_suppliers
Liste les fournisseurs actifs avec leurs coordonnées bancaires complètes (IBAN, BIC, pays). Essentiel pour les vérifications de paiement et les audits de données bancaires.
85/100·📅 Hebdo·DébutantAP Manager
Fournisseursget_suppliers
🎯 But du skill
Liste les fournisseurs actifs avec leurs coordonnées bancaires complètes (IBAN, BIC, pays). Essentiel pour les vérifications de paiement et les audits de données bancaires.
📊 Ce que ça produit
Annuaire des fournisseurs actifs avec IBAN, BIC et pays de banque pour chacun.
⚡ Bénéfice
Avant
Export manuel du référentiel fournisseurs, tri et filtre dans Excel pour les données bancaires.
Après
Annuaire bancaire fournisseurs complet et filtrable en quelques secondes.
# Instructions
## Use case
Lister les fournisseurs actifs avec leurs données bancaires (IBAN, BIC, pays) pour préparer des paiements ou vérifier que les coordonnées sont complètes.
## Piège 1 — isArchived est un STRING, pas un boolean
Le paramètre `isArchived` de `get_suppliers` est un **enum STRING**, pas un boolean :
- Correct : `isArchived: "false"` (string)
- Incorrect : `isArchived: false` (boolean — ignoré ou erreur)
```json
{
"companyId": "<COMPANY_ID>",
"isArchived": "false",
"sortBy": "name",
"pageSize": 1
}
```
⚠️ **Bug vérifié — aucun `pageSize` n'est fiable, y compris `pageSize=1`** : sur un compte où des fournisseurs partagent un compte AP consolidé (`accountPayable.supplierIds`, voir plus bas), `get_suppliers` peut dépasser la limite de taille de réponse même à `pageSize=1` avec `sortBy: "name"` — testé et confirmé en échec (81 179 caractères). Ce n'est pas un problème de réglage de `pageSize` : la pagination "à l'aveugle" (sans cible précise) de `get_suppliers` est **structurellement peu fiable** sur ce type de compte. Ne pas promettre à l'utilisateur qu'un `pageSize` plus petit résoudra le problème.
**Contournement fiable** : cibler des fournisseurs précis via `search` (nom) ou `ids` (liste connue, ex. extraite de `get_payables` ou `spendesk_analyze_spend`) plutôt qu'une pagination large. Si l'utilisateur a besoin d'une liste complète des fournisseurs actifs, le prévenir que cette opération peut échouer par pages entières et qu'il faudra retenter page par page en acceptant que certaines pages ne passeront jamais.
## Champs bancaires disponibles
Chaque fournisseur retourne :
```json
{
"iban": "FR7617518000010052347500017",
"bic": "SPDKFRP2XXX",
"bankCountry": "FR",
"bankDetailsUpdatedAt": "2026-07-02T06:20:54.000Z",
"bankDetailsUpdatedBy": "<userId>"
}
```
- `iban` : IBAN complet, ou `null` si non renseigné
- `bic` : Code BIC/SWIFT, ou `null`
- `bankCountry` : Pays de la banque (code ISO), peut être `null` **ou** `""` (chaîne vide) — les deux signifient "non renseigné"
- `bankDetailsUpdatedAt` : Date de la dernière mise à jour des coordonnées bancaires
- `bankDetailsUpdatedBy` : userId de la personne qui a mis à jour (pas le nom — faire une jointure avec `get_users` si nécessaire)
## Piège 2 — Pas de filtre "a un IBAN" / "n'a pas d'IBAN"
Il n'existe pas de filtre `hasIban=true` dans `get_suppliers`. Pour obtenir uniquement les fournisseurs **avec** IBAN :
→ Récupérer la liste complète et filtrer côté client :
```
fournisseurs avec IBAN = data.filter(s => s.iban && s.iban !== "")
fournisseurs sans IBAN = data.filter(s => !s.iban)
```
Le filtre `iban` existant est une **correspondance exacte** sur la valeur IBAN, pas un filtre "non null". Il sert à retrouver un fournisseur par son IBAN connu.
## Piège 3 — bankCountry inconsistant : null vs chaîne vide
Certains fournisseurs ont `bankCountry: ""` (chaîne vide), d'autres ont `bankCountry: null`. Les deux signifient "non renseigné". Toujours tester les deux :
```
!s.bankCountry // couvre null ET ""
```
## Pagination — page-based (pas cursor)
`get_suppliers` utilise une pagination par **numéro de page** (contrairement à `get_payables` qui utilise un cursor) :
```json
{ "page": 1, "pageSize": 50 }
```
Vérifier `meta.pagination.hasNextPage` pour savoir s'il faut continuer.
## accountPayable — objet de consolidation
Certains fournisseurs ont un champ `accountPayable` avec un tableau `supplierIds` pouvant contenir des centaines d'entrées. Cela indique un compte collectif (ex. : STRIPE EUR = un compte pour 400+ sous-fournisseurs Stripe). **Ce tableau est répété intégralement sur chaque fournisseur qui partage ce compte** — c'est la cause directe du risque de dépassement de taille de réponse ci-dessus. Ce pattern est expliqué dans [[s14-factures-fournisseur-par-nom]].
## Exemples de prompts utilisateurs
- "Liste tous les fournisseurs actifs avec leur IBAN pour préparer les paiements de juillet"
- "Quels fournisseurs n'ont pas encore renseigné leur IBAN ?"
- "Quel est l'IBAN du fournisseur Getsafe GmbH ?"
Comment installer ce skill
/
- 1Télécharger le fichier
s22-fournisseurs-actifs-iban.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s22-fournisseurs-actifs-iban.md .claude/s22-fournisseurs-actifs-iban.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_suppliers.Skills similaires
★ Top
★ Top