Saltar al contenido principal
VeriFactu

Errores 4113 y 4114 de VeriFactu: demasiados registros en un mismo envío

Cada petición a VERI*FACTU puede llevar hasta 1000 registros de facturación, y algunos bloques de dentro tienen sus propios topes. Si se superan, el XML deja de cumplir el esquema y la AEAT rechaza la petición entera con el 4113 o el 4114. Odoo con nuestro módulo trocea los envíos para no llegar nunca ahí.

FlexigoTech · Responsable: Víctor Gómez · Actualizado el 4 de noviembre de 2026

Lo esencial

Módulo
VeriFactu
Versiones
Odoo 17, 18, 19 y 20
Comprobado
en el código del módulo, versión 20.0 · en las fuentes enlazadas al final
Lectura
3 min

Los dos códigos

4113
«El XML no cumple con el esquema: se ha superado el límite permitido de registros para el bloque.» Un bloque del XML trae más repeticiones de las que admite.
4114
«El XML no cumple con el esquema: se ha superado el límite máximo permitido de facturas a registrar.» La petición trae más facturas de las permitidas.

Los dos son del apartado que rechaza el envío completo. Según el documento de validaciones de la AEAT, el bloque RegistroFactura se repite de 1 a 1000 veces en cada petición, y altas y anulaciones pueden ir juntas, cada una en su propio RegistroFactura.

Tarjeta de los códigos 4113 y 4114 de VeriFactu
El 4113 y el 4114 en rojo: un exceso de registros tumba la petición entera.

Cómo reparte Odoo los envíos

La cola del módulo corre cada 1 minuto y, en cada vuelta, junta los registros pendientes de cada empresa en una sola petición, en orden de cadena. Esa petición nunca pasa de 1000 registros:

  1. El parámetro verifactu.max_envelope_records fija cuántos registros salen en cada vuelta, y si nadie lo toca vale 1000.
  2. Lo que no cabe se queda en la cola para la vuelta siguiente.
  3. Si por cualquier camino se intentaran mandar más de 1000, el cliente del módulo para antes de enviar con «The AEAT accepts at most 1000 records per request.».

Dentro de cada registro, el módulo también ajusta los bloques a sus topes: el desglose se recorta a 12 líneas, sin aviso, y un canje de simplificadas lleva hasta 1000 facturas sustituidas.

Cola de envío a la AEAT agrupada por estado
La cola de envío agrupada por estado, con los pendientes que salen en la siguiente vuelta. Captura de Odoo 20 con datos de demostración; las respuestas de la AEAT son simuladas.

El ritmo que marca la AEAT

Además del tamaño, la AEAT marca el ritmo. Cada respuesta trae un TiempoEsperaEnvio, los segundos que hay que esperar antes del siguiente envío, y el módulo lo respeta. Hay una excepción: si ya hay 1000 registros pendientes, no espera, porque la petición está llena. Si la AEAT contesta con un HTTP 429 por exceso de peticiones, el módulo espera lo que indique su cabecera Retry-After y, si no indica nada, 60 segundos.

Si te llega uno

Con el parámetro en su valor, un 4113 o un 4114 no debería darse. Si alguien subió verifactu.max_envelope_records por encima de 1000, devuélvelo a 1000 o déjalo vacío. Después, reenvía los envíos en Failed desde Envío a AEAT › Errores AEAT con Reintentar Selección: la cola los repartirá en peticiones del tamaño correcto.

¿Altas y anulaciones van en la misma petición?

Sí. La AEAT lo admite siempre que cada una vaya en su propio RegistroFactura, y la cola del módulo manda juntas las altas y las anulaciones pendientes de la empresa, en el orden de la cadena.

¿Conviene bajar el parámetro?

No hace falta. Con menos registros por petición se hacen más peticiones, y cada una tiene que esperar el TiempoEsperaEnvio que marque la AEAT.

Si con el parámetro en 1000 te llega uno de estos códigos, escríbenos a comercial@flexigobe.com con la respuesta del envío.

Sigue leyendo

Errores de VeriFactu con el formato del envío: XML ilegible, UTF-8 y peticiones vacíasErrores de VeriFactu del formato del envío (4103, 4119, 4135 a 4138, 1100, 1251): XML ilegible, UTF-8, GET o peticiones vacías, y cómo envía Odoo.Error 4102 de VeriFactu: «El XML no cumple el esquema. Falta informar campo obligatorio»El error 4102 de VeriFactu rechaza el envío entero porque falta un campo obligatorio. Cómo lo frena antes Odoo 17, 18, 19 y 20 y qué hacer si aun así llega de la AEAT.Error 4134 de VeriFactu: «Servicio no activo», qué pasa con tus facturas y cómo reenviarlasQué significa el error 4134 de la AEAT en VeriFactu, por qué rechaza el envío entero y cómo reenviar las facturas desde Odoo 17, 18, 19 y 20 sin perder ninguna.
Comprobado en el código del módulo (versión 20.0) y en las fuentes enlazadas

Fuentes