Limite de crédit ( credit_limit )
Une credit_limit est un plafond de crédit accordé à un acheteur par un marchand. Un acheteur peut en avoir plusieurs — une par source de décision — et la plateforme résout à la demande la limite effective en combinant ces enregistrements selon une stratégie paramétrable.
Rôle
La limite de crédit encadre le risque acheteur dans les flux B2B différés. Elle est
comparée au
receivable de l'acheteur
pour déclencher des alertes (credit_limit.approaching) ou bloquer de
nouvelles transactions (credit_limit.exceeded). Elle est également
utilisée dans les processus d'orchestration pour décider d'accorder ou
refuser une demande de crédit.
Le modèle multi-sources permet de représenter des décisions provenant d'acteurs différents (le marchand lui-même, un assureur-crédit, un prestataire BNPL) et de les combiner selon la logique métier de chaque flux.
Identifiant et structure
Chaque limite de crédit porte un identifiant stable préfixé par
crl_.
{
"object": "credit_limit",
"id": "crl_5f3a2e9b1c8d4f7e",
"buyer_id": "cmp_3a8f1d9c2b4e7f6a",
"merchant_id": "mer_1a2b3c4d5e6f7a8b",
"amount_excluding_tax": 50000000,
"amount_including_tax": null,
"currency": "eur",
"source": "credit_insurer",
"source_reference": "AT-GARANTIE-2026-00512",
"metadata": {},
"valid_from": "2026-01-01",
"valid_until": "2026-12-31",
"active": true,
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-01-10T09:00:00.000Z"
}Champs
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant de la limite (préfixe crl_). |
object | string | Toujours "credit_limit". |
buyer_id | string | Entreprise acheteuse concernée (cmp_…). |
merchant_id | string | Marchand propriétaire de la limite. |
amount_excluding_tax | integer | null | Plafond HT en centimes. Au moins l'un des deux montants (HT ou TTC) est requis. |
amount_including_tax | integer | null | Plafond TTC en centimes. Au moins l'un des deux montants (HT ou TTC) est requis. |
currency | string | Code devise ISO 4217 en minuscules (ex. eur). |
source | enum | Origine de la limite : merchant, credit_insurer ou bnpl_provider. |
source_reference | string | null | Référence dans le système source (identifiant de la décision chez l'assureur-crédit, etc.). |
metadata | object | Map plate de scalaires `string | number | boolean`, selon la convention metadata de l’API. |
valid_from | date | null | Début de validité. Null = valide depuis toujours. |
valid_until | date | null | Fin de validité. Null = pas d'expiration. |
active | boolean | Si false, la limite est ignorée dans les calculs de limite effective et dans la surveillance du receivable. |
created_at | datetime | Date de création. |
updated_at | datetime | Date de dernière mise à jour. |
Au moins l'un des deux montants (amount_excluding_tax ou
amount_including_tax) est requis à la création. Les deux peuvent être
renseignés simultanément. La basis choisie au moment du calcul
détermine lequel est utilisé.
Source
La source identifie qui a pris la décision d'accorder cette
limite. Un même acheteur peut avoir une limite par source, toutes actives en même
temps.
| Source | Description |
|---|---|
merchant | Plafond fixé directement par le marchand. Décision interne, sans intervention de tiers. |
credit_insurer | Plafond accordé par un assureur-crédit (Allianz Trade, Coface…). source_reference porte l'identifiant de la garantie. |
bnpl_provider | Plafond accordé par un prestataire BNPL. Peut être combiné avec d'autres sources selon la stratégie choisie. |
Validité et activation
Une limite de crédit est prise en compte dans les calculs uniquement si elle est
active: true et si la date courante est comprise dans la fenêtre
[valid_from, valid_until] (les deux bornes sont inclusives ; une
borne nulle signifie absence de contrainte de ce côté).
Mettre active: false suspend immédiatement la limite sans la supprimer,
ce qui préserve l'historique des décisions. Une limite désactivée reste
accessible via l'API mais n'est plus considérée par la surveillance du
receivable ni par la résolution de la limite effective.
Si un acheteur n'a aucune limite active pour un marchand donné, les événements
credit_limit.exceeded et credit_limit.approaching ne
sont jamais émis pour cet acheteur — le receivable n'est pas surveillé
contre un plafond.

