Catégories de dépenses et mapping cost centers

Liste les catégories de dépenses et les centres de coûts auxquels chacune est restreinte ; une catégorie sans restriction s'applique à tous.

↓ Télécharger le skill (.md)
87/100·🔍 Ponctuel·IntermédiaireControllerFinance Analyst
ParamétrageAnalyse des dépensesget_expense_categoriesget_cost_centers

🎯 But du skill

Liste les catégories de dépenses et les centres de coûts auxquels chacune est restreinte ; une catégorie sans restriction s'applique à tous.

📊 Ce que ça produit

Référentiel des catégories de dépenses avec centre de coût associé et règles de mapping.

⚡ Bénéfice

Avant

Structure analytique opaque — nécessitait de demander à l'administrateur Spendesk.

Après

Mapping catégories ↔ centres de coût lisible en un appel, sans accès admin.



# Catégories de dépenses et mapping cost centers

## Structure d'une catégorie

```json
{
  "id": "r96xprmx87jiso",
  "name": "ABM",
  "costCenters": [
    {
      "id": "e411c663-1e1f-4b1e-b674-d954272afbc4",
      "name": "Marketing"
    }
  ]
}
```

Champs : `id`, `name`, `costCenters` (tableau d'objets `{id, name}`).

## Appel

```json
{
  "tool": "get_expense_categories",
  "params": {
    "companyId": "<companyId>"
  }
}
```

Liste paginée par curseur (100 catégories par page par défaut) : si `meta.pagination.hasNextPage` est vrai, rappeler avec `cursor`. Sur ce compte : 62 catégories.

## Mapping catégorie → cost centers (1-to-many)

Une catégorie peut être liée à plusieurs cost centers. Exemples :
- "Agency" → 7 CCs (dont Marketing + 6 "X- old" CCs)
- "Workspace - Rental costs" → 2 CCs ("X- old Workspace" + "People")
- "ABM" → 1 CC (Marketing uniquement)

## Catégories sans restriction de cost center (costCenters = [])

**15 catégories ont `costCenters: []` (tableau vide)** — cela signifie que la catégorie s'applique à TOUS les cost centers, pas à aucun. Ce sont généralement des catégories transversales :

| Catégorie | Usage typique |
|-----------|--------------|
| Externalised salaries | Masse salariale externalisée |
| Financial result | Résultats financiers |
| Monthly Learning Allowance | Enveloppe formation individuelle |
| Personal Expense | NDF personnelles |
| Salaries | Salaires |
| Server and COGS tools | Infrastructure cloud |
| Services - Consulting & advisory | Conseil |
| Services - Contractors or Freelancer | Freelances |
| Tools and subscriptions | Abonnements SaaS |
| Travel & Expense (T&E) - Business | NDF professionnelles |
| Travel & Expense (T&E) - Candidates | Frais candidats |
| Travel & Expense (T&E) - Relocation | Relocalisation |
| Travel & Expense (T&E) - Remote employee | Frais remote |
| T&E - Spendesk Onboarding Connect | Onboarding |
| T&E - Team Building & Team Lunch | Team events |

**Interprétation correcte :** `costCenters: []` = catégorie disponible pour TOUS les cost centers (aucune restriction), pas "aucun cost center" ni "erreur".

## Mappings obsolètes (X-old CCs)

Certaines catégories pointent exclusivement vers des CCs "X-old" décommissionnés par convention (mais toujours `isArchived: false` dans l'API). Exemples :
- "Content" → uniquement "X- old Content" (CC décommissionné)
- "Banking charges" → mix d'un CC actif ("Banking Operations") + 5 "X-old"
- "Agency" → Marketing (actif) + 6 "X- old" CCs

Ces mappings n'ont pas été mis à jour lors de la restructuration des équipes.

## Correspondance avec la réalité API

Sur ce compte, les CCs référencés dans `costCenters` incluent des CCs avec `isArchived: false` (actifs et X-old) — jamais des CCs avec `isArchived: true`. Les catégories ne pointent pas vers les 10 vrais CCs archivés.

## Pas de filtre ni pagination

`get_expense_categories` renvoie une page à la fois (curseur), catégories archivées comprises (`isArchived`). Pas de filtre disponible (par nom, par CC, par statut). Le filtrage est à faire côté client.

## Pattern d'utilisation courant

1. Récupérer toutes les catégories avec `get_expense_categories`
2. Identifier les catégories actives : exclure celles dont tous les `costCenters` sont des CCs "X-old"
3. Pour les dépenses par catégorie : il n'existe ni filtre `get_payables` ni dimension `spendesk_analyze_spend` par catégorie de dépense — regrouper par `payableType`, `costCenter` ou `analyticalCode` à la place, et le dire à l'utilisateur.

## Distinction avec get_cost_centers

| Tool | Retourne | Usage |
|------|----------|-------|
| `get_expense_categories` | Libellés employés + CCs liés | Référentiel de classification des dépenses |
| `get_cost_centers` | Départements/entités + owners | Référentiel organisationnel |

Une catégorie ("Travel & Expense - Business") peut être utilisée par tous les CCs — le mapping dans `get_expense_categories` précise pour quels CCs cette catégorie est configurée dans l'UI Spendesk.

## Exemples de prompts utilisateur

- "Liste toutes les catégories de dépenses disponibles"
- "Quelles catégories de dépenses sont associées au cost center Marketing ?"
- "Quelles catégories sont restreintes à certains cost centers, et lesquelles s'appliquent à tous ?"
- "Donne-moi le référentiel complet catégories / cost centers pour notre intégration ERP"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s36-categories-depenses.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 s36-categories-depenses.md .claude/s36-categories-depenses.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_expense_categories, get_cost_centers.

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?