Champs analytiques custom et leurs valeurs
Liste les champs analytiques custom de l'entreprise et leurs valeurs possibles via get_analytical_fields. Permet d'utiliser les dimensions analytiques spécifiques à chaque client.
87/100·🔍 Ponctuel·ExpertControllerFinance Analyst
ParamétrageAnalyse des dépensesget_analytical_fieldsget_analytical_field_values
🎯 But du skill
Liste les champs analytiques custom de l'entreprise et leurs valeurs possibles via get_analytical_fields. Permet d'utiliser les dimensions analytiques spécifiques à chaque client.
📊 Ce que ça produit
Champs analytiques custom avec leur label, valeurs possibles et clés d'utilisation dans les filtres.
⚡ Bénéfice
Avant
Champs analytiques inconnus — impossible à utiliser sans documentation interne ou accès admin.
Après
Référentiel complet des dimensions analytiques client, prêt à utiliser dans les requêtes.
# Champs analytiques custom et leurs valeurs
## Contexte
Les champs analytiques sont des dimensions personnalisées définies par chaque entreprise (ex: projet, BU, code événement) — distincts des cost centers natifs Spendesk. Ils permettent de taguer les payables avec des valeurs personnalisées.
Ces valeurs sont utilisées comme filtre dans `spendesk_analyze_spend(analyticalCodes=[id])`.
## Workflow en 2 étapes
### Étape 1 — Lister les champs analytiques
```json
{
"tool": "get_analytical_fields",
"params": {
"companyId": "<companyId>"
}
}
```
Pour chaque champ, noter :
- `id` : identifiant à passer à `get_analytical_field_values(fieldId)`
- `name` : libellé du champ (ex: "Analytic codes", "Projects", "Clients")
- `type` : `"list"` (valeurs énumérées) ou `"boolean"` (case à cocher)
- `archivedAt` : `null` si le champ est actif, sinon date d'archivage (champ décommissionné)
- `isSplittable` : si true, un payable peut avoir plusieurs valeurs de ce champ
### Étape 2 — Obtenir les valeurs d'un champ
```json
{
"tool": "get_analytical_field_values",
"params": {
"companyId": "<companyId>",
"fieldId": "<id du champ>"
}
}
```
Retourne les valeurs du champ : `{ id, value, isDefault, archivedAt, createdAt, updatedAt }` — actives et archivées (`archivedAt` = null signifie active), avec pagination par curseur.
## Piège : les champs archivés sont toujours retournés (aucun filtre serveur)
Sur ce compte, `get_analytical_fields()` sans paramètre retourne **21 champs dont 16 avec `isArchived: true`**, malgré `includeArchived` par défaut = false. C'est le comportement documenté : champs actifs et archivés sont retournés, sans paramètre `includeArchived` ; l'état se lit dans `archivedAt`.
→ Toujours filtrer côté client sur `archivedAt: null` pour n'obtenir que les champs actifs.
Sur ce compte : 5 champs actifs sur 21 :
| ID | Nom | Type | Splittable |
|----|-----|------|-----------|
| `S1zHTdxe-` | Analytic codes | list | ✅ oui |
| `kdpholncfz8sdw` | Analytic codes 2021 | list | non |
| `ol-yyb9yal5frj` | B. Start Date (invoice) | list | non |
| `k9__lhhu9gki64` | C. End Date (invoice) | list | non |
| `e3ty_iz-69hgq9` | D. Schedule | list | non |
## Découverte critique : les valeurs analytiques = les expense categories
Les IDs des valeurs retournées par `get_analytical_field_values(fieldId="S1zHTdxe-")` sont **identiques** aux IDs retournés par `get_expense_categories`.
Exemple :
- `get_expense_categories` → "ABM" : `id = r96xprmx87jiso`
- `get_analytical_field_values("S1zHTdxe-")` → "ABM" : `id = r96xprmx87jiso` (idem)
→ Attention : `get_analytical_fields` exclut désormais le champ des catégories de dépenses, et `get_analytical_field_values` renvoie une erreur sur ce champ (utiliser `get_expense_categories`). Ne pas supposer que les IDs de catégories de dépenses fonctionnent dans `filters.analyticalCodes` : utiliser les IDs renvoyés par `get_analytical_field_values`. Les IDs de `get_expense_categories` peuvent être directement utilisés dans `spendesk_analyze_spend(analyticalCodes=[...])` sans passer par `get_analytical_field_values`.
## Utilisation dans spendesk_analyze_spend
```json
{
"tool": "spendesk_analyze_spend",
"params": {
"companyId": "<companyId>",
"fromDate": "2026-01-01",
"toDate": "2026-06-30",
"groupBy": ["analyticalCode"],
"filters": { "analyticalCodes": ["r96xprmx87jiso", "lq0vse74ak0q_n"] }
}
}
```
Les IDs à passer = IDs des valeurs retournées par `get_analytical_field_values`.
## Champs `boolean` — pas de values à fetch
Les champs `type: "boolean"` (ex: "Approved", "Hardware") n'ont pas de valeurs listables. Ils ne sont pas utilisables comme filtre dans `spendesk_analyze_spend`. `get_analytical_field_values` retournerait un tableau vide pour ces champs.
## Exemples de prompts utilisateur
- "Quels sont les codes analytiques disponibles pour filtrer les dépenses ?"
- "Donne-moi toutes les valeurs du champ analytique 'Analytic codes'"
- "Analyse les dépenses par code analytique sur H1 2026"
Comment installer ce skill
/
- 1Télécharger le fichier
s37-analytical-fields-values.mdvia le bouton ci-dessus. - 2Placer le fichier dans le répertoire
.claude/de votre projet (ou~/.claude/pour une installation globale).cp s37-analytical-fields-values.md .claude/s37-analytical-fields-values.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_analytical_fields, get_analytical_field_values.Skills similaires
★ Top