Exemple d'avoir Factur-X
Un avoir électronique n'est pas une facture avec des montants négatifs. Voici ce qui change réellement dans le XML, et la règle de TVA qui fait échouer les avoirs partiels.
Par Rayan Sekkat
Ce qu'un avoir change, et ce qu'il ne change pas
Un avoir annule tout ou partie d'une facture déjà émise. Dans un fichier Factur-X, la structure reste exactement celle d'une facture : même syntaxe CII, mêmes blocs, mêmes codes BT. Trois choses seulement diffèrent.
Le code de type passe de 380 à 381
C'est BT-3, et c'est lui seul qui dit « ce document annule ».
La facture d'origine est référencée
BT-25 et BT-26 apparaissent, là où une facture ordinaire ne les porte pas.
Un motif est ajouté
Exigence de forme : l'avoir doit dire pourquoi il existe.
Le XML, morceau par morceau
1. L'en-tête : type 381 et motif
Le numéro suit une série dédiée aux avoirs. Le motif est porté par une note de document.
<rsm:ExchangedDocument>
<ram:ID>AV-2026-0003</ram:ID> <!-- Série d'avoirs, distincte des factures -->
<ram:TypeCode>381</ram:TypeCode> <!-- BT-3 : 381 = avoir -->
<ram:IssueDateTime>
<udt:DateTimeString format="102">20260318</udt:DateTimeString>
</ram:IssueDateTime>
<ram:IncludedNote>
<ram:Content>Retour de 1 journée de prestation non réalisée</ram:Content>
</ram:IncludedNote> <!-- Motif de l'avoir -->
</rsm:ExchangedDocument>2. La référence à la facture annulée
Ce bloc vit dans le règlement, pas dans l'en-tête. C'est l'omission la plus fréquente sur les avoirs générés à la main.
<ram:ApplicableHeaderTradeSettlement>
<ram:InvoiceReferencedDocument>
<ram:IssuerAssignedID>FAC-2026-042</ram:IssuerAssignedID> <!-- BT-25 -->
<ram:FormattedIssueDateTime>
<qdt:DateTimeString format="102">20260210</qdt:DateTimeString>
</ram:FormattedIssueDateTime> <!-- BT-26 -->
</ram:InvoiceReferencedDocument>
...
</ram:ApplicableHeaderTradeSettlement>3. Les montants : positifs, et partiels si besoin
Sur une facture d'origine de 1 000 € HT pour 2 journées, l'avoir d'une journée porte 500 € HT et 100 € de TVA. Tout reste positif.
<!-- Avoir partiel : 1 journée sur 2, soit 500 € HT -->
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>100.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>500.00</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>20</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>500.00</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>500.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">100.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>600.00</ram:GrandTotalAmount>
<ram:DuePayableAmount>600.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>Le piège des avoirs partiels : raisonner par taux de TVA
Sur une facture mêlant plusieurs taux, il est tentant de contrôler simplement que le total TTC des avoirs ne dépasse pas le TTC de la facture. C'est insuffisant, et le résultat est une déclaration de TVA fausse.
Prenons une facture de 100 € à 20 % et 100 € à 5,5 %. Un avoir qui annule 100 € de base en les déclarant à 5,5 % reste sous le plafond global en TTC — mais il récupère 5,50 € de TVA là où 20 € avaient été collectés. Le montant total ne le révèle pas.
Le reste annulable se calcule donc taux par taux, base HT et TVA séparément. C'est la règle à implémenter si vous produisez vos avoirs vous-même.
Les cinq règles à retenir
1.Les montants restent positifs
C'est le code de type BT-3 qui porte le sens d'annulation, jamais le signe. Un avoir avec des montants négatifs est rejeté par la plupart des contrôles, parce que la somme des lignes ne correspond alors plus aux totaux déclarés.
2.La facture d'origine est obligatoire
BT-25 (numéro) et BT-26 (date) désignent la facture annulée. Sans eux, un contrôleur ne peut rattacher l'avoir à rien : la TVA récupérée devient injustifiable.
3.Le motif doit être écrit
Retour de marchandise, erreur de facturation, remise commerciale accordée après coup : le motif est une exigence de forme française, pas une simple courtoisie.
4.Une numérotation séparée
Les avoirs ont leur propre compteur, typiquement une série AV-. Mêler factures et avoirs dans une même séquence rend la numérotation des factures discontinue, ce qui est précisément ce que l'obligation de séquence interdit.
5.Le profil MINIMUM ne convient pas
Il ne porte ni BT-25, ni BT-26, ni note de document. Le XML serait valide au schéma mais muet sur ce qu'il annule. Un avoir exige au minimum BASIC WL, idéalement EN 16931.