Error 4102 de VERI*FACTU
Qué implica
Este código provoca el rechazo del envío completo: la AEAT no procesa ninguno de los registros de la remisión (hasta 1.000 por envío). Ninguna de esas facturas consta como remitida hasta que corrijas la causa y reenvíes el lote entero. Mientras tanto, tu sistema debe respetar el control de flujo (TiempoEsperaEnvio) antes del reintento — reenviar en bucle sin corregir es la vía rápida al bloqueo.
Causas habituales
Falta un elemento obligatorio del XSD (los campos opcionales del negocio no siempre lo son en el esquema).
Un elemento está fuera de orden: los XSD de la AEAT usan secuencias estrictas y el orden de los hijos importa.
Namespace incorrecto o sin declarar — los registros van en el namespace de SuministroInformacion y el envoltorio en el de SuministroLR.
Un valor no respeta el tipo del esquema: longitud excedida, formato de fecha o decimal inválido, enumeración inexistente.
Cómo depurarlo
Valida el XML contra los XSD oficiales antes de enviarlo: el validador de esquema señala línea y elemento exactos, cosa que la respuesta de la AEAT no hace.
Revisa el orden de los elementos contra la secuencia del XSD, no contra ejemplos de terceros.
Comprueba que los prefijos de namespace declarados coinciden con los que usan tus elementos.
Prueba el validador gratuito — esquema oficial, cadena de huellas y reglas de importes, sin registro y con retención cero. Y si quieres el mock de la AEAT para tu CI, apúntate a la beta de la suite.