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.

↓ Télécharger le skill (.md)
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)
- `isArchived` : si true, le champ est décommissionné
- `isSplittable` : si true, un payable peut avoir plusieurs valeurs de ce champ
- `availableForEntities` : types de payables concernés (`["expense","request","payment","subscription"]`)

### Étape 2 — Obtenir les valeurs d'un champ

```json
{
  "tool": "get_analytical_field_values",
  "params": {
    "companyId": "<companyId>",
    "fieldId": "<id du champ>"
  }
}
```

Retourne la liste des valeurs valides : `{ id, value, isArchived }`.

## Piège : includeArchived par défaut = false, mais retourne quand même les archivés

Sur ce compte, `get_analytical_fields()` sans paramètre retourne **21 champs dont 16 avec `isArchived: true`**, malgré `includeArchived` par défaut = false. Le comportement documenté ("archived fields are excluded by default") ne correspond pas à l'implémentation réelle.

→ Toujours filtrer côté client sur `isArchived: false` 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)

→ Le champ "Analytic codes" et `get_expense_categories` exposent **le même référentiel**. 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>",
    "dateRange": { "startDate": "2026-01-01", "endDate": "2026-06-30" },
    "groupBy": ["analyticalCode"],
    "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

/
  1. 1
    Télécharger le fichier s37-analytical-fields-values.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 s37-analytical-fields-values.md .claude/s37-analytical-fields-values.md
  3. 3
    Utiliser dans Claude Codele 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
95/100·🔍 Ponctuel·Expert

Audit de couverture MCP — Gap analysis automatisée

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