Error CFDI40156: NumRegIdTrib no cumple el patrón del país
Folios sin caducidad · Multi-empresa · Timbrado CFDI 4.0 · Ver paquetes
Error / Problema Actualizado 28/10/2026

Error CFDI40156 al timbrar: el NumRegIdTrib del receptor no cumple el patrón de su país

El error CFDI40156 aparece cuando el atributo NumRegIdTrib del receptor, el número de identificación fiscal de un cliente extranjero, no cumple el formato que el catálogo c_Pais publica para su país de residencia. El dato puede ser real y estar bien escrito para un humano, pero fallar por guiones, espacios o letras que el patrón no admite. Aquí verás cómo revisar el formato y corregirlo.

Resumen rápido del error

  • Código: CFDI40156
  • Campo: NumRegIdTrib
  • Nodo del XML: cfdi:Comprobante/cfdi:Receptor
  • Regla del SAT (Anexo 20): Este atributo debe cumplir con el patrón correspondiente incluido en la columna “Formato de Registro de Identidad Tributaria” que publique en el catalogo de C_Pais.
  • Mensaje de rechazo: El campo NumRegIdTrib no cumple con el patrón correspondiente.
  • Cuándo aparece: al timbrar, antes de que se genere el UUID.

¿Qué significa el error CFDI40156?

Cuando facturas a un receptor extranjero, el comprobante puede incluir su número de registro tributario en NumRegIdTrib, junto con su ResidenciaFiscal. El catálogo c_Pais tiene, para cada país, una columna con el formato de ese número, normalmente expresado como una expresión regular. La regla CFDI40156 exige que el valor coincida con ese patrón.

La regla solo revisa el formato, no que el número exista en el país del cliente. Por eso corregirlo suele ser un asunto de transcripción: quitar separadores, respetar mayúsculas y usar el número de dígitos que pide el patrón. Otras reglas del mismo nodo atienden asuntos distintos, como la residencia fiscal (CFDI40150 a CFDI40153) y cuándo debe existir o no el número (CFDI40154 y CFDI40155).

Dónde se valida: el nodo Receptor extranjero

La validación se aplica al atributo NumRegIdTrib del nodo cfdi:Receptor y compara el valor con el patrón del país indicado en ResidenciaFiscal.

  • CFDI40150: la ResidenciaFiscal debe estar en el catálogo c_Pais.
  • CFDI40152: la ResidenciaFiscal no puede ser MEX.
  • CFDI40153: con RFC genérico extranjero y complemento de comercio exterior, o con NumRegIdTrib, debe existir ResidenciaFiscal.
  • CFDI40154: con RFC inscrito o genérico nacional, no se debe registrar NumRegIdTrib.
  • CFDI40155: con RFC genérico extranjero y complemento de comercio exterior, debe existir NumRegIdTrib.
  • CFDI40156: el número debe cumplir el patrón del país (esta ficha).

Causas más comunes del error CFDI40156

  • Se capturaron separadores. Guiones, puntos o espacios que el patrón del país no admite.
  • Se usó un número de dígitos distinto. Se omitió o se agregó un dígito al transcribirlo.
  • Se escribió en minúsculas. El patrón exige letras mayúsculas.
  • La residencia fiscal no corresponde al número. Se eligió un país en ResidenciaFiscal y se capturó el identificador de otro.
  • Se copió el número de un documento no fiscal. Se tomó de un contrato o de una factura del cliente y no de su registro tributario.
  • El sistema agrega un prefijo. La plantilla antepone el código del país al número.

Cómo corregir el error CFDI40156 paso a paso

  1. Confirma el país. Revisa ResidenciaFiscal y que sea el país de residencia del cliente.
  2. Consulta el patrón del catálogo. Busca en c_Pais el formato de registro de ese país.
  3. Ajusta el número. Quita separadores y respeta dígitos y mayúsculas según el patrón.
  4. Valida con el cliente. Pídele que confirme su número de registro tributario.
  5. Revisa las reglas vecinas. Confirma que la residencia (CFDI40152) y la presencia del número (CFDI40155) cumplen su validación.
  6. Vuelve a timbrar. Con el formato correcto, el PAC pasa a las demás validaciones.

Ejemplo en el XML: incorrecto y correcto

Ejemplo del receptor de un cliente extranjero con el número escrito con guiones; los datos y el formato son ficticios:

Incorrecto:

<cfdi:Receptor Rfc="XEXX010101000" Nombre="CLIENTE EXTRANJERO DE PRUEBA" ResidenciaFiscal="USA" NumRegIdTrib="123-45-6789" ... />

Correcto:

<cfdi:Receptor Rfc="XEXX010101000" Nombre="CLIENTE EXTRANJERO DE PRUEBA" ResidenciaFiscal="USA" NumRegIdTrib="123456789" ... />

El número y el patrón son ficticios; el formato real depende del país y lo publica el catálogo c_Pais. El ejemplo usa el RFC genérico extranjero solo para ilustrar la estructura del nodo.

Guarda el identificador como texto y con su país

Los identificadores extranjeros tienen formatos muy variados: algunos son solo dígitos, otros mezclan letras y otros llevan prefijos. Para no cometer errores, guarda el número exactamente como lo valida el catálogo y asócialo al país en la ficha del cliente. Si el sistema permite capturarlo con separadores, que los elimine antes de generar el comprobante. También conviene registrar el país de residencia como lista cerrada y no como texto libre, de modo que el patrón correcto siempre pueda aplicarse. Pide al cliente una constancia o documento oficial de su registro fiscal al darlo de alta. Para repasar el nodo del receptor, consulta la guía de facturación electrónica CFDI 4.0.

Cómo evitar este error con Soicont

Soicont es una plataforma de facturación electrónica CFDI 4.0 con PAC autorizado. Antes de enviar el comprobante a timbrar, valida los datos del receptor, los catálogos del SAT y los cálculos de impuestos, y si algo no cuadra te muestra el error con una explicación clara para que lo corrijas y vuelvas a emitir. Además, tus folios no caducan y puedes facturar para varias empresas (multi-RFC) desde una sola cuenta.

Conoce la facturación electrónica CFDI 4.0, la plataforma y los paquetes de folios.

Errores relacionados

Consulta también el Centro de Soluciones con todos los errores del SAT.

Preguntas frecuentes

¿Qué significa el error 40156?

Que el NumRegIdTrib no cumple el formato que c_Pais publica para ese país.

¿Dónde veo el formato?

En la columna de formato de registro de identidad tributaria del catálogo c_Pais.

¿Puedo usar guiones?

Solo si el patrón del país los admite; normalmente conviene quitarlos.

¿Se valida que el número exista?

Esta regla solo valida el formato.

¿Es lo mismo que el 40155?

No. El 40155 pide que el número exista en cierto caso; el 40156 revisa su formato.

¿Se genera UUID con este error?

No. El comprobante se rechaza antes del timbrado.

¿Todavía no se resuelve?

Si después de revisar estos puntos el error continúa, escríbenos desde la página de contacto con el código del error y el XML que intentaste timbrar (nunca envíes contraseñas ni la llave privada del CSD). Si aún no tienes cuenta, crea la tuya y empieza a facturar con validaciones previas.

Regístrate