En bref
- BR-CO-16 contrôle que
BT-115(Amount due for payment) =BT-112−BT-113+BT-114. BT-113(TotalPrepaidAmount, acomptes) etBT-114(PayableRoundingAmount, arrondi) ont une cardinalité0..1— optionnels.- Erreur classique : l’ERP déduit l’acompte du total mais ne l’expose pas dans
BT-113. - Si ces deux champs sont absents, l’égalité devient simplement
BT-115 = BT-112. - Réparable automatiquement par
/repair.
Ce que l’erreur veut dire
BR-CO-16 (Schematron EN16931, aligné Peppol) impose que DuePayableAmount (BT-115, montant à payer) soit strictement égal à GrandTotalAmount (BT-112) moins TotalPrepaidAmount (BT-113) plus PayableRoundingAmount (BT-114). BT-113 et BT-114 ont une cardinalité 0..1 — ils ne sont PAS obligatoires. S’ils sont absents, l’égalité se réduit à BT-115 = BT-112.
Quand cette erreur arrive
Survient quand : (a) un acompte est appliqué mais TotalPrepaidAmount reste vide ; (b) PayableRoundingAmount ajuste le total mais n’est pas reflété dans BT-115 ; (c) BT-115 est absent alors qu’il est obligatoire (règle BR-15) ; (d) arithmétique simple mal propagée entre l’ERP et l’export XML.
Exemple XML qui déclenche l’erreur
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:GrandTotalAmount>1200.00</ram:GrandTotalAmount>
<ram:DuePayableAmount>1000.00</ram:DuePayableAmount> <!-- ❌ acompte non déclaré -->
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Exemple XML corrigé
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:GrandTotalAmount>1200.00</ram:GrandTotalAmount>
<ram:TotalPrepaidAmount>200.00</ram:TotalPrepaidAmount>
<ram:DuePayableAmount>1000.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
Correction manuelle
Si la facture a un acompte, l’exposer via <ram:TotalPrepaidAmount> ET réduire DuePayableAmount en conséquence. Si aucun acompte ni arrondi de paiement, BT-115 = BT-112 — ne pas ajouter des TotalPrepaidAmount=0.00 et PayableRoundingAmount=0.00 artificiels (ils sont optionnels).
Réparable automatiquement par /repair ?
Oui — l’endpoint /repair corrige automatiquement cette erreur dans la majorité des cas.
Et maintenant ?
Réparer mon Factur-X →
curl -X POST https://api.facturxapi.com/api/v1/repair \
-H "Authorization: Bearer VOTRE_CLE" \
-F "[email protected]"