Limite effective
Lorsqu'un acheteur a plusieurs limites actives (plusieurs sources, ou plusieurs décisions d'une même source), la plateforme les combine via l'endpoint de résolution.
GET /v1/credit-limits/effective ?merchant_id=mer_1a2b &buyer_id=cmp_3a8f ¤cy=eur &strategy=maximum &basis=excluding_tax &sources=merchant,credit_insurer &at=2026-06-17
{
"object": "effective_credit_limit",
"merchant_id": "mer_1a2b",
"buyer_id": "cmp_3a8f",
"currency": "eur",
"at": "2026-06-17",
"strategy": "maximum",
"basis": "excluding_tax",
"sources": ["merchant", "credit_insurer"],
"amount": 50000000,
"amount_excluding_tax": 50000000,
"amount_including_tax": null,
"selected_credit_limit_id": "crl_5f3a2e",
"selected_credit_limit_ids": ["crl_5f3a2e"],
"candidates": [
{
"id": "crl_5f3a2e",
"source": "credit_insurer",
"amount": 50000000
}
]
}Stratégies de résolution
| strategy | Description |
|---|---|
maximum | Retient la limite la plus haute parmi les candidates. Utile quand chaque source couvre l'intégralité du risque (ex. assurance-crédit). |
minimum | Retient la limite la plus basse. Approche conservatrice quand plusieurs companies doivent toutes approuver. |
cumulative | Additionne toutes les limites candidates. Utile quand les sources sont complémentaires (ex. marchand + assureur couvrent des tranches distinctes). |
Le champ basis (excluding_tax ou
including_tax) détermine quel montant est utilisé pour la comparaison
et retourné dans amount. Toutes les limites candidates doivent avoir
le montant correspondant à la base choisie pour être retenues.
Dans les processus
credit.add_credit_limit
Crée une nouvelle limite de crédit pour une company. Utile pour enregistrer une décision d'assureur-crédit reçue via webhook ou formulaire.
Paramètres principaux
{
"company": "platform.company",
"basis": "excluding_tax",
"amount": 50000000,
"currency": "eur",
"source": "credit_insurer",
"source_reference": "AT-GARANTIE-2026-00512",
"valid_from": "2026-01-01",
"valid_until": "2026-12-31"
}Sortie
{
"credit_limit": "platform.credit_limit"
}credit.evaluate_credit_availability
Node routeur qui combine en une seule étape la résolution de la limite effective, le calcul de l'exposition courante et la décision d'approbation. C'est le point d'entrée recommandé pour les vérifications de capacité dans un processus de demande de crédit.
Paramètres
{
"company": "platform.company",
"currency": "eur",
"basis": "excluding_tax",
"strategy": "maximum",
"requested_amount": 10000000
}Le node sélectionne la route approved ou rejected.
Sorties
{
"effective_credit_limit": "platform.effective_credit_limit",
"credit_exposure": "platform.credit_exposure",
"credit_availability_check": "platform.credit_availability_check"
}Nodes individuels
Les trois étapes de credit.evaluate_credit_availability sont également
disponibles séparément pour plus de flexibilité :
| Node | Rôle |
|---|---|
credit.fetch_effective_credit_limit | Résout la limite effective (stratégie, base, sources, date). |
credit.fetch_credit_exposure | Récupère l'exposition de crédit courante de la company. |
credit.check_credit_availability | Décide ( |
credit.grant_credit | Augmente l'exposition autorisée après décision favorable — à appeler
après |
Événements
| Événement | Déclencheur |
|---|---|
credit_limit.updated | La limite vient d'être créée ou modifiée (montants, dates, active, source_reference). |
credit_limit.exceeded | Le solde TTC du receivable de l'acheteur dépasse la limite active. Déclenche également la suspension de la company. |
credit_limit.approaching | Le solde TTC atteint 80 % de la limite active (sans la dépasser). |
credit_limit.updated est émis à la fois à la création et à chaque
modification — il n'y a pas d'événement credit_limit.created
distinct.
credit_limit.exceeded et credit_limit.approaching sont
émis lors du refresh du snapshot du receivable, uniquement si l'acheteur a
une limite active. Voir la
documentation du receivable
pour le détail du déclenchement et la logique de suspension.