Une facture émise n'est pas une affaire close : il y a les avoirs partiels, les acomptes à imputer, les retours à rembourser ou non, et les clients qui veulent un relevé plutôt que douze factures.
Seize modules communautaires traitent cet après — et rétablissent le lien entre une facture et l'avoir qui la corrige.
Résumé
Cinq modules traitent les avoirs : la sélection des lignes à rembourser au lieu de l'avoir total, le lien conservé entre facture et avoir — et entre leurs lignes —, sa variante pour les avoirs générés depuis une commande, l'annulation d'un avoir par une vraie facture, et le choix de déduire ou non la quantité remboursée de la commande d'origine.
Trois traitent les retours : une option modifiant après coup le caractère remboursable d'un retour, et deux modules distinguant quantités facturées, remboursées, reçues et retournées côté achat.
Trois compensent et regroupent : la compensation de factures et d'avoirs entre eux, l'imputation d'acomptes déjà versés sur une facture ultérieure, et un document de relevé de facturation regroupant plusieurs factures comptabilisées. S'y ajoute la fusion de factures depuis la liste.
Quatre enfin traitent l'envoi et les reçus : l'envoi automatique par courriel des factures selon leur mode de transmission, le choix du modèle lors d'un envoi groupé, des journaux réservés aux reçus, un envoi dédié aux reçus, et la mise en copie automatique des bons contacts.
L'essentiel
- Un avoir sur les lignes choisies, pas sur toute la facture.
- Le lien facture-avoir conservé, ligne à ligne.
- L'annulation d'un avoir par une vraie facture — Odoo ne produit qu'une écriture.
- La compensation de factures et d'avoirs entre eux, par assistant.
- L'imputation d'un acompte déjà versé sur une facture ultérieure.
- Un relevé de facturation regroupant plusieurs factures comptabilisées.
- L'envoi automatique par courriel des factures dont le mode de transmission est l'e-mail.
- Des journaux réservés aux reçus, distincts des journaux de facturation.
Ce que ces modules ajoutent à l'instance
| Famille | Modules | Nombre |
|---|---|---|
| Avoirs | account_invoice_refund_line_selection, account_invoice_refund_link, account_invoice_refund_link_sale, sale_credit_note_reversal, sale_line_refund_to_invoice_qty | 5 |
| Retours | stock_picking_return_refund_option, purchase_stock_picking_return_invoicing | 2 |
| Compensation et regroupement | account_invoice_clearing, account_invoice_advance_compensation, account_billing, account_invoice_merge | 4 |
| Envoi et reçus | account_invoice_auto_send_by_email, account_invoice_send_template, account_receipt_journal, account_receipt_send, account_mail_autosubscribe | 5 |
Les menus ajoutés : Facturation ▸ Clients ▸ Billing et Facturation ▸ Fournisseurs ▸ Billing, les relevés de facturation.
Les avoirs : partiels, tracés, réversibles
Odoo crée un avoir total à partir d'une facture, puis laisse l'utilisateur supprimer les lignes qu'il ne veut pas rembourser. C'est un détour qui produit des erreurs, et qui perd la trace de ce qui a été corrigé.
account_invoice_refund_line_selectionpermet de choisir les lignes à rembourser dès la création de l'avoir.account_invoice_refund_linkconserve le lien entre la facture et l'avoir, et entre chaque ligne de l'un et de l'autre. Son extension traite les avoirs générés automatiquement depuis une commande de vente.sale_credit_note_reversalpermet d'annuler un avoir comptabilisé en créant une vraie facture — là où Odoo standard ne produit qu'une écriture d'extourne, invisible pour le client.sale_line_refund_to_invoice_qtypermet de décider, pour chaque avoir, si la quantité remboursée est déduite ou non de la quantité facturée de la commande.
Le dernier point est subtil et structurant : un avoir pour geste commercial ne doit pas rouvrir la commande à facturer, alors qu'un avoir pour retour de marchandise, si. Sans ce choix, l'un des deux cas est toujours faux.
Les retours : rembourser ou non
| Module | Ce qu'il permet |
|---|---|
stock_picking_return_refund_option | Modifier après coup le caractère remboursable d'un retour sur le transfert |
purchase_stock_picking_return_invoicing | Distinguer, côté achat, les quantités facturées, remboursées, reçues et retournées |
Le premier traite une décision prise trop tôt : au moment de créer un retour, on ne sait pas toujours s'il donnera lieu à un remboursement ou à un remplacement. Odoo demande de choisir ; ce module permet de revenir sur le choix.
Le second répond à une confusion fréquente côté achat : une marchandise retournée au fournisseur n'est pas une marchandise non reçue. Mélanger les deux fausse le « reste à recevoir » et le « reste à facturer » — les deux indicateurs sur lesquels repose le suivi des commandes.
Les retours logistiques eux-mêmes sont traités dans transferts : retours contrôlés et réceptions fournisseurs.
Compenser, imputer, regrouper
La compensation
account_invoice_clearing ouvre un assistant permettant de compenser une ou plusieurs factures et avoirs non payés ou partiellement payés entre eux.
C'est le geste qu'attendent les relations commerciales croisées : un client qui est aussi fournisseur, un avoir qui vient solder une facture ancienne, un litige réglé par compensation. Sans module, l'opération se fait par écriture manuelle — avec le risque d'erreur que cela comporte.
Les acomptes
account_invoice_advance_compensation permet d'imputer des acomptes déjà payés — par un client, ou à un fournisseur — sur une facture ultérieure.
C'est le pendant comptable des acomptes traités côté commercial dans facturer une vente et facturation fournisseur.
Le relevé et la fusion
account_billingcrée un document Billing : un relevé regroupant plusieurs factures déjà comptabilisées, échues ou non, pour les présenter ensemble au client ou au fournisseur.account_invoice_mergeajoute une action de fusion de factures depuis la vue liste.
La différence compte : le relevé regroupe des factures existantes sans les modifier — chacune reste une pièce comptable autonome. La fusion en fait une seule. Le premier répond à une demande client ; la seconde corrige une erreur de facturation.
Envoyer : factures, reçus, destinataires
| Module | Ce qu'il automatise |
|---|---|
account_invoice_auto_send_by_email | L'envoi automatique des factures dont le mode de transmission est l'e-mail, en tâches de fond |
account_invoice_send_template | Le choix du modèle de courriel lors d'un envoi groupé, au lieu du modèle imposé |
account_receipt_journal | Des journaux réservés aux reçus, distincts des journaux de facturation |
account_receipt_send | Un envoi par courriel dédié aux reçus, avec son propre modèle |
account_mail_autosubscribe | La mise en copie automatique des contacts désignés sur les factures de leur société |
L'envoi automatique s'appuie sur le mode de transmission porté par le client — courriel, courrier, portail — et sur une file de travaux de fond. C'est la brique qui transforme l'envoi des factures d'une tâche quotidienne en un automatisme surveillé.
Le mode de transmission est décrit dans conditionnements et canaux côté vente ; avec la réforme, il devient structurant — voir l'annuaire et le routage.
Les journaux de reçus répondent à un besoin de commerce : séparer les tickets de caisse des factures dans la comptabilité, pour que les séquences et les analyses ne se mélangent pas.
Limites connues
- La compensation produit des écritures comptables : à réserver à un rôle comptable, pas au commerce.
- La fusion de factures est irréversible : à distinguer du relevé, qui ne modifie rien.
- L'envoi automatique suppose une file de travaux de fond (
queue_job) et sa surveillance. - Le mode de transmission doit être renseigné sur les clients, sinon rien ne part automatiquement.
- Le choix « déduire ou non la quantité remboursée » se décide par avoir : sans règle écrite, les deux cas se mélangent.
account_billingajoute un document de plus : son articulation avec les relances et le lettrage doit être posée.
Identité technique
Les seize modules viennent du dépôt OCA account-invoicing, branche 18.0, en licences AGPL-3 et LGPL-3 selon le module. L'envoi automatique dépend du mode de transmission et de la file de travaux de fond ; trois modules de retour dépendent de sale_stock, purchase_stock ou stock_account.
Les familles voisines : contrôler une facture, les conforts de facturation et le lettrage bancaire.
Questions fréquentes
Peut-on créer un avoir sur une seule ligne d'une facture ?
Oui, avec account_invoice_refund_line_selection, qui permet de choisir les lignes à rembourser dès la création de l'avoir. Odoo standard crée un avoir total qu'il faut ensuite élaguer — un détour qui produit des erreurs et perd la trace de ce qui a été corrigé.
Comment retrouver la facture d'origine d'un avoir ?
account_invoice_refund_link conserve le lien entre la facture et l'avoir, ligne à ligne. Une extension traite le cas des avoirs générés automatiquement depuis une commande de vente. Sans ces modules, le rapprochement se fait de mémoire ou par recherche sur les montants.
Un avoir doit-il rouvrir la commande à facturer ?
Cela dépend de sa nature, et c'est précisément ce que règle sale_line_refund_to_invoice_qty : on décide, pour chaque avoir, si la quantité remboursée est déduite de la quantité facturée. Un avoir pour geste commercial ne doit pas rouvrir la commande ; un avoir pour retour de marchandise, si.
Peut-on compenser une facture et un avoir entre eux ?
Oui : account_invoice_clearing ouvre un assistant de compensation entre factures et avoirs non ou partiellement payés. Et account_invoice_advance_compensation impute les acomptes déjà versés sur une facture ultérieure. Sans ces modules, l'opération passe par une écriture manuelle.
Quelle différence entre un relevé de facturation et une fusion ?
Le relevé (account_billing) regroupe des factures existantes pour les présenter ensemble, sans les modifier : chacune reste une pièce comptable autonome. La fusion (account_invoice_merge) en fait une seule facture. Le premier répond à une demande client, la seconde corrige une erreur de facturation.
Se faire accompagner
Les avoirs et les compensations sont le domaine où les contournements laissent le plus de traces : des écritures manuelles sans lien avec les documents, des avoirs totaux élagués à la main, des acomptes soldés par régularisation annuelle.
Nous commençons donc par regarder un trimestre d'avoirs réels : combien, pour quelles causes, et comment ils ont été traités. Les modules à installer en découlent — et rarement tous. Voir les prestations d'Atalios Consulting ou demander un rappel.
Pour aller plus loin
- Contrôler une facture : total, doublons, échéances
- Facturer une vente : échéanciers, acomptes et blocages
- Le lettrage bancaire avec account_reconcile_oca
En résumé
Ce qui arrive après la facture : l'avoir sur les lignes choisies et relié à son origine, la compensation entre factures et avoirs, l'acompte enfin imputable, le relevé qui regroupe sans modifier, et l'envoi automatisé selon le canal du client. Parlons de vos avoirs et compensations.