Odoo sait dire combien un client doit. Il sait mal dire depuis quand, par tranche d'ancienneté, avec un commentaire de relance — et il ne sait pas du tout gérer le prélèvement rejeté qui revient de la banque huit jours plus tard.
Douze modules communautaires complètent cette partie du recouvrement.
Résumé
Cinq modules traitent les échéances : une liste des crédits et débits ouverts avec leur date d'échéance, un commentaire d'ancienneté, des termes de retard paramétrables, le mode de paiement ajouté à cette liste, et une balance âgée client et fournisseur sous forme de vue.
Quatre modules traitent les rejets de prélèvement : un document de retour de paiement, un assistant d'import générique, son extension au format ISO 20022 — PAIN et CAMT —, et la déduction multiple sur un paiement.
Trois modules enfin traitent l'escompte et les conditions : des conditions de règlement enrichies — arrondi, mois, semaines et jours de paiement multiples —, le forçage d'un escompte de règlement anticipé, et sa prise en charge sur les avoirs.
L'essentiel
- Une liste des échéances ouvertes, crédits et débits.
- Une balance âgée client et fournisseur, en vue consultable.
- Des termes de retard paramétrables.
- Les rejets de prélèvement comme document dédié.
- L'import des rejets au format ISO 20022 (PAIN, CAMT).
- Des conditions de règlement avec arrondi, mois et jours multiples.
- L'escompte de règlement anticipé forçable.
- L'escompte pris en charge sur les avoirs.
Ce que ces modules ajoutent à l'instance
| Module | Version | Ce qu'il apporte |
|---|---|---|
account_due_list | 18.0.1.0.1 | Liste des crédits et débits ouverts (Facturation ▸ Comptabilité ▸ Paiements et échéances) |
account_due_list_aging_comment | 18.0.1.0.0 | Un commentaire d'ancienneté (README minimal) |
account_due_list_days_overdue | 18.0.1.0.0 | Des Overdue Terms paramétrables (README minimal) |
account_due_list_payment_mode | 18.0.1.0.0 | Le mode de paiement dans la liste (README minimal) |
partner_aging | 18.0.1.0.0 | Balance âgée client et fournisseur, en vue |
account_payment_return | 18.0.1.0.9 | Les rejets de prélèvement comme document dédié |
account_payment_return_import | 18.0.1.0.1 | Assistant d'import générique de fichiers de rejet |
account_payment_return_import_iso20022 | 18.0.1.1.2 | Import au format ISO 20022 : PAIN et CAMT |
account_payment_multi_deduction | 18.0.1.0.0 | Déduction multiple sur un paiement (README minimal) |
account_payment_term_extension | 18.0.1.0.1 | Arrondi, mois, semaines, jours de paiement multiples |
account_force_early_discount | 18.0.1.0.0 | Forçage d'un escompte de règlement anticipé |
account_refund_early_payment_discount | 18.0.1.0.0 | L'escompte pris en charge sur les avoirs |
Les menus : Facturation ▸ Comptabilité ▸ Paiements et échéances, Facturation ▸ Clients ▸ Balance âgée des clients et Retours de paiement Clients et Import Payment Return, Facturation ▸ Fournisseurs ▸ Balance âgée des fournisseurs, Facturation ▸ Configuration ▸ Facturation ▸ Overdue Terms.
Les échéances et la balance âgée
La balance âgée est le document de pilotage du poste client : ce qui est à moins de trente jours, entre trente et soixante, au-delà de quatre-vingt-dix. Odoo la produit comme un rapport imprimable, non comme un écran de travail sur lequel on filtre, trie et annote.
partner_aging fournit la balance âgée sous forme de vue — donc filtrable, triable, exportable —, côté client et côté fournisseur.
account_due_list fournit la liste des crédits et débits ouverts avec leur date d'échéance, sous Facturation ▸ Comptabilité ▸ Paiements et échéances. Trois modules l'étendent :
account_due_list_aging_commentajoute un commentaire d'ancienneté — la trace de la dernière relance.account_due_list_days_overdueajoute des termes de retard paramétrables, avec leur référentiel sous Overdue Terms.account_due_list_payment_modeajoute le mode de paiement à la liste. Il dépend du module de mode de paiement par partenaire.
Les trois ont un README réduit à leur catégorie ; leur objet se déduit de leur nom et de leurs menus.
Le mode de paiement dans la liste des échéances change la façon de travailler : une échéance en prélèvement ne se relance pas comme une échéance en virement. La première est un problème de mandat, la seconde un problème de trésorerie du client.
Les rejets de prélèvement
Un prélèvement rejeté est l'événement que le standard d'Odoo ne modélise pas : la facture a été lettrée au moment de l'émission du prélèvement, l'argent n'est jamais arrivé, et il faut délettrer, repasser la facture en impayé, et facturer les frais de rejet. À la main, cela prend un quart d'heure par rejet.
account_payment_return crée un document de retour de paiement dédié, avec sa conversation, sous Facturation ▸ Clients ▸ Retours de paiement Clients. Version 1.0.9 — la plus mûre du dépôt, signe d'un usage répandu.
account_payment_return_importajoute un assistant d'import générique de fichiers de rejet. C'est un socle, destiné à être étendu.account_payment_return_import_iso20022l'étend au format ISO 20022 — PAIN et CAMT —, le format bancaire européen. Il dépend du module d'ordres de paiement.
Les banques françaises fournissent les rejets dans ce format : l'import automatique traite une liste de rejets en une opération, au lieu d'un quart d'heure chacun.
account_payment_multi_deduction permet la déduction multiple sur un paiement — plusieurs écarts imputés sur un même règlement. Son README est réduit à sa catégorie.
Les prélèvements et les mandats SEPA sont traités dans SEPA : virements et prélèvements.
Les conditions de règlement et l'escompte
account_payment_term_extension enrichit les conditions de règlement : arrondi, échéances en mois et en semaines, et jours de paiement multiples.
Le dernier point est le besoin français le plus courant : « 30 jours fin de mois le 10 et le 25 » n'est pas exprimable dans les conditions standard d'Odoo, et c'est une condition banale en négoce.
account_force_early_discountpermet de forcer un escompte de règlement anticipé, quand le client paie tôt sans que le mécanisme automatique s'applique.account_refund_early_payment_discountprend en charge l'escompte sur les avoirs — le cas symétrique, que le standard ignore.
L'escompte de règlement anticipé est une pratique commerciale courante — 2 % à dix jours — et une source d'écart comptable permanente : le client déduit l'escompte, le montant reçu ne correspond pas à la facture, et le lettrage échoue.
Limites connues
- Quatre modules ont un README réduit à leur catégorie : les trois extensions de la liste des échéances et la déduction multiple.
- La balance âgée en vue repose sur une vue SQL : elle se lit, elle ne se modifie pas, et son temps de calcul croît avec le nombre de lignes ouvertes.
account_payment_returnne facture pas les frais de rejet : il modélise le rejet, la refacturation reste à organiser.- L'import ISO 20022 dépend du format exact fourni par la banque : les variantes existent, et un fichier refusé demande un ajustement.
account_payment_return_import_iso20022dépend deaccount_payment_order: la brique d'ordres de paiement du dépôt bancaire.- Les conditions de règlement enrichies changent le calcul des échéances : les appliquer aux nouvelles factures, pas aux existantes.
- L'escompte forcé est une écriture manuelle encadrée : à restreindre, sinon il devient un moyen de solder un écart inexpliqué.
Identité technique
Les douze modules viennent du dépôt OCA account-payment, branche 18.0 — 26 modules au total —, tous en licence AGPL-3. Les dépendances : account pour la plupart, mail pour les retours de paiement, purchase pour les conditions de règlement, account_payment_partner pour le mode de paiement, account_payment_order pour l'import ISO 20022.
Voir aussi méthodes de paiement, chèques et visas pour le reste du dépôt.
Questions fréquentes
Odoo gère-t-il les rejets de prélèvement ?
Pas en standard. account_payment_return crée un document de retour de paiement dédié, et account_payment_return_import_iso20022 les importe depuis un fichier bancaire PAIN ou CAMT. Sans ces modules, chaque rejet demande un quart d'heure : délettrer, repasser en impayé, facturer les frais.
Peut-on avoir une balance âgée exploitable dans Odoo ?
Oui, avec partner_aging, qui la fournit sous forme de vue — filtrable, triable, exportable — côté client et côté fournisseur. Le standard la produit comme un rapport imprimable, non comme un écran de travail. Son temps de calcul croît avec le nombre de lignes ouvertes.
Peut-on exprimer « 30 jours fin de mois le 10 et le 25 » dans Odoo ?
Pas en standard. account_payment_term_extension ajoute l'arrondi, les échéances en mois et en semaines, et les jours de paiement multiples. C'est le besoin français le plus courant, et une condition banale en négoce.
Comment traiter un escompte de règlement anticipé déduit par le client ?
account_force_early_discount permet de forcer l'escompte quand le mécanisme automatique ne s'applique pas, et account_refund_early_payment_discount le prend en charge sur les avoirs. L'escompte est une source d'écart permanente : le montant reçu ne correspond pas à la facture, et le lettrage échoue.
Peut-on voir le mode de paiement dans la liste des échéances ?
Oui, avec account_due_list_payment_mode. Ce n'est pas un détail : une échéance en prélèvement ne se relance pas comme une échéance en virement — la première est un problème de mandat, la seconde un problème de trésorerie du client.
Se faire accompagner
Le recouvrement échoue sur deux détails que personne ne regarde en projet : la balance âgée n'est pas un écran de travail, et le rejet de prélèvement n'existe pas dans le modèle. Résultat : les relances se font dans un tableur, et les rejets se traitent à la main pendant des mois.
Nous installons donc la balance âgée et le circuit de rejet avant d'ouvrir les prélèvements, et nous vérifions le format de fichier que votre banque fournit réellement. Un rejet importé en une opération vaut mieux qu'un quart d'heure par incident. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
En résumé
Odoo sait dire combien un client doit, mal dire depuis quand, et pas du tout traiter le prélèvement rejeté qui revient de la banque huit jours plus tard. Douze modules complètent cette partie du recouvrement, import bancaire des rejets compris. Parlons de votre poste client.