Payables exportés vers l'ERP depuis une date (firstExportedAt)

Récupère les payables exportés vers l'ERP depuis une date donnée via le filtre firstExportedAt. Permet de réconcilier les flux entre Spendesk et le logiciel comptable.

↓ Télécharger le skill (.md)
86/100·⚡ Quotidien·DébutantController
Export ERPget_payables

🎯 But du skill

Récupère les payables exportés vers l'ERP depuis une date donnée via le filtre firstExportedAt. Permet de réconcilier les flux entre Spendesk et le logiciel comptable.

📊 Ce que ça produit

Liste des payables exportés avec date d'export, montant et référence vers l'ERP.

Bénéfice

Avant

Réconciliation manuelle entre les exports Spendesk et le journal comptable dans l'ERP.

Après

Liste précise des payables exportés sur la période, prête pour la réconciliation automatique.



# Payables exportés vers l'ERP depuis une date (firstExportedAt)

## Pattern de synchronisation ERP incrémentale

`firstExportedAt` enregistre la date du **premier export vers l'ERP** de chaque payable. C'est la base d'une stratégie de synchronisation incrémentale fiable.

```json
{
  "companyId": "<companyId>",
  "filters": {
    "field": "firstExportedAt",
    "operator": "after",
    "value": "<timestamp-dernier-export>"
  },
  "pageSize": 100
}
```

→ Retourne uniquement les payables qui n'étaient pas encore exportés lors du dernier batch.
→ `hasNextPage: true` si plus de résultats — paginer jusqu'à épuisement pour ne rien manquer.
→ Seuls les payables avec `state=exported` ont un `firstExportedAt` — les `toPrepare`/`toExport` sont exclus automatiquement.

## Valeurs pratiques pour la synchronisation

```json
// Depuis hier soir
{ "field": "firstExportedAt", "operator": "after", "value": "yesterday" }

// Depuis le 1er du mois courant
{ "field": "firstExportedAt", "operator": "after", "value": "thisMonth" }

// Fenêtre précise (timestamp du dernier run)
{ "field": "firstExportedAt", "operator": "after", "value": "2026-06-01T00:00:00.000Z" }

// Dernier mois
{ "field": "firstExportedAt", "operator": "between", "value": { "from": "lastMonth", "to": "thisMonth" } }
```

(Voir skill S17 pour la liste complète des opérateurs de date.)

## ⚠️ payableDate ≠ firstExportedAt — factures backdatées fréquentes

`firstExportedAt` peut être très postérieur à `payableDate` — une facture de 2023 peut être exportée en 2026 :

| Description | payableDate | firstCreatedAt | firstExportedAt |
|-------------|-------------|----------------|-----------------|
| "MALT" (facture consultance) | 2023-09-13 | 2026-06-02 | 2026-06-02 |
| "Regnology CONSO" | 2025-12-08 | 2026-06-12 | 2026-06-25 |
| "ABM platform tool" | 2025-10-27 | 2026-06-16 | 2026-06-25 |

→ Un filtre par `payableDate >= 2026-06-01` **manquerait** toutes ces factures.
→ Un filtre par `firstExportedAt >= 2026-06-01` les **capture toutes** — c'est ce qui compte pour l'ERP.

## firstCreatedAt ≠ firstExportedAt

Il peut s'écouler plusieurs jours entre la saisie dans Spendesk et l'export vers l'ERP :

| Payable | firstCreatedAt | firstExportedAt | Délai |
|---------|----------------|-----------------|-------|
| "Accompagnement partenaire" | 2026-06-11 | 2026-06-25 | 14 jours |
| "REGNOLOGY CONSO 2026" | 2026-06-15 | 2026-06-25 | 10 jours |
| "MALT" | 2026-06-02 | 2026-06-02 | 0 jours (export immédiat) |

→ Pour un suivi ERP précis, toujours utiliser `firstExportedAt`, pas `firstCreatedAt`.

## Déduplication — éviter le double-posting

Si votre ERP est déjà à jour jusqu'au `<timestamp>`, utiliser :
```json
{ "field": "firstExportedAt", "operator": "after", "value": "<timestamp>" }
```

Cela garantit qu'un payable déjà exporté n'est jamais renvoyé dans le batch suivant (`firstExportedAt` ne change jamais après le premier export).

## Combiner avec d'autres filtres

Pour n'exporter que certains types :
```json
{
  "companyId": "<companyId>",
  "filters": {
    "operator": "and",
    "subfilters": [
      { "field": "firstExportedAt", "operator": "after", "value": "2026-06-01T00:00:00.000Z" },
      { "field": "payableType", "operator": "=", "value": ["invoicePurchase", "creditNote"] }
    ]
  },
  "pageSize": 100
}
```

Note: vérifier les combinaisons de filtres AND — certaines peuvent échouer (voir skill S11 pour le bug connu).

## Exemples de prompts

- "Quelles factures ont été exportées vers la compta depuis hier ?"
- "Donne-moi toutes les payables exportées ce mois pour ma réconciliation ERP"
- "Y a-t-il de nouvelles factures à importer depuis notre dernier batch du 1er juin ?"

Comment installer ce skill

/
  1. 1
    Télécharger le fichier s19-payables-exportes-depuis-date.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 s19-payables-exportes-depuis-date.md .claude/s19-payables-exportes-depuis-date.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_payables.

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