Cuando salta el error CRP213, El campo CtaOrdenante no cumple con el patrón requerido, se refiere a que el número de cuenta no está coincidiendo con el formato que se especifica en el catálogo con el nombre c_FormaPago. Error procedente de la matriz de errores correspondiente a Complemento de pagos.
Si existe el atributo CtaOrdenante debe cumplir con el patrón especificado en el catálogo c_FormaPago

Catálogo complemento de pagos

Por ejemplo, si la forma de pago es 03 para la transferencia electrónica de fondos la cuenta del ordenante puede tener 10, 16 o 18 dígitos, expresado en la forma: [0-9]{10}|[0-9]{16}|[0-9]{18} Entonces en este catálogo se debe revisar que el código utilizado coincide con el patrón seleccionado, en la siguiente página puede copiar y pegar los patrones para revisar si su dato cumple con la validación o no. https://regex101.com/

Dejé preparada la validación para que puedan validar cuentas de 10, 16 ó 18 dígitos, ver imagen del ejemplo, los números de cuenta con color azul abajo, significa que sí que coinciden con el patrón:

Validación del patrón de la cuenta ordenante utilizando regex

Este mismo caso se puede probar y editar insertando otro formato de cuenta en  https://regex101.com/r/pRd6te/2/ 


Admin

Becommerce.es es una colección de mis notas a título personal, use at your own risk.

19 comentarios

Alejandro · 6 de septiembre de 2018 a las 23:15

Tengo un pago por transferencia electrónica de fondos y una cuenta de Santander que tiene 11 dígitos y me salta el error. ¿Cómo se puede solucionar?

    Raúl Blasco Martín · 20 de septiembre de 2018 a las 23:48

    Hola Alejandro, es correcto, al disponer de 11 dígitos no le va a permitir utilizar ese código de cuenta.

    El problema no es que sea el Santander, debe de buscar otro formato para la misma cuenta, o consulte con la sucursal bancaria, ellos le indicaran los prefijos de cuenta disponibles y alguno de ellos coincidirá con las longitudes permitidas para este caso, es decir, 10, 16 ó 18 dígitos.

    Raquel Muñoz Silva · 29 de septiembre de 2018 a las 14:24

    ya me paso este detalle, para solucionarlo solo basta con complementar con 0 al inicio: ejemplo
    me dicen que es 5879546 (aquí son 7 digitos) y yo lo pongo asi 0005879546…

    si dices que te dan 11 pon un cero al inicio para que sean 12 y listo…

    saludos!!!

      Raúl Blasco Martín · 5 de octubre de 2018 a las 10:46

      Buen día Raquel, gracias por el aporte 😉

        Irma · 5 de octubre de 2018 a las 17:52

        Pero acepta poner 12 dígitos, no deben ser 10, 16 o 18?

          Raúl Blasco Martín · 6 de octubre de 2018 a las 10:07

          Buen día Irma, se aceptan las longitudes en función de la forma de pago, es decir, con alguna forma de pago se aceptan 12 dígitos y con otras no. Estás longitudes se encuentran en el catálogo. Gracias.

          Eric · 8 de octubre de 2018 a las 15:47

          Hola, es que si colocas la expresión [0-9]{10}|[0-9]{16}|[0-9]{18} en la página que indican (https://regex101.com) no sirve para validar que sean 10, 16 o 18 dígitos sino que aceptará cualquier valor que contenga por lo menos 10 dígitos. Por eso acepta 12, si colocas 50 también la aceptará. Si colocas letras junto con 10 digitos, por ejemplo, 1234567890abcd también será aceptado. No hay que tomarla como expresión regular, porque no válida que el valor sea estrictamente sólo 10 o 16 o 18 dígitos

          Raúl Blasco Martín · 8 de octubre de 2018 a las 23:48

          Buenas tardes Eric, puede visitar https://regex101.com/r/pRd6te/2/, donde se muestra su comentario, la parte en azul es cuando la expresión regular, sí que coincide, lo que no está en azul, no coincide, verá que el funcionamiento es correcto. En grupos de 10 numerales se detiene, tampoco acepta si el grupo es menor o si contiene letras. Quedo a la espera de sus comentarios, puede ser que tenga que actualizar algo en mi lado.

      SARAHI SALAZAR · 31 de octubre de 2018 a las 18:14

      muchisimas gracias , por tu comentario me quite un dolorcito de cabeza. que tengas buen dia.

JANET · 26 de septiembre de 2018 a las 13:59

Hola buen día tengo el mismo problema en un portal de facturación me señala ese mismo error 301] Error CRP213. El campo CtaOrdenante no cumple con el patrón requerido. Capture el estado de cuenta. Son 11 que puedo hacer.

    Raúl Blasco Martín · 5 de octubre de 2018 a las 10:28

    Hola Janet, parece el mismo caso que el anterior comentario, 11 dígitos no está permitido según el catálogo, debe de tener 10, 16 o 18 dígitos, aquí consultar con el banco para obtener el número de cuenta en otros formatos existentes. Gracias.

