Se rendre au contenu

Corriger une facture client Odoo 20 : l'avoir pas à pas

Une facture validée ne se modifie pas : avoir total ou partiel, correction et refacturation en une fois, date d'extourne et lettrage dans Odoo 20.

Table of contents

No titles in the blog post

Un client vous appelle : la facture que vous lui avez envoyée jeudi porte un mauvais prix unitaire, ou la mauvaise adresse de facturation. Dans Odoo, elle est déjà validée, et peut-être déjà payée en partie. La tentation de la « réparer » en place est forte, mais ce n'est pas le chemin que le logiciel prévoit. Cet article décrit, pour Odoo 20.0 Enterprise (application Comptabilité), la seule voie propre : l'avoir, avec ou sans refacturation immédiate.

Pourquoi on ne modifie pas une facture validée

La documentation d'Odoo 20 est sans ambiguïté : émettre un avoir ou une note de débit est « la seule méthode légale pour annuler, rembourser ou modifier une facture validée ». Le logiciel en tire les conséquences. Dans le code de la version 20.0, le bouton Remettre en brouillon n'est affiché que si la pièce ne porte pas de hash d'inaltérabilité. Or ce hash est posé par le journal quand son option Sécuriser les pièces comptabilisées avec hachage est cochée (Comptabilité > Configuration > Journaux). Si vos journaux de ventes sont sécurisés, vous n'avez donc pas le choix, et c'est tant mieux : une facture qui peut être remise en brouillon est une facture dont le numéro et le montant ne sont plus garantis.

Sur un journal non sécurisé, le bouton existe, mais je déconseille d'en faire une habitude dès que la facture a quitté la maison. Le client a son PDF, la TVA a peut-être été déclarée, et la comptabilité raconterait une histoire différente de celle du document reçu. La loi française interdit de modifier une facture validée.

Avant d'appliquer ces conseils : testez chaque manipulation sur une copie de votre base ou sur un serveur de test, jamais directement en production. Ces conseils sont rédigés sans connaître votre configuration et peuvent ne pas s'appliquer tels quels chez vous. Nexelans ne peut pas être tenue responsable des conséquences d'une manipulation faite sans ces précautions.

Cas 1 : annuler tout ou partie de la facture

  1. Ouvrez la facture : Comptabilité > Clients > Factures, puis la pièce concernée. Elle doit être à l'état « Comptabilisé ».
  2. Cliquez sur Avoir. Une fenêtre intitulée « Extourner » s'ouvre.
  3. Renseignez le Motif affiché sur l'avoir. Il apparaîtra dans la référence de l'avoir, sous la forme « Extourne de : numéro de la facture, motif ». Écrivez un motif que votre client comprendra, pas une note interne.
  4. Vérifiez le Journal et la Date d'extourne (voir plus bas).
  5. Cliquez sur Extourner.

Odoo crée alors un avoir au brouillon, prérempli avec les lignes de la facture. C'est le point qui surprend : rien n'est encore comptabilisé. Pour un avoir partiel, modifiez les quantités ou les prix des lignes, supprimez celles qui ne sont pas concernées, puis cliquez sur Confirmer. Pour un avoir total, confirmez sans toucher à rien.

Un avoir confirmé n'est pas toujours rapproché automatiquement de la facture d'origine par ce chemin. Il apparaît comme crédit à imputer sur le client, et c'est au comptable de le lettrer avec la facture, ou de rembourser le client. Le détail de ce lettrage se trouve plus bas.

Cas 2 : corriger et refacturer en une opération

Quand la facture est fausse mais que la vente est bonne (mauvais prix, mauvaise adresse, mauvaise condition de paiement), le second bouton de la même fenêtre est le plus pratique : Extourner et créer une facture. Odoo fait alors deux choses d'un coup : il crée un avoir déjà confirmé et lettré avec la facture d'origine, et il ouvre une nouvelle facture au brouillon, copiée de l'ancienne. Vous corrigez la facture brouillon, vous la validez, et le client reçoit un avoir et une facture rectifiée qui se répondent.

Ce bouton n'est proposé que pour les factures et avoirs, pas pour les écritures diverses. Si un paiement avait déjà été enregistré sur la facture d'origine, contrôlez après coup où il est passé et imputez-le sur la facture rectifiée si besoin.

Date, journal, motif : les trois champs qui piègent

La Date d'extourne vaut par défaut la date du jour. Si vous la fixez dans le futur, Odoo ne comptabilise pas l'avoir tout de suite : le code programme une comptabilisation automatique à cette date, et l'avoir attend au brouillon d'ici là. C'est utile pour un avoir de fin d'année dont l'effet doit tomber sur l'exercice suivant, et dangereux si vous l'avez fait sans le vouloir en tapant un mauvais jour. Si la date visée tombe dans une période que vous avez clôturée, regardez d'abord vos dates de verrouillage, que j'ai détaillées dans l'article sur la clôture mensuelle (rédigé pour Odoo 19, le principe est le même).

Le Journal proposé est celui de la facture d'origine. Odoo n'accepte qu'un journal du même type : on ne peut pas passer un avoir de vente dans un journal de banque. Si vous avez un journal dédié aux avoirs, c'est ici qu'on le choisit.

Le motif n'est pas obligatoire, mais je le rends obligatoire en interne : un avoir sans explication est la première chose qu'un commissaire aux comptes ou un contrôleur demande à justifier.

Le remboursement et le lettrage

La documentation le rappelle : si de l'argent est rendu au client, enregistrez le paiement après coup. Deux situations se présentent. Si le client doit simplement moins, imputez l'avoir sur la facture ouverte, ou sur la prochaine. S'il avait déjà payé et que vous le remboursez, enregistrez le paiement sortant sur l'avoir, puis rapprochez-le avec la ligne du relevé bancaire quand le virement passe. Ce rapprochement suit la même mécanique que celle de l'article sur les règles de rapprochement bancaire.

Les factures fournisseurs fonctionnent de la même façon

Pour un fournisseur qui vous a facturé à tort, ouvrez la facture dans Comptabilité > Fournisseurs > Factures et utilisez de même le bouton d'avoir, ou créez un avoir à vide depuis Comptabilité > Fournisseurs > Notes de crédit. Le même assistant s'ouvre, avec les mêmes deux boutons. Gardez en tête que l'avoir fournisseur doit aussi correspondre à un document reçu : saisissez la référence du fournisseur avant de confirmer.

Contrôle final

  1. Sur la facture d'origine, le fil de discussion (chatter) mentionne que l'écriture a été extournée et renvoie vers l'avoir.
  2. Dans Comptabilité > Clients > Avoirs, l'avoir est à l'état « Comptabilisé » et son montant correspond à ce que vous vouliez annuler.
  3. Dans la fiche du client, le solde dû est celui que vous attendiez, et la facture rectifiée est bien rattachée au client.
  4. Si vous avez utilisé une date future, l'avoir est resté au brouillon avec sa date de comptabilisation programmée.

Dans « Odoo 20 au quotidien », Emmanuel Chaumery déroule l'ensemble du cycle de vente et de facturation écran par écran, sur une PME fictive, avec des fiches pour refaire chaque geste sur une base d'essai. Le livre existe en broché sur Amazon et en ebook chez Cultura.

Sources

  • Documentation Odoo 20.0, avoirs et notes de débit (2 novembre 2026) : Lire la page
  • Code source odoo/odoo 20.0, assistant d'extourne (account.move.reversal) : Voir le fichier
  • Code source odoo/odoo 20.0, bouton « Remettre en brouillon » et hachage des écritures : Voir le fichier