Le versement qui n'a pas de nom
Un client écrit à vingt-deux heures avec une capture d'écran Wave et demande pourquoi il reçoit encore une relance. Le gérant ouvre l'application, cherche le montant, remonte trois jours de transactions, et n'est toujours pas certain que ce versement corresponde bien à cette facture. Voilà le point de départ des rapprochements de paiements que nous concevons pour des entreprises d'Afrique de l'Ouest, et la difficulté réelle n'est pas celle que l'on imagine en lisant l'énoncé.
Sur un relevé mobile money, le payeur n'apparaît pas sous le nom que porte la facture, il apparaît sous un numéro de téléphone, et souvent ce numéro n'est pas le sien, c'est celui de son épouse, de son apprenti, du chauffeur envoyé récupérer la commande ou du cousin qui avait du solde ce jour-là . Le caissier sait de tête que tel numéro correspond à tel restaurant de Ouakam, jusqu'au jour où il est absent, et ce savoir non écrit est la vraie raison pour laquelle personne d'autre que lui ne peut faire le pointage. Toute la conception tient dans ce constat, il faut sortir ce carnet mental d'une seule tête, sans prétendre le deviner à sa place.
L'entrée par fichier déposé, et ce qu'elle coûte
Le premier arbitrage porte sur la façon dont les données entrent. Nous aurions préféré un accès direct aux transactions, un flux qui pousse chaque encaissement dès qu'il tombe. Dans la majorité des dossiers, cet accès n'existe pas pour l'entreprise, ni du côté de l'opérateur mobile, ni du côté de la banque dont le relevé arrive en fin de mois avec des virements groupés et des intitulés que personne ne reconnaît. Nous avons donc écarté l'intégration applicative comme condition de démarrage, et nous construisons sur ce que le dirigeant peut déjà sortir lui-même, l'export du tableau de bord Wave Business, le relevé Orange Money, le relevé bancaire, en tableur ou en PDF.
Le fichier est déposé dans un dossier partagé ou envoyé à une adresse dédiée, puis il est lu, daté et conservé tel quel, sans jamais être réécrit. Ce choix a un prix et nous le disons. Le rapprochement n'est pas instantané, il suit le rythme des dépôts, et il dépend d'un geste humain que l'on peut oublier. En échange, il survit à une connexion qui tombe au milieu de l'après-midi, il ne casse pas quand un opérateur change son interface, il laisse toujours la pièce brute à montrer au comptable ou au client, et il fonctionne dès le premier jour plutôt qu'après des semaines de démarches. Quand un accès direct devient disponible, il se branche derrière la même chaîne et plus personne ne dépose rien, mais la chaîne n'aura jamais été suspendue à cette ouverture.
Un format commun avant toute comparaison
Les trois relevés ne se ressemblent pas. Wave Business donne un horodatage, un montant, des frais et un numéro de téléphone. Orange Money présente les mêmes informations autrement, avec ses propres libellés. Le relevé bancaire parle une troisième langue. Pendant ce temps les factures vivent dans un classeur Excel, dans un Google Sheets partagé ou dans un logiciel de facturation, et c'est là qu'il faut aller les lire plutôt que de demander à l'entreprise de changer d'outil, un chantier qui se décide pour d'autres raisons que le pointage des paiements.
La deuxième décision consiste à ne rien rapprocher avant d'avoir ramené chaque ligne, d'où qu'elle vienne, à la même forme, une date et une heure, un montant reçu, les frais retenus, le canal, le numéro du payeur, la référence de transaction et le libellé d'origine. C'est le travail ingrat de la chaîne et c'est lui qui rend tout le reste possible. La référence de transaction y joue un rôle particulier, elle sert de clé d'unicité, parce que les doublons d'export sont fréquents dès que l'on télécharge deux fois le même relevé sur des périodes qui se chevauchent.
Nous avons aussi écarté une tentation, celle de normaliser les noms de payeurs pour les rapprocher par ressemblance. Sur un relevé mobile money il n'y a pas de nom fiable à comparer, et une correspondance approximative sur un identifiant faible produit des erreurs silencieuses, c'est-à -dire la pire catégorie d'erreurs quand le résultat finit en comptabilité.
Des règles ordonnées, de la plus sûre à la plus souple
Le moteur essaie les règles dans un ordre explicite plutôt que de calculer un score global. D'abord la référence de facture citée dans le motif du paiement, qui ne laisse aucun doute. Puis le numéro de téléphone déjà associé à un client dans le carnet de correspondances. Puis le montant exact d'une facture ouverte dans une fenêtre de quelques jours. Puis les combinaisons, plusieurs versements qui font ensemble le total d'une facture, ou un versement qui couvre deux factures du même client. Chaque rapprochement porte une mention de confiance qui dit par quelle règle il a été obtenu.
Un score unique aurait été plus élégant à écrire et plus court à maintenir. Nous l'avons écarté parce qu'il est inexplicable au comptoir. Un gérant doit pouvoir lire pourquoi la machine propose cette association, et un ordre de règles se raconte en une phrase là où une pondération ne se raconte pas.
Ce qui ne tombe pas juste n'est jamais deviné, cela part dans une file triée par type.
- un versement reçu sans facture correspondante
- une facture échue sans versement
- un montant inférieur ou supérieur au dû
- un numéro de payeur encore inconnu
- un paiement arrivé après un avoir
La file reste courte parce qu'elle est vidée chaque jour plutôt qu'une fois par mois, et le point du matin part sur WhatsApp ou par mail, parce que c'est là que le dirigeant lit réellement ses messages.
Les frais retenus méritent leur propre règle. Le montant facturé et le montant effectivement reçu sont suivis séparément, avec les frais entre les deux, et une facture dont il ne manque que la part des frais n'est pas comptée comme un impayé tant que l'écart tient dans la tolérance fixée par l'entreprise. Au-delà de cette tolérance, l'écart remonte, parce qu'un manquant inhabituel n'est pas toujours un frais.
Ce que nous avons constaté, et ce qui reste limité
Avant toute mise en service, nous rejouons les règles sur des mois passés dont le résultat est déjà connu, puis nous comparons ligne à ligne avec le pointage fait à la main. Ce sont les désaccords qui enseignent, ils révèlent soit une règle trop large, soit une erreur ancienne que personne n'avait vue. Ensuite la chaîne tourne en parallèle de la méthode existante, et l'ancienne façon de faire n'est abandonnée que lorsque les deux disent la même chose.
Les limites sont nettes. Un versement sans référence, venu d'un numéro inconnu, pour un montant qui ne correspond à aucune facture ouverte, reste indécidable, et il doit le rester. Le carnet de correspondances démarre vide, donc les premières semaines demandent plus de confirmations que les suivantes, chaque confirmation étant mémorisée pour que le versement suivant se rattache seul. Si les factures ne sont aujourd'hui écrites nulle part de façon exploitable, il n'y a rien à comparer et le chantier commence ailleurs. Et la capture d'écran envoyée sur WhatsApp ne prouve rien par elle-même, la preuve est la ligne du relevé de l'opérateur avec sa référence de transaction, ce qui évite aussi à un vendeur de juger seul une image sur un téléphone.
La validation humaine est le dernier maillon
Rien ne part sans qu'une personne de l'entreprise ait tranché. Elle arbitre les écarts et les rapprochements incertains, elle valide les associations nouvelles entre un numéro de téléphone et un client, elle confirme avant qu'une facture passe en payée. La machine prépare, propose et montre sur quoi elle s'appuie. Elle ne solde jamais un écart d'elle-même, ne déclare payée une facture sur un rapprochement douteux, n'envoie aucune relance et n'écrit rien dans la comptabilité sans accord.
Ce point n'est pas une précaution de façade, il découle de l'architecture. Une chaîne qui classe ses incertitudes au lieu de les masquer n'a besoin d'un humain que sur la marge, et c'est précisément là que son jugement vaut quelque chose. Si vous construisez ce genre de rapprochement ailleurs sur le continent, la première question à poser n'est pas celle de l'outil, c'est celle du carnet, qui sait aujourd'hui, dans l'entreprise, que ce numéro est ce client, et que se passe-t-il le jour où cette personne n'est pas là .













