Documentation9 min de lecture

Échéances, balance âgée et rejets de prélèvement dans Odoo

Le module OCA `account_payment_return` (dépôt `account-payment`, version 18.0.1.0.9, licence AGPL-3) gère les **rejets de prélèvement** — un document dédié sous **Facturation ▸ Clients ▸ Retours de paiement Clients** — et deux modules complémentaires les **importent depuis un fichier bancaire ISO 20022**. Dix autres modules traitent la liste des échéances, la balance âgée et l'escompte de règlement anticipé.

Relevés et échéanciers posés sur un bureau

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

ModuleVersionCe qu'il apporte
account_due_list18.0.1.0.1Liste des crédits et débits ouverts (Facturation ▸ Comptabilité ▸ Paiements et échéances)
account_due_list_aging_comment18.0.1.0.0Un commentaire d'ancienneté (README minimal)
account_due_list_days_overdue18.0.1.0.0Des Overdue Terms paramétrables (README minimal)
account_due_list_payment_mode18.0.1.0.0Le mode de paiement dans la liste (README minimal)
partner_aging18.0.1.0.0Balance âgée client et fournisseur, en vue
account_payment_return18.0.1.0.9Les rejets de prélèvement comme document dédié
account_payment_return_import18.0.1.0.1Assistant d'import générique de fichiers de rejet
account_payment_return_import_iso2002218.0.1.1.2Import au format ISO 20022 : PAIN et CAMT
account_payment_multi_deduction18.0.1.0.0Déduction multiple sur un paiement (README minimal)
account_payment_term_extension18.0.1.0.1Arrondi, mois, semaines, jours de paiement multiples
account_force_early_discount18.0.1.0.0Forçage d'un escompte de règlement anticipé
account_refund_early_payment_discount18.0.1.0.0L'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_comment ajoute un commentaire d'ancienneté — la trace de la dernière relance.
  • account_due_list_days_overdue ajoute des termes de retard paramétrables, avec leur référentiel sous Overdue Terms.
  • account_due_list_payment_mode ajoute 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_import ajoute un assistant d'import générique de fichiers de rejet. C'est un socle, destiné à être étendu.
  • account_payment_return_import_iso20022 l'é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_discount permet 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_discount prend 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_return ne 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_iso20022 dépend de account_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.

Documentation OCAComptabilitéOdoo Community

Partager

Fiches connexes

Équipe au travail sur des ordinateurs portables autour d'une table
Le module OCA `account_invoice_en16931` (dépôt `fr-einvoicing`, version 18.0.1.0.0, licence AGPL-3) est le socle qui fabrique le fichier de facture électronique conforme à la norme européenne **EN 16931** : Factur-X (PDF/A-3 avec XML CII embarqué), XML UBL, XML CII ou PDF accompagné d'un UBL — et il ajoute des **contrôles bloquants à la validation** d'une facture client. Les quatre modules qui s'y greffent pour la France, et ce que le socle ne fait pas.
Lire la suite
Documentation OCA, Facturation électronique
Réunion d'approbation autour d'un document de travail
Relevé sur une instance Odoo 18 Community, le module OCA `base_tier_validation` (dépôt `server-ux`, version 18.0.3.5.1, licence AGPL-3) ajoute 1 modèle, 101 champs et 3 menus, mais ne s'active sur aucun document métier par lui-même : il lui faut un module d'implémentation. C'est le point qui surprend le plus — voici ce qu'il fait réellement, et comment le mettre en service.
Lire la suite
Documentation OCA, Odoo