Sustitución de caracteres

Antes de enviar información a Quiero Mi Factura, es obligatorio aplicar un proceso de sustitución de caracteres para evitar errores en el procesamiento del XML y en el timbrado del CFDI.

Algunos caracteres especiales o acentuados pueden provocar fallas al momento de generar el comprobante, por lo que deben transformarse previamente en el sistema origen.

Regla obligatoria

La sustitución de caracteres debe realizarse antes de enviar el RequestXMLCFDICompleto al Web Service.

Si no se aplica correctamente, el XML puede ser rechazado o generar errores en el timbrado.

¿Por qué es necesario?

El estándar XML y los procesos de timbrado del SAT tienen restricciones sobre ciertos caracteres especiales, como acentos, símbolos y caracteres reservados.

Si estos caracteres no se procesan correctamente, pueden provocar:

  • Errores en la generación del XML
  • Rechazo del CFDI
  • Problemas de interpretación de datos

Tabla de sustitución de caracteres

Carácter original Sustitución
á@a12345
é@e12345
í@i12345
ó@o12345
ú@u12345
ñ@n12345
Ñ@N12345
ü@u678

Caracteres especiales XML

  • & → @amp;
  • < → &lt;
  • > → &gt;

Estos caracteres son reservados en XML y deben tratarse correctamente para evitar errores de parsing.

Ejemplo antes y después

Texto original

Compañía Hernández & Asociados

Texto transformado

Compa@n12345i@a12345a Hern@a12345ndez @amp; Asociados

Errores por caracteres especiales en XML

Uno de los errores más comunes en integraciones ocurre al enviar caracteres especiales sin procesar dentro del XML.

❌ Incorrecto

Texto enviado sin procesar:

José Núñez & Compañía

El carácter & rompe la estructura del XML.

✅ Correcto

Texto correctamente procesado:

José Núñez & Compañía

El carácter & se envía como &amp; en XML.

¿Qué está pasando aquí?

En XML, ciertos caracteres tienen un significado especial y no pueden enviarse directamente.

  • & debe enviarse como &amp;
  • < debe enviarse como &lt;
  • > debe enviarse como &gt;

Si no se reemplazan correctamente, el XML será inválido y la operación será rechazada.

Impacto en la integración

  • Errores en la generación del XML
  • Rechazo del CFDI por el PAC
  • Fallos en el timbrado

Recomendación

Implementa una función de normalización en tu sistema antes de generar el XML. Este proceso debe ejecutarse automáticamente para todos los textos enviados a QMF.

Implementación recomendada

Se recomienda aplicar la sustitución de caracteres en el sistema origen antes de construir el XML.

  • Backend (antes de generar el request)
  • Middleware de integración
  • Función de normalización previa

Evita realizar esta transformación manualmente o en etapas posteriores del flujo.

Importante

La sustitución de caracteres no es opcional. Es un requisito técnico para garantizar la correcta generación y validación del CFDI.

Scroll al inicio