TL;DR — Resumen Rápido
CFDI error 307 del SAT: falla la validación de esquema XML al timbrar. Corrija namespaces, catálogos SAT, complementos y versión XSD antes de reenviar al PAC.
El error 307 en la facturación electrónica mexicana indica que el XML del CFDI no pasó la validación de esquema exigida por el SAT antes o durante el timbrado con el PAC. A diferencia de errores de negocio (RFC bloqueado, total mal calculado) o de certificado (error 401), el 307 es estructural: el archivo no coincide con el XSD oficial de la versión del comprobante, de sus complementos o de los catálogos referenciados. Mientras el esquema falle, el PAC no insertará el TimbreFiscalDigital y el comprobante carecerá de UUID.
Las causas más comunes aparecen tras actualizaciones del SAT, cambios de versión en el ERP o plantillas XML personalizadas que no se alinearon con CFDI 4.0. Este artículo describe el mensaje, las causas técnicas y el procedimiento para validar, corregir y volver a timbrar sin reprocesar manualmente cientos de facturas.
El Error
Al enviar el XML al PAC o al servicio de timbrado del ERP, puedes recibir:
307 - Error en la validación de esquema del XML
El elemento ‘cfdi:Comprobante’ no es válido según el esquema XSD
Atributo ‘Version’ no coincide con el namespace declarado
El nodo complemento no cumple con el esquema publicado
Algunos PAC devuelven la ruta XPath aproximada del nodo fallido (//cfdi:Conceptos/cfdi:Concepto/@ClaveProdServ). Otros solo muestran un código genérico 307, lo que obliga a validar el archivo completo en el validador de esquema del SAT antes de intentar de nuevo.
Causa del Problema
La validación de esquema compara el XML contra reglas estrictas:
- Orden y presencia de nodos definidos en el XSD.
- Tipos de dato (decimal con punto, fechas ISO 8601, booleanos).
- Longitudes máximas en atributos como nombre, descripción o folio.
- Namespaces
http://www.sat.gob.mx/cfd/4y complementos anidados. - Catálogos referenciados por clave (no validados por XSD pero requeridos en cadena posterior).
Versión de CFDI o namespace desactualizado
Generar un comprobante con plantilla CFDI 3.3 mientras el timbrado exige 4.0, o declarar Version="4.0" pero usar namespace de 3.3, provoca rechazo inmediato. Lo mismo ocurre si el ERP no aplicó el parche del proveedor tras una publicación nueva del SAT.
Atributos obligatorios faltantes o mal nombrados
En CFDI 4.0 son frecuentes omisiones como:
Exportacionen el comprobante.ObjetoImpen cada concepto.RegimenFiscalReceptoryDomicilioFiscalReceptorcuando aplica.Impuestoscon desglose correcto de traslados y retenciones.
Un atributo renombrado por customización (UsoCfdi en lugar de UsoCFDI) también dispara 307 porque el XSD no reconoce el nombre.
Complementos mal estructurados
Los complementos tienen XSD independientes:
- Pagos 2.0 para recepción de pagos.
- Carta Porte 3.0 en logística.
- Nómina 1.2 en recibos de sueldo.
- Comercio Exterior en exportaciones.
Anidar el complemento fuera de cfdi:Complemento, usar versión de complemento incompatible con el comprobante o incluir nodos eliminados en revisiones recientes del SAT genera error 307 aunque el cuerpo del comprobante sea válido.
Valores fuera de formato (aunque parezcan “casi” correctos)
- Montos con coma decimal europea en lugar de punto.
- Fechas sin zona horaria cuando el esquema exige formato completo.
- Caracteres no permitidos en XML (
&sin escapar, control characters pegados desde PDF). - RFC del receptor con espacios o guiones que rompen el patrón
patterndel XSD.
Cadena de generación rota en integraciones
APIs que arman XML por concatenación de strings — sin librería que respete el esquema — suelen omitir cierre de etiquetas o duplicar namespaces. Integraciones EDI → CFDI y conectores de e-commerce son puntos débiles: el pedido llega bien al OMS, pero el mapper XML no se actualizó cuando el SAT publicó un XSD nuevo.
Solución Paso a Paso
1. Aislar el XML rechazado y el mensaje del PAC
Exporta el XML que produjo el 307. Guarda captura del portal del PAC con fecha, RFC emisor y folio interno. Si timbras por lote nocturno, localiza el registro en el log del servicio (Aspel SAE, CONTPAQi, microservicio propio).
2. Confirmar tipo de comprobante y XSD aplicable
Identifica:
- Versión CFDI 4.0 (u otra si aún tienes excepción documentada).
- Tipo: ingreso, egreso, traslado, pago.
- Complementos incluidos.
Descarga desde sat.gob.mx el paquete de esquemas vigente y abre el XSD raíz del comprobante más el XSD de cada complemento presente.
3. Validar con herramienta oficial del SAT
Usa el validador de esquema del SAT (aplicación o servicio web según disponibilidad). Corrige en orden:
- Errores de namespace y
xsi:schemaLocation. - Nodos faltantes o fuera de orden.
- Atributos con tipo inválido.
- Repite hasta obtener validación exitosa sin advertencias de esquema.
4. Revisar catálogos y reglas de negocio SAT
Aunque el XSD pase, conviene validar en el mismo flujo:
c_ClaveProdServyc_ClaveUnidadexistentes.c_UsoCFDIcompatible con tipo de persona y régimen del receptor.- Lugar de expedición con código postal del emisor en lista SAT.
Muchos ERP muestran 307 cuando en realidad el PAC mapea un rechazo de catálogo al código de esquema; lee el detalle textual completo.
5. Corregir plantilla en ERP y timbrar prueba
Actualiza parches del proveedor, regenera el XML desde cero (no edites manualmente producción salvo emergencia) y timbra una factura real de monto simbólico. Confirma:
- UUID asignado.
- XML timbrado descargable.
- Validación opcional en portal SAT Consulta de CFDI.
Documenta la versión del ERP, XSD y fecha del parche para auditoría.
Prevención
- Suscripción a avisos SAT: revisa anexos 20 y actualizaciones de esquema cada trimestre.
- Ambiente de pruebas: mantén un RFC de pruebas o timbrado de bajo volumen tras cada actualización del ERP.
- Validación previa obligatoria: integra validador XSD en CI/CD si generas XML propio.
- No editar XML timbrado: cualquier cambio post-UUID invalida el comprobante; regenera antes de timbrar.
- Control de complementos: activa solo complementos licenciados y actualizados en tu sistema.
Resumen
- El error 307 significa que el XML no cumple el XSD del CFDI o de sus complementos.
- Identifica versión 4.0, namespaces y nodos obligatorios antes de culpar al PAC.
- Valida con la herramienta del SAT, corrige catálogos y regenera desde el ERP.
- Timbrar una factura de prueba confirma que el esquema ya es aceptado.