Settlements non exportés — get_settlements

Identifie les settlements clearés mais pas encore exportés vers l'ERP via le filtre state=created. Nécessaire pour le suivi des mouvements de trésorerie en attente de comptabilisation.

↓ Télécharger le skill (.md)
85/100·📅 Hebdo·IntermédiaireController
Export ERPRéconciliationget_settlements

🎯 But du skill

Identifie les settlements clearés mais pas encore exportés vers l'ERP via le filtre state=created. Nécessaire pour le suivi des mouvements de trésorerie en attente de comptabilisation.

📊 Ce que ça produit

Settlements en attente d'export avec montant, date de clearing et référence bancaire.

Bénéfice

Avant

Pas de vue des settlements non exportés — décalages non détectés entre Spendesk et l'ERP.

Après

Liste précise des settlements à exporter — zéro oubli de comptabilisation.



# Settlements non exportés — get_settlements

## Les 3 états d'un settlement

| État | Signification | exportedAt |
|------|--------------|-----------|
| `created` | Clearé dans Spendesk, pas encore exporté vers l'ERP | null |
| `exported` | Envoyé vers l'ERP avec succès | date ISO |
| `failedToExport` | Export tenté mais échoué | null |

## Rappel important

"Clearé dans Spendesk" ≠ "prêt pour l'export GL". Le workflow comptable (export GL) repose sur `bookkeepingStatus` des **payables**, pas sur les settlements. Les settlements servent à la **réconciliation bancaire** — ils représentent les mouvements de cash réels.

## Appel — settlements non exportés (created)

```json
{
  "tool": "get_settlements",
  "params": {
    "companyId": "<companyId>",
    "state": ["created"],
    "pageSize": 50
  }
}
```

## Appel — échecs d'export (failedToExport)

```json
{
  "tool": "get_settlements",
  "params": {
    "companyId": "<companyId>",
    "state": ["failedToExport"],
    "pageSize": 50
  }
}
```

## Découverte : settlements "created" datant de 2017

Sur ce compte, les settlements en `state: "created"` remontent jusqu'en **mai 2017** — soit 9 ans de settlements non exportés. Cela peut signifier :
1. L'export GL via settlements n'a jamais été activé sur ce compte (il utilise l'export via payables `bookkeepingStatus` à la place)
2. Ces anciens settlements sont historiquement antérieurs à la mise en place de l'intégration ERP

→ `state: "created"` ne signifie pas forcément "en attente d'action" — peut être un état permanent pour les comptes sans intégration ERP settlements.

## Découverte : failedToExport avec statusUpdatedAt = null

Les settlements `failedToExport` ont tous `statusUpdatedAt: null`. Il est impossible de savoir **quand** l'export a échoué depuis les données retournées. Les échecs datent de 2020.

```json
{
  "exportedAt": null,
  "statusUpdatedAt": null,
  "state": "failedToExport"
}
```

→ Pour auditer les échecs récents, utiliser le filtre date `clearedFrom`/`clearedTo` pour isoler une période.

## Champs retournés

```json
{
  "id": "uuid",
  "type": "payment | reimbursement | refund | cashReturn",
  "medium": "card | wiretransfer",
  "paidFrom": "spendeskAccount | externalAccount",
  "transactionDescription": "description",
  "clearedAt": "2024-01-15T00:00:00.000Z",
  "currency": "EUR",
  "billingCurrency": "EUR",
  "billingExchangeRate": 1,
  "state": "created | exported | failedToExport",
  "exportedAt": null,
  "statusUpdatedAt": null,
  "amount": { "amount": 21146, "currency": "EUR", "precision": 2 },
  "billingAmount": { "amount": 21146, "currency": "EUR", "precision": 2 },
  "allocations": [
    {
      "amount": { "amount": 21146, "currency": "EUR", "precision": 2 },
      "currency": "EUR",
      "payableId": "uuid-du-payable"
    }
  ]
}
```

## Montants négatifs

Un settlement peut avoir un montant négatif (`amount: -175780`) — c'est un **remboursement** ou **refund** (ex: annulation de réservation, avoir fournisseur). L'exemple observé : 3 refunds MWC Barcelona suite à l'annulation de l'événement COVID.

## Filtrer par période de clearing

```json
{
  "state": ["created"],
  "clearedFrom": "2026-01-01",
  "clearedTo": "2026-06-30"
}
```

→ Pour la réconciliation mensuelle, toujours filtrer par `clearedFrom`/`clearedTo` — sans filtre, on obtient toute l'historique.

## paidFrom : externalAccount vs spendeskAccount

| Valeur | Signification |
|--------|--------------|
| `spendeskAccount` | Payé depuis le wallet Spendesk (cartes, virements Spendesk) |
| `externalAccount` | Payé depuis un compte bancaire externe (remboursements manuels) |

## Exemples de prompts utilisateur

- "Quels settlements n'ont pas encore été exportés vers notre ERP ?"
- "Y a-t-il des échecs d'export à corriger ?"
- "Donne-moi tous les mouvements clearés en juin 2026 pour la réconciliation bancaire"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s40-settlements-non-exportes.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 s40-settlements-non-exportes.md .claude/s40-settlements-non-exportes.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_settlements.

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