AvertissementXRechnung (DE)DESaisie requise

BR-DE-20

"Debited account identifier" (BT-91) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 59 SEPA als Zahlungsmittel gefordert wird.

Que signifie cette règle ?

Pour un prélèvement, l'IBAN débité (BT-91) est mal formé.

Lorsque le moyen de paiement est un prélèvement, BT-91 doit être un IBAN bien formé.

BT-81
Code du moyen de paiement (UNTDID 4461)
BT-91
Identifiant du compte débité
Message officiel de la règle (norme)

"Debited account identifier" (BT-91) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 59 SEPA als Zahlungsmittel gefordert wird.

Message officiel de la règle, tel qu’il figure dans la norme (en anglais).

Où la règle s’applique

Syntaxe: CII · UBL

La même règle, exprimée deux fois : UBL et CII désignent les mêmes champs par des chemins différents. C’est pourquoi vérifier un fichier CII avec les règles UBL produit des erreurs dénuées de sens.

UBL

  • /ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59'] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59']

CII

  • /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = '59']

Test technique

La règle est satisfaite lorsque cette expression Schematron est vraie :

not(normalize-space(ram:TypeCode) = '59') or                     matches(normalize-space(replace(ram:PayerPartyDebtorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')), '^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{0,30}$') and                     xs:decimal(string-join(for $cp in string-to-codepoints(concat(substring(normalize-space(replace(ram:PayerPartyDebtorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),5),upper-case(substring(normalize-space(replace(ram:PayerPartyDebtorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),1,2)),substring(normalize-space(replace(ram:PayerPartyDebtorFinancialAccount/ram:IBANID, '([ \n\r\t\s])', '')),3,2))) return  (if($cp > 64) then string($cp - 55) else  string($cp - 48)),'')) mod 97 = 1

Comment corriger

Une mention métier absente ou incorrecte que vous seul pouvez fournir. Ajoutez-la ou corrigez-la, puis relancez la vérification.

Corrigez l'IBAN du compte débité.

Corrigez la mention concernée dans votre XML, puis relancez la vérification. Le contrôle s’exécute localement dans votre navigateur — votre fichier ne quitte jamais votre machine.

Vérifiez une facture électronique ici

Déposez ici un fichier XML ou un PDF ZUGFeRD. Le contrôle s'exécute localement dans votre navigateur selon l'EN 16931 — votre fichier ne quitte jamais votre machine.

100 % local — aucun envoi, aucun compte.

Règles apparentées

← Retour à la bibliothèque des erreurs