---
name: s10-factures-a-exporter-comptabilite
scenario: S10
description: Lister les factures et dépenses prêtes à exporter vers le logiciel comptable (bookkeepingStatus=toExport)
tags: [payables, bookkeeping, export, accounting, ERP]
when_to_use: Avant un export comptable, pour identifier exactement ce qui est prêt à envoyer à l'ERP sans risque de double-posting
risk: P1 — Inclure bookkeepingStatus=exported dans le filtre génère du double-posting côté ERP
---

# Instructions — Factures prêtes à exporter en comptabilité

## ⚠️ Règle critique anti double-posting

Les trois statuts `bookkeepingStatus` représentent le cycle comptable :
- `toPrepare` : reçu dans Spendesk, pas encore reviewé
- `toExport` : reviewé et prêt à envoyer à l'ERP → **c'est ce qu'on veut ici**
- `exported` : déjà envoyé à l'ERP → **NE PAS inclure** pour éviter le double-posting

Ce statut est distinct du statut de paiement (`paymentStatus=toPay/paid`) — une facture peut être prête à exporter sans être encore payée.

## Étape 1 — Identifier la compagnie

Appelle `list_companies`.

## Étape 2 — Récupérer les payables toExport

Appelle `get_payables` avec :
```json
{
  "companyId": "...",
  "filters": {
    "field": "bookkeepingStatus",
    "operator": "=",
    "value": ["toExport"]
  }
}
```

Paginer si `hasNextPage=true`.

## Étape 3 — Optionnel : filtrer par période

Si l'utilisateur veut uniquement les payables d'une période donnée, combiner avec un filtre `payableDate` :
```json
{
  "operator": "and",
  "subfilters": [
    { "field": "bookkeepingStatus", "operator": "=", "value": ["toExport"] },
    { "field": "payableDate", "operator": "between", "value": { "from": "...", "to": "..." } }
  ]
}
```

## Étape 4 — Présenter les résultats

Afficher :
- Nombre total de payables prêtes à exporter
- Total en devise fonctionnelle (sommer `functionalAmount.amount / 10^precision`)
- Liste avec : date, fournisseur/employé, type (invoicePurchase/expenseClaim/etc.), montant, N° de facture
- Regrouper par `payableType` pour faciliter l'export ERP

## Note sur toPrepare

Les payables `toPrepare` ne sont pas encore prêtes — elles doivent d'abord être reviewées dans Spendesk avant de passer à `toExport`. Pour les voir : même appel avec `value: ["toPrepare"]`.

## Exemple de prompt

- "Quelles factures sont prêtes à exporter en comptabilité ?"
- "Donne-moi la liste des payables toExport pour mon export mensuel"
