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;
- < → <
- > → >
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 & en XML.
¿Qué está pasando aquí?
En XML, ciertos caracteres tienen un significado especial y no pueden enviarse directamente.
- & debe enviarse como &
- < debe enviarse como <
- > debe enviarse como >
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.
Explora la documentación
Navega por todas las secciones técnicas de Quiero Mi Factura para completar tu integración:
Developers
Inicio del portal técnico y visión general.
Getting Started
Recorrido recomendado para iniciar tu integración.
Autenticación y ambientes
Endpoints QA/PROD, USUARIO, IP y acceso.
RequestXMLCFDICompleto
Método principal para enviar órdenes a QMF.
Campos del request
Referencia completa del XML.
PRODUCTOS
Catálogo fiscal requerido.
DESCARGACFDI
Descarga de CFDI y paginación.
Configuración
Parámetros fiscales y operativos.
Sales Channels
Segmentación de órdenes por canal de venta.
Reglas
Índice de reglas técnicas y fiscales.
Impuestos y decimales
Validación fiscal del CFDI.
Caracteres permitidos
Reglas de texto para XML.
OrderStatus
Estados operativos de la orden.
Ciclo de vida de la orden
Idempotencia, actualización y control de duplicados.
