Comprendre quotas et dépassements
Politique hybride 4 états (OK / WARN_80 / WARN_100_GRACE / BLOCK), délai de grâce 48 h, dérogation mensuelle, et fenêtre de grâce 14 jours en cas d'impayé.
Bordoly gère 3 quotas par établissement (enlèvements/mois, utilisateurs) et un mécanisme de fenêtre de grâce 14 jours en cas d'impayé. Cet article explique ce qui se passe quand un seuil est franchi, et ce que vous pouvez faire.
Les 4 états du quota — de OK à BLOCKED, avec la période de grâce de 48 h.
Les 3 quotas suivis
| Métrique | Décompte | Reset |
|---|---|---|
| Enlèvements/mois | Demandes d'enlèvement créées dans Bordoly (annulation producteur < 24h avant acceptation = refund) | 1er du mois UTC |
| Utilisateurs | Tous comptes actifs (admin + technicien + chauffeur) sur l'étab | Pas de reset |
| Établissements | Nombre de SIRETs membres du compte de facturation | Pas de reset |
Les plafonds sont par plan :
| Plan | Enlèvements/mois/étab | Users/étab | Établissements |
|---|---|---|---|
| Starter | 15 | 10 | 1 |
| Pro | 50 | 20 | 3 |
| Business | 200 | 60 | 15 |
| Entreprise | Illimité | Illimité | Illimité |
Établissements (SIRETs) sont plafonnés par plan depuis le 2026-05-02 : 1 sur Starter, 3 sur Pro, 15 sur Business, illimité sur Entreprise. Pour ajouter un SIRET au-delà du cap, upgrade vers le plan supérieur.
À noter sur les utilisateurs : un même utilisateur rattaché à plusieurs établissements est compté une fois par établissement (un quota par étab). Détails dans Choisir le bon plan.
Étape 1 — Suivre votre consommation
Depuis Facturation → Consommation, Bordoly affiche pour chaque établissement :
- Enlèvements/mois : compteur en cours / plafond, jauge colorée
- Utilisateurs : compteur / plafond
- Une alerte quand vous franchissez les 80 % du plafond
Si vous êtes systématiquement à 90 %+ d'un plafond, upgradez avant le mois prochain.
Étape 2 — Que se passe-t-il en cas de dépassement
Bordoly applique une politique de quota hybride depuis le 2026-05-12 — au lieu d'un "feu rouge" binaire, votre compte traverse quatre états selon la consommation mensuelle :
| Statut | Quand | Comportement | Bannière |
|---|---|---|---|
| OK | < 80 % du plafond | normal | aucune |
| WARN_80 | 80 → 99 % | mutations OK | bandeau orange "Quota proche" |
| WARN_100_GRACE | 100 → 110 %, ou délai de grâce 48 h en cours | mutations OK | bandeau rouge "Quota dépassé — délai jusqu'au …" + bouton Demander une dérogation |
| BLOCK | > 110 % ET grâce expirée ET pas de dérogation | 402 QUOTA_EXCEEDED | bandeau rouge cadenas — mutations bloquées |
Concrètement :
- À 80 % : bandeau orange en haut de l'app — vous savez qu'il faut planifier (upgrade ou anticiper la fin de mois)
- À 100 % : Bordoly démarre une fenêtre de grâce de 48 h (timestamp
grace_started_atposé une seule fois) pendant laquelle vos mutations passent encore. Le bandeau affiche la date limite. - Au-delà de 110 % une fois la grâce expirée : 402 sur création — l'UI affiche le bandeau cadenas avec deux options : upgrader le plan OU demander une dérogation (cf. ci-dessous).
Les lectures ne sont jamais bloquées : vous gardez accès à toutes vos données et vos exports, quelle que soit la consommation.
La dérogation mensuelle
Quand vous êtes en WARN_100_GRACE ou BLOCK, le BO ou un co-titulaire peut accorder
une dérogation valable jusqu'à fin de mois calendaire depuis le bandeau (bouton
"Demander une dérogation") ou via POST /admin/billing/accounts/:id/quota-overrides.
- Une seule dérogation par métrique par mois. Un second clic dans le mois est un no-op silencieux — la première dérogation reste valide.
- Effet immédiat : le compte repasse en
OKjusqu'au 1er du mois suivant. - Audit-loggé sous
billing.quota.override_granted(sévérité warning) — toute dérogation laisse une trace pour le suivi finance. - Pas un substitut à l'upgrade : si vous prenez une dérogation chaque mois, c'est le signal pour passer au plan supérieur. La dérogation est un escape hatch opérationnel, pas un mode de fonctionnement.
Cas — Pas d'abonnement actif
Si votre billing account n'a pas d'abonnement actif (post-résiliation, jamais souscrit) :
- Mutations bloquées avec
reason: "no_subscription" - L'UI propose Souscrire à un plan
- Aucune limite de durée — tant que vous ne souscrivez pas, l'écriture reste bloquée
Cas — Impayé (fenêtre de grâce 14 jours)
Si une facture Stripe échoue (carte refusée, prélèvement KO) :
- Jour J — Stripe envoie
invoice.payment_failed, Bordoly stamppast_due_since = now() - J → J+14 — fenêtre de grâce de 14 jours : tout fonctionne normalement, vous recevez des relances e-mail automatiques (J, J+3, J+7, J+11)
- Pendant la fenêtre — Stripe retente automatiquement le paiement plusieurs fois
- J+14 si toujours non payée — l'écriture est verrouillée avec
reason: "past_due_locked". Lectures et exports restent accessibles. - Paiement réussi (à tout moment) —
past_due_sinceest effacé, accès rétabli immédiatement
Pendant la fenêtre de grâce, vos opérations terrain ne s'arrêtent pas. C'est un design volontaire : une carte expirée un jour férié ne doit pas bloquer un chauffeur. Mais si rien n'est fait sous 14 jours, l'écriture est coupée pour protéger l'intégrité du compte.
Étape 3 — Débloquer la situation
| Symptôme | Action |
|---|---|
| Bandeau orange WARN_80 | Anticiper l'upgrade — encore ~20 % de marge |
| Bandeau rouge WARN_100_GRACE | Cliquer "Demander une dérogation" (BO ou co-titulaire) OU upgrader |
| Bandeau cadenas BLOCK | Upgrader le plan OU dérogation OU attendre le 1er du mois |
| Quota users atteint | Désactiver des comptes inactifs OU upgrader |
| Pas d'abonnement | Souscrire depuis Facturation → Choisir un plan |
| Past due (carte refusée) | Mettre à jour la carte depuis Facturation → Méthode de paiement |
| Past due > 14 j (locked) | Mettre à jour la carte → déverrouillage immédiat sur prochain webhook |
| Doute sur compteur | Contacter support — exports brut et compteur reconcillés |
Cas d'usage
Pic de production saisonnier — vous savez que vous allez dépasser 50 enlèvements en mai (habituellement 40). Upgradez préventivement vers Business début mai, downgradez vers Pro en juin (préavis 30 jours sur le downgrade).
Imprévu fin de mois — votre transporteur propose une tournée bonus le 28 du mois,
vous passez de 13 à 18 enlèvements (cap Starter 15). Le bandeau passe en
WARN_100_GRACE avec 48 h de délai. Vous avez le temps de planifier l'upgrade pour le
mois suivant — ou de cliquer "Demander une dérogation" pour finir le mois sans friction.
Carte CB refusée pendant les vacances — Stripe vous écrit, vous voyez l'e-mail le J+5. Vous mettez à jour la carte, paiement passe, situation rétablie sans interruption opérationnelle.
Compte non payé depuis 20 jours — vos chauffeurs essaient de signer un BSD, ça plante avec "402 past_due_locked". Le BO met à jour la carte, retente, ça repasse.
Bonnes pratiques
- Activez les notifications facturation dans Réglages → Notifications pour ne rien rater des relances Stripe
- Désignez un BO joignable en vacances (ou un BO de remplacement temporaire) — éviter les coupures opérationnelles évitables
- Auditez les utilisateurs inactifs chaque trimestre — un ancien Operator qui ne se connecte plus consomme un slot user inutile
- Pour des gros écarts saisonniers récurrents, demandez un devis Entreprise — quotas illimités, plus de stress
Et après ?
Vous êtes bloqué ? Écrivez-nous à support@bordoly.fr — engagement Standard : réponse sous 4h ouvrées (lun-ven 9h-18h CET). Entreprise : sous 1h ouvrées (8h-20h CET).