ValidateFin

pain.001.001.03 — invalid IBAN

Un pain.001 con un IBAN de acreedor cuyos dos dígitos de control no superan la prueba mod-97 (ISO 7064). Todo lo demás es correcto, por lo que el validador señala exactamente un error.

pain.001.001.03 — Inválido

Un pain.001 con un IBAN de acreedor cuyos dos dígitos de control no superan la prueba mod-97 (ISO 7064). Todo lo demás es correcto, por lo que el validador señala exactamente un error.

Transferencia SEPA (pain.001) pain.001.001.03 ISO 20022Resultado esperado: Inválido — 1 errores

Lo que muestra este fichero

Un pain.001 con un IBAN de acreedor cuyos dos dígitos de control no superan la prueba mod-97 (ISO 7064). Todo lo demás es correcto, por lo que el validador señala exactamente un error.

Transacciones1
Total1000,00 €
EsquemaSEPA
Fecha en el fichero2026-02-25

Los defectos que contiene

  • IBANInvalid IBAN for creditor Creancier IBAN Errone: FR0030003000209876543210093

Citado literalmente del validador, sin parafrasear.

Última verificación: Licencia: CC-BY-4.0

Todas las partes, IBAN e importes siguientes son ficticios. Los IBAN son estructuralmente válidos —superan el mod-97— pero no corresponden a ninguna cuenta real.

Contenido del fichero

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file - SEPA Credit Transfer, pain.001.001.03.
  Expected validation result: INVALID - exactly one error.
  Deliberate defect: the creditor IBAN fails the ISO 7064 mod-97 checksum.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-invalid-iban
  License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>MSG-ERR-IBAN-001</MsgId>
      <CreDtTm>2026-02-23T10:00:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>500.00</CtrlSum>
      <InitgPty>
        <Nm>Societe Test IBAN Invalide</Nm>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>PMT-ERR-IBAN-001</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>500.00</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>2026-02-25</ReqdExctnDt>
      <Dbtr>
        <Nm>Societe Test IBAN Invalide</Nm>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <!-- IBAN debiteur valide -->
          <IBAN>FR7630006000011234567890189</IBAN>
        </Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BIC>BNPAFRPP</BIC>
        </FinInstnId>
      </DbtrAgt>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>E2E-ERR-IBAN-001</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">500.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BIC>SOGEFRPP</BIC>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Creancier IBAN Errone</Nm>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <!-- IBAN invalide : checksum mod-97 incorrect (00 au lieu de 76) -->
            <IBAN>FR0030003000209876543210093</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Test IBAN invalide</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Cómo sabemos que estos resultados se sostienen

Cada fichero de esta biblioteca pasa por el propio validador del sitio en cada build. El resultado esperado indicado arriba lo verifica un test automatizado: si un fichero dejara de coincidir con lo que afirma esta página, el build fallaría. Dos fixtures heredadas se repararon así antes de publicarse: tres IBAN no superaban el mod-97 y varios nombres usaban caracteres fuera del juego SEPA básico.

Transferencia SEPA (pain.001)