adrian lopez · 26 de septiembre de 2018 a las 16:45

Buen día:

A mi me aparece el error CRP213: el campo ctaordenante no cumple con el patrón requerido. Al momento de poner el pago con transferencia de fondos, si me deja emitirlo, pero cuando pongo el pago con cheque nominativo (02), al momento de querer emitirlo me sale el error anteriormente mencionado.

Gracas.

Espero su respuesta.

    Raúl Blasco Martín · 5 de octubre de 2018 a las 10:45

    Buen día Adrian, se debe a que dependiendo de la forma de pago, el formato de la cuenta cambia, aunque también habría que tener en cuenta de que el campo ctaordenante no es obligatorio en algunos casos, según la guía de llenado del complemento de pagos:
    “Se puede registrar el número de la cuenta con la que se realizó el pago, considerar las reglas de
    obligatoriedad de acuerdo con la columna Cuenta Ordenante del catálogo c_FormaPago
    publicado en el Portal del SAT.
    Puede conformarse desde 10 hasta 50 caracteres”
    Entonces, revisando el catálogo del complemento de pagos, para el caso de “Cheque nominativo”, el formato debe ser: “[0-9]{11}|[0-9]{18}”, es decir o 9 o 18 dígitos de longitud, mencionar que según el catálogo en estos momentos el dato es opcional para la cuenta ordenante, pero, el “Nombre del Banco emisor de la cuenta ordenante en caso de extranjero”, es obligatorio si el RFC del emisor de la cuenta ordenante es XEXX010101000, por lo que supongo convertiría el dato de cuenta ordenante también en obligatorio en caso de extranjero.

JORGE · 1 de octubre de 2018 a las 21:10

Cuando me sale ese error de la cuenta, que tengo que hacer para poder continuar.

daniel · 1 de noviembre de 2018 a las 20:11

la verdad es que no estoy familiarizado con esto, el dia de hoy me aparecio este error pero la verdad es que no se donde modificar los campos en contpaqi facturacion. Agradeceria si alguien me pusiera apoyar.

Gracias!

PAOLA RANGEL SANTOS · 27 de septiembre de 2019 a las 18:09

Buen dia
Tengo un problema con timbrar un recibo, me aparece esta leyenda;
atributo CtaBeneficiario del nodo pago 10:pago El valor no coincide con la faceta de expresion regular este dato se omitira en la formacion del xml.
El recibo no se timbra, ya corrobore mis cuentas en regex y estan bien.

    Raúl Blasco Martín · 27 de septiembre de 2019 a las 23:03

    Buenas tardes Paola, La cuenta del beneficiario en el complemento de pagos, tiene que cumplir un regex, cierto, pero este depende del tipo de forma de pago que haya seleccionado. Por ejemplo, es posible que la cuenta se valide con el formato para el caso de transferencia electrónica, pero no para el tipo de cheque nominativo.

Deja un comentario