Soyons honnêtes. La réconciliation bancaire, c'est l'une de ces tâches que tout le monde fait, personne n'aime, et que tout le monde pense inévitable. Vous recevez les transactions de votre banque, vous les comparez avec vos écritures, vous ventilez les frais, vous repassez les comptes… et vous recommencez le mois suivant.
Ce que vous ne savez peut-être pas, c'est qu'Odoo peut faire une bonne partie de ce travail à votre place, y compris lire les montants dans le libellé de votre relevé bancaire et générer automatiquement les bonnes lignes comptables, avec les bons comptes, les bons montants, sans que vous ayez à taper quoi que ce soit.
Ça s'appelle les modèles de réconciliation avec expressions régulières. Et non, vous n'avez pas besoin d'être développeur pour en profiter.
1. Le problème concret : des informations sous vos yeux, saisies à la main
Prenons un exemple réel. Chaque semaine (ou presque), votre banque vous envoie une remise carte bancaire. Le libellé ressemble à ça :
Remise carte bancaire 0175877 REF. 5122400403 MT. BRUT. 836,00 EUR (FRAIS E. 5,02 DONT HT E. 4,18 TVA TAUX 20,00 % E. 0,84)
Ce que vous voulez comptablement, c'est :
| Compte | Sens | Montant |
|---|---|---|
| 512 — Banque | Débit | 830,98 € |
| 583 — Virements internes | Crédit | 836,00 € |
| 627810 — Frais bancaires HT | Débit | 4,18 € |
| 445566 — TVA déductible | Débit | 0,84 € |
Toutes ces informations sont déjà dans le libellé. Noir sur blanc. Mais sans automatisation, c'est vous qui les recopiez à la main, à chaque fois, avec le risque d'erreur qui va avec. Multiplié par le nombre de transactions du mois, ça représente un temps non négligeable sur une tâche qui n'apporte strictement aucune valeur ajoutée.
2. C'est quoi, une expression régulière ?
Bonne question, et vous n'avez pas à vous en excuser. Le terme fait peur, la réalité est beaucoup plus simple.
Une expression régulière (ou "regex") est un motif de recherche écrit dans un langage universel. Elle permet de décrire non pas un mot précis, mais une structure et de retrouver automatiquement tout texte qui correspond à cette structure.
L'analogie comptable : si vous cherchez dans un fichier Excel toutes les cellules contenant le mot "BRUT", vous utilisez la recherche standard. Mais si vous cherchez "un montant en euros qui apparaît juste après le mot BRUT, quel que soit ce montant", la recherche standard ne suffit plus, parce que le montant change à chaque ligne. C'est exactement là qu'une regex intervient.
La regex BRUT\.\s*([\d][\d\s]*,\d{2})\s*EUR se lit ainsi en français courant : "Trouve le mot BRUT suivi d'un point, ignore les espaces, puis capture le premier nombre au format français qui précède EUR." Résultat : Odoo extrait automatiquement 836,00 depuis le libellé, quel que soit le montant de la remise du jour.

Vous n'avez pas à écrire ces formules vous-même. Votre consultant les construit, les teste sur vos données réelles, et vous livre un modèle clé en main. Votre rôle : vérifier que ça fonctionne. Spoiler : ça fonctionne.
3. La solution : les modèles de réconciliation "Depuis le libellé"
Odoo propose des modèles de réconciliation (Comptabilité > Configuration > Modèles de réconciliation). La plupart des utilisateurs connaissent leur usage basique : créer une règle qui associe automatiquement une transaction bancaire à un compte, sur la base d'un mot-clé dans le libellé.
Ce que beaucoup ignorent, c'est que ces modèles disposent d'un type de montant particulièrement puissant : "Depuis le libellé". Ce mode permet à Odoo d'aller extraire un montant précis dans le texte du libellé grâce à une expression régulière, puis de l'affecter directement à la ligne comptable correspondante — sans calcul manuel, sans risque d'arrondi, sans intervention humaine.
Voici ce que vous configurez, une seule fois :
| Compte | Type de montant | Expression de recherche |
|---|---|---|
| 583000000 — Virements internes | Depuis le libellé | BRUT\.\s*([\d][\d\s]*,\d{2})\s*EUR |
| 627810 — Frais bancaires HT | Depuis le libellé | HT\s*E\.\s*([\d,]+) |
| 445566 — TVA déductible | Depuis le libellé | TVA TAUX.*?E\.\s*([\d,]+)\) |
Chaque expression repère la bonne valeur dans le libellé : le montant brut après "BRUT.", le HT après "HT E.", la TVA après le taux. Odoo lit, extrait, pose les montants et l'écriture est équilibrée.
La première fois que vous verrez ça fonctionner, vous aurez peut-être envie de vérifier deux fois. C'est normal. Faites-le. Les chiffres seront justes.
4. Sous le capot : comment Odoo lit le libellé
Libellé source : Remise carte bancaire 0175877 REF. 5122557001MT. BRUT. 836,00 EUR (FRAIS E. 5,02 DONT HT E. 4,18 TVA TAUX 20,00 % E. 0,84)
Capture du montant BRUT : compte 583
Expression : BRUT\.\s*([\d][\d\s]*,\d{2})\s*EUR
Odoo repère BRUT., ignore les espaces, capture tout ce qui ressemble à un montant français jusqu'à EUR. Résultat : 836,00 — crédité sur le compte 583.
Capture du HT : compte 627810
Expression : HT\s*E\.\s*([\d,]+)
Odoo repère HT E., ignore les espaces, capture le nombre immédiatement après. Résultat : 4,18 débité sur le compte 627810.
Capture de la TVA : compte 445566
Expression : TVA TAUX.*?E\.\s*([\d,]+)\)
Odoo repère TVA TAUX, saute jusqu'au dernier E. avant la parenthèse fermante, capture le nombre. Résultat : 0,84 débité sur le compte 445566.
Écriture finale générée automatiquement
| Compte | Débit | Crédit |
|---|---|---|
| 512 — Banque | 830,98 € | |
| 583 — Virements internes | 836,00 € | |
| 627810 — Frais HT | 4,18 € | |
| 445566 — TVA déductible | 0,84 € | |
| Total | 836,00 € | 836,00 € |
Équilibre parfait. Zéro saisie. Et ce, quelle que soit la valeur de la remise.
5. Ce que vous n'avez pas besoin de faire
- Pas besoin de créer une taxe particulière
- Pas besoin d'un développeur ou d'un accès technique
- Pas besoin de modifier votre plan comptable
- Pas besoin de toucher à une seule ligne de code Python
Tout se passe dans l'interface standard d'Odoo, dans un formulaire de configuration. Une fois paramétré, le modèle s'applique automatiquement à chaque nouvelle transaction qui correspond au pattern maintenant et pour toutes les suivantes.
6. Au-delà des remises carte : d'autres cas d'usage
L'exemple des remises carte est parlant parce qu'il est concret et récurrent. Mais la logique s'applique à tout libellé bancaire structuré et répétitif :
- Prélèvements de loyer avec montant variable selon indexation
- Remboursements de notes de frais avec ventilation multi-comptes
- Virements inter-sociétés avec référence à extraire
- Frais de services SaaS avec TVA intracommunautaire à isoler
Dès qu'un libellé bancaire contient une information structurée que vous recopiez à la main de façon répétitive, c'est un candidat à l'automatisation par regex.
7. Comment se lancer
L'approche que nous recommandons, étape par étape :
- Identifier les libellés récurrents dans vos relevés bancaires
- Repérer les montants que vous saisissez manuellement à chaque fois
- Tester les expressions sur vos données réelles (regex101.com est un outil gratuit et excellent)
- Valider sur plusieurs transactions historiques avant d'activer le modèle
- Déployer dans Odoo et ne plus y penser

Le temps investi dans la configuration, quelques heures pour un consultant, moins avec un accompagnement, est amorti en quelques semaines sur des tâches à forte récurrence.
En résumé
Odoo sait lire vos relevés bancaires. Il sait en extraire les montants, les ventiler sur les bons comptes, et générer des écritures équilibrées, automatiquement, à chaque transaction, sans intervention humaine.
Cette fonctionnalité est native, elle ne nécessite aucun développement spécifique. Elle attend simplement d'être configurée.
Le temps que vous y gagnerez n'est pas juste du temps en moins sur une tâche ingrate. C'est du temps disponible pour analyser, contrôler, et conseiller ce pour quoi votre expertise comptable a réellement de la valeur.