Référence
Export MarkdownBR-49 L’instruction de paiement doit indiquer un code de moyen de paiement
Une instruction de paiement (BG-16) doit indiquer le code de moyen de paiement (BT-81).
Description du problème
ERREUR
Règle métier de la norme EN 16931 (CEN)
Contexte et importance
Il s’agit d’une règle de base de la norme EN 16931. Le code de moyen de paiement (BT-81) indique à l’acheteur comment régler la facture (virement, prélèvement, carte), et d’autres règles en dépendent, comme BR-61 qui exige un compte pour les codes 30 et 58. L’erreur survient lorsque l’export contient un IBAN mais pas de code, souvent parce que le mode de règlement n’est pas paramétré dans la fiche client. Le schéma UBL impose déjà cbc:PaymentMeansCode : BR-49 apparaît donc surtout sur des factures CII sans ram:TypeCode.
Solution
Ajoutez cac:PaymentMeans/cbc:PaymentMeansCode (CII : ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode) issu de UNCL4461, par exemple 58 pour un virement SEPA, 30 pour un virement, 59 pour un prélèvement SEPA ou 48 pour une carte bancaire.
Actions rapides
Exemples valides
- BT-81 = 58 (virement SEPA)
Exemples invalides
- ram:SpecifiedTradeSettlementPaymentMeans (CII) avec uniquement ram:PayeePartyCreditorFinancialAccount/ram:IBANID et sans ram:TypeCode ; en UBL, un cac:PaymentMeans sans cbc:PaymentMeansCode est déjà une erreur de schéma XML
Exemples de code
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>58</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE89370400440532013000</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans><ram:SpecifiedTradeSettlementPaymentMeans>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE89370400440532013000</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>