ADR-0013 — UMR SEPA format KOHINOS-YYYYMMDD-XXXXXXXX
| Statut | Accepté |
|---|---|
| Date | 2025-06-15 |
| Auteurs | Julien Jorry |
Contexte
L'Unique Mandate Reference SEPA doit être : stable (jamais réutilisée), lisible humainement (trésorier qui audite les rejets bancaires), collisionless (banques rejettent les UMR dupliquées), de longueur ≤ 35 caractères.
Décision
Format : KOHINOS-YYYYMMDD-XXXXXXXX où :
KOHINOS-identifie l'émetteur (8 chars)YYYYMMDDdate de signature du mandat (8 chars)XXXXXXXX= 8 premiers hex de l'UUID v4 du mandat (8 chars)
SepaMandate::generateMandateReference() après double-flush (UUID disponible).
Conséquences positives
- Lisible humainement.
- 4 milliards de variantes par jour : collisions extrêmement improbables.
- Sous-jacent à une contrainte UNIQUE en base.
- Identifie l'émetteur en cas d'erreur de routage bancaire.
Conséquences négatives
- Format propre à Kohinos : non standard.
- Double-flush nécessaire pour avoir l'UUID avant la génération de l'UMR.
Alternatives examinées
- UUID complet — rejeté : illisible humainement.
- Numéro incrémental — rejeté : prévisible, fuite d'information sur le nombre d'adhérents.
Références
- bounded-contexts.html
src/Entity/Sepa/SepaMandate.php