Menú: secciones y guías

Errores de Veri*Factu en Odoo 19: mensaje exacto, causa y solución

Todos los mensajes de error del módulo Veri*Factu de Odoo 19 (facturas y TPV), en español y en inglés, con la condición que los dispara y cómo se arreglan.

Odoo 19 Error y solución · Nivel intermedio · Community y Enterprise

Pasos verificados y actualizados el · por David Crespo Muñoz

Respuesta corta

Los errores de Veri*Factu en Odoo 19 son de tres tipos. Los que genera el propio módulo antes de enviar (NIF de la empresa que no mide 9 caracteres, falta el certificado, factura sin cliente, impuestos mezclados, rectificativa sin motivo) aparecen en la pestaña Veri*Factu y en un aviso rojo; se corrigen en Odoo y se vuelve a enviar. Los de conexión (certificado SSL, acceso denegado, respuesta en HTML) casi siempre son del certificado. Y los de la AEAT llegan con un código entre corchetes: la factura queda «Rechazado» o «Registrado con errores».

Módulos
l10n_es_edi_verifactul10n_es_edi_verifactu_pos
Dónde se hace
Ajustes, EmpresasContabilidad, Configuración, Veri*Factu (España), CertificadosContabilidad, Configuración, Impuestos
Otras versiones
Los textos salen de los módulos de la rama 19.0. En Odoo 20 el módulo se ha reorganizado (por ejemplo, añade un estado «No válido» para documentos que no se pudieron generar), así que algunos mensajes pueden cambiar.
En esta página
  1. Índice de mensajes
  2. Antes de nada: la factura está confirmada pero no tiene registro
  3. Errores de configuración
  4. Errores en los datos de la factura
  5. Errores al corregir facturas
  6. Errores de estado
  7. Errores en el TPV
  8. Errores que devuelve la AEAT
  9. Resultado
  10. Preguntas frecuentes
  11. Fuentes
Dónde aparece un error de Veri*Factu Esquema de una factura con un aviso rojo encima del formulario que contiene el mensaje: No hay un certificado configurado para Veri*Factu en la compañía. Debajo, la pestaña Veri*Factu con el documento en error. Tres marcas numeradas: 1 el aviso, 2 la pestaña, 3 el documento. Enviar No hay un certificado configurado para Veri*Factu en la compañía. Factura de cliente Líneas de factura Veri*Factu Envío 123 Dónde aparece un error de Veri*Factu: (1) el aviso rojo sobre la factura, (2) la pestaña Veri*Factu, (3) el documento en error. Enviar No hay un certificado configurado para Veri*Factu en la compañía. Factura de cliente Líneas de factura Veri*Factu Envío 123
Dónde mirar: (1) el aviso sobre la factura, (2) la pestaña Veri*Factu, (3) el último documento. Esquema dibujado a partir de la versión 19; no es una captura de Odoo.

Antes de empezar

  • Veri*Factu configurado según el tutorial de configuración.
  • Acceso a la factura o al pedido del TPV con el error, y a su pestaña Veri*Factu.

Esta página recoge los mensajes que genera el módulo Veri*Factu de Odoo 19, copiados de su código fuente y de la traducción oficial al español. Busca tu mensaje con Ctrl+F: cada bloque dice qué lo dispara y qué hacer. Si tu base de datos está en inglés, el texto original también está.

Dos avisos antes de empezar:

  • Los mensajes con «%s» o «%(…)s» llevan un dato variable (un NIF, un nombre de factura). En tu pantalla verás el dato real.
  • Algunas traducciones oficiales están vacías o tienen erratas. Cuando la traducción al español está vacía, Odoo muestra el mensaje en inglés. Lo indicamos en cada caso.

Índice de mensajes

Mensaje (tal como sale en español)TipoIr a
El NIF … de la empresa no tiene exactamente 9 caracteres.ConfiguraciónNIF
No hay un certificado configurado para Veri*Factu en la compañía.ConfiguraciónCertificado
No se pudo validar el certificado SSL.ConexiónSSL
No se pudo enviar el documento. El acceso fue rech debido a un problema con el certificado.ConexiónAcceso denegado
La respuesta del servidor no tenía el formato correcto (HTML en lugar de XML)…ConexiónRespuesta HTML
Es necesario establecer un contacto en las facturas no simplificadas.Datos de la facturaSin cliente
No se han establecido impuestos en la factura.Datos de la facturaSin impuestos
Solo se permite un único impuesto "principal" por línea.Datos de la facturaImpuesto principal
Solo se permite una única aplicabilidad fiscal de Veri*Factu (Impuesto) por documento…Datos de la facturaAplicabilidad
La clave del régimen de Veri*Factu no es compatible con la aplicabilidad fiscal de Veri*Factu.Datos de la facturaClave de régimen
Solo se puede aplicar un único recargo por cada impuesto "principal".Datos de la facturaRecargo
Los importes no sujetos a IVA deben ser igual a 0.Datos de la facturaNo sujeto
Un impuesto con el valor '…' como … no es compatible.Datos de la facturaTipo no admitido
El nombre del registro debe tener entre 1 y 60 caracteres…Datos de la facturaNombre largo
Falta la fecha de facturación.Datos de la facturaFecha
No se ha especificado el motivo del reembolso.RectificativasMotivo
Un reembolso con el motivo de reembolso … no está simplificado (se necesita un contacto)RectificativasMotivo y simplificada
No existe un documento Veri*Factu para el registro reembolsado.RectificativasOriginal sin registro
El registro ya está registrado en el sistema Veri*Factu.EstadoYa registrado
Ya estamos esperando para enviar un registro de Veri*Factu a la AEAT.EstadoEn cola
El registro cancelado no está registrado en Veri*Factu (dentro de Odoo).EstadoCancelación
El pedido debe ser facturado, ya que su importe total supera los … €.TPVLímite TPV
[código] descripción en un aviso rojo o amarilloAEATErrores de la AEAT

Antes de nada: la factura está confirmada pero no tiene registro

No es un mensaje de error, pero es el problema más frecuente. En Odoo 19 el documento Veri*Factu se genera cuando pulsas Enviar en la factura con la casilla Veri*Factu marcada, no al pulsar Confirmar. Una factura confirmada y descargada por otro camino se queda sin registro y sin QR.

Cómo detectarlo: en la lista de facturas, activa la columna opcional Estado de Veri*Factu. Las facturas confirmadas con la columna vacía y sin aviso de «pendiente» no se han enviado.

Solución: abre cada una y pulsa Enviar con la casilla Veri*Factu marcada.

Errores de configuración

El NIF … de la empresa no tiene exactamente 9 caracteres.

  • En inglés: The NIF '%(company_NIF)s' of the company is not exactly 9 characters long.
  • Cuándo sale: al generar el documento y otra vez justo antes de enviar el lote. Odoo toma el NIF de la ficha de tu empresa, le quita el prefijo ES si lo tiene y comprueba que quedan 9 caracteres exactos.
  • Solución: en Ajustes, Empresas, escribe el NIF sin espacios, guiones ni puntos: ESB12345678 o B12345678.

No hay un certificado configurado para Veri*Factu en la compañía.

  • En inglés: There is no certificate configured for Veri*Factu on the company.
  • Cuándo sale: Odoo busca un certificado de la empresa con alcance Veri*Factu y no encuentra ninguno.
  • Solución: en Contabilidad, Configuración, Veri*Factu (España), Certificados, sube el certificado y comprueba que el Alcance del certificado es Veri*Factu. Un certificado subido con alcance SII o general no vale. Detalle en el paso 4 del tutorial.

No se pudo validar el certificado SSL.

  • En inglés: The SSL certificate could not be validated.
  • Cuándo sale: la conexión segura con el servidor de la AEAT falla al enviar.
  • Solución: revisa que el certificado no esté caducado (la ficha del certificado muestra sus fechas) y que sea el certificado completo con su clave privada. Si el certificado es correcto, el problema puede ser de red de tu servidor; el documento sigue en cola y se reintenta.

No se pudo enviar el documento. El acceso fue rech debido a un problema con el certificado.

  • En inglés: The document could not be sent; the access was denied due to a problem with the certificate.
  • La traducción oficial de Odoo 19 tiene esa errata («rech»); búscala tal cual.
  • Cuándo sale: la AEAT responde «No autorizado. Se ha producido un error al verificar el certificado presentado».
  • Solución: el certificado no es válido para la AEAT o no corresponde al NIF de la empresa. Comprueba titular y caducidad, y súbelo de nuevo.

La respuesta del servidor no tenía el formato correcto (HTML en lugar de XML). Es muy probable que sea un problema con el certificado.

  • En inglés: The response of the server had the wrong format (HTML instead of XML). It is most likely a problem with the certificate.
  • Cuándo sale: la AEAT devuelve una página web en lugar de una respuesta del servicio. El propio módulo lo atribuye al certificado.
  • Solución: la misma que en el error anterior.

Otros mensajes de conexión

EspañolInglésQué significa
Error de red: %sNetworking error: %sNo se pudo conectar con la AEAT.
Se ha agotado el tiempo de espera para recibir la respuesta del servidor: …Timeout while waiting for the response from the server: …La AEAT no respondió a tiempo.
Error al enviar el documento por lote: …Error while sending the batch document: …Error técnico al procesar la respuesta.

Errores en los datos de la factura

Estos errores se detectan antes de enviar. Odoo crea el documento con el error, muestra un aviso rojo en la factura y, desde la ventana de envío, el mensaje No se pudo crear el documento Veri*Factu para todas las facturas. con la indicación Consulte la pestaña Veri*Factu para obtener más información.

Es necesario establecer un contacto en las facturas no simplificadas.

  • En inglés: A non-simplified invoice needs a partner.
  • Cuándo sale: una factura (no rectificativa) sin cliente que Odoo no ha marcado como simplificada.
  • Solución: pon el cliente con su NIF. Si de verdad es una factura simplificada, repasa cuándo la marca Odoo como tal.

No se han establecido impuestos en la factura.

  • En inglés: There are no taxes set on the invoice
  • Cuándo sale: ninguna línea lleva un impuesto que cuente para Veri*Factu.
  • Solución: añade el impuesto que corresponda a cada línea. Una operación exenta también lleva impuesto: el de tipo exento con su motivo.

Solo se permite un único impuesto “principal” por línea.

  • En inglés: We only allow a single "main" tax per line.
  • Cuándo sale: una línea lleva dos impuestos «principales» (por ejemplo, IVA 21 % e IVA 10 % a la vez, o un sujeto y un exento).
  • Solución: deja un solo impuesto de IVA por línea. Retenciones y recargo de equivalencia no cuentan como principales y pueden acompañarlo.

Solo se permite una única aplicabilidad fiscal de Veri*Factu (Impuesto) por documento: …

  • En inglés: We only allow a single Veri*Factu Tax Applicability (Impuesto) per document: %(applicabilities)s.
  • Cuándo sale: la factura mezcla impuestos de distinta naturaleza: IVA con IGIC o IPSI, o IVA con un impuesto al que Odoo asigna «Otros».
  • Solución: separa en facturas distintas. Si la mezcla viene de un impuesto que creaste a mano, mira el punto siguiente.

Nota

Impuestos creados a mano. Cada impuesto tiene un campo Aplicabilidad (España) (en inglés Applicability (Spain)) con los valores IVA, IPSI o IGIC. Al instalar el módulo, Odoo lo rellena en los impuestos del plan contable español. En un impuesto que hayas creado tú puede estar vacío, y entonces Odoo lo trata como «Otros». El campo solo se ve con el modo de desarrollador activado, en la ficha del impuesto (Contabilidad, Configuración, Impuestos).

La clave del régimen de VeriFactu no es compatible con la aplicabilidad fiscal de VeriFactu.

  • En inglés: The Veri*Factu Regime Key is not compatible with the Veri*Factu Tax Applicability.
  • Cuándo sale: en la pestaña Veri*Factu de la factura hay una Clave del régimen de Veri*Factu que solo vale para IVA y la factura es de IGIC, o al revés.
  • Solución: con la factura en borrador, elige en la pestaña Veri*Factu una clave de la lista que ofrece Odoo; la lista ya se filtra según los impuestos de la factura.

Mensaje relacionado: Falta la clave del régimen de Veri*Factu (ClaveRegimen). (Missing Veri*Factu Regime Key (ClaveRegimen).). Sale cuando la factura es de IVA o IGIC y el campo está vacío. Odoo lo propone solo a partir de los impuestos y del Régimen especial en el IVA de los ajustes; si lo borraste, vuelve a elegirlo. Su pariente Falta la aplicabilidad fiscal de Veri*Factu (Impuesto) es raro en la práctica, porque Odoo usa «Otros» cuando no encuentra otra.

Solo se puede aplicar un único recargo por cada impuesto “principal”.

  • En inglés: Only a single recargo tax may be used per "main" tax.
  • Cuándo sale: una línea lleva dos impuestos de recargo de equivalencia junto al mismo IVA.
  • Solución: deja un solo recargo por línea, el que corresponde al tipo de IVA.

Los importes no sujetos a IVA deben ser igual a 0.

  • En inglés: No Sujeto VAT taxes must have 0 amount.
  • Cuándo sale: un impuesto marcado como No Sujeto en su Tipo de impuesto (España) tiene un porcentaje o una cuota distinta de cero.
  • Solución: un impuesto no sujeto debe ser del 0 %. Revisa su configuración en Contabilidad, Configuración, Impuestos.

Un impuesto con el valor ’…’ como … no es compatible.

  • En inglés: A tax with value '%(tax_type)s' as %(field)s is not supported.
  • Cuándo sale: la factura de venta lleva un impuesto cuyo Tipo de impuesto (España) es de compras: No Deducible o DUA.
  • Solución: has puesto un impuesto de compras en una factura de venta. Cámbialo por el de venta equivalente.

El nombre del registro debe tener entre 1 y 60 caracteres: …

  • En inglés: The name of the record is not between 1 and 60 characters long: %(name)s.
  • Cuándo sale: el número de la factura está vacío o supera 60 caracteres.
  • Solución: acorta el prefijo de la secuencia del diario de ventas.

Falta la fecha de facturación.

  • En inglés: The invoice date is missing.
  • Solución: rellena la fecha de factura. Si la factura está confirmada y el documento dio error, vuelve a borrador (se puede, porque no llegó a registrarse), pon la fecha y confirma.

Se debe publicar el asiento contable.

  • En inglés: The journal entry has to be posted.
  • Cuándo sale: intentas generar el registro de una factura en borrador.
  • Solución: pulsa Confirmar y después Enviar.

Errores al corregir facturas

No se ha especificado el motivo del reembolso.

  • En inglés: The refund reason is not specified.
  • Cuándo sale: una factura rectificativa (o una factura de sustitución) sin Motivo de reembolso de Veri*Factu.
  • Solución: con la rectificativa en borrador, elige el motivo en la pestaña Veri*Factu: R1 a R4 para facturas completas, R5 para rectificar simplificadas. Al crear la rectificativa desde la factura, Odoo ya propone R4 o R5.

Un reembolso con el motivo de reembolso … no está simplificado (se necesita un contacto)

  • En inglés: A refund with Refund Reason %(refund_reason)s is not simplified (it needs a partner).
  • Cuándo sale: la rectificativa es simplificada (sin cliente identificado) y el motivo no es R5. Solo R5 admite rectificativas simplificadas.
  • Solución: si rectificas una simplificada, usa R5. Si necesitas otro motivo, identifica al cliente con su NIF.

No existe un documento Veri*Factu para el registro reembolsado.

  • En inglés: There is no Veri*Factu document for the refunded record.
  • Cuándo sale: rectificas una factura que nunca se envió a Veri*Factu. Odoo te ofrece el botón Ir al asiento contable para abrir la original.
  • Solución: envía primero la factura original con Enviar y después la rectificativa.

Variantes para la rectificativa por sustitución (la que sale de Revertir y crear factura):

  • No existe un documento Veri*Factu para el registro sustituido. (There is no Veri*Factu document for the substituted record.): la factura original no tiene registro.
  • No existe un documento Veri*Factu para la reversión del registro sustituido. (There is no Veri*Factu document for the reversal of the substituted record.): el abono que anula la original no se ha enviado. Envíalo antes que la factura nueva.

Errores de estado

El registro ya está registrado en el sistema Veri*Factu.

  • En inglés: The record is Veri*Factu registered already.
  • Cuándo sale: vuelves a enviar una factura aceptada o registrada con errores. Odoo 19 no reenvía registros ya registrados.
  • En la ventana de envío verás además: Las siguientes entradas serán omitidas. Ya están registradas en la AEAT: …
  • Solución: no hace falta reenviar. Para cambiar algo, emite una rectificativa.

Ya estamos esperando para enviar un registro de Veri*Factu a la AEAT.

  • En inglés: We are waiting to send a Veri*Factu record to the AEAT already.
  • Cuándo sale: la factura ya tiene un documento en cola. La AEAT exige esperar entre envíos (el código lo documenta como «normalmente 60 segundos») y Odoo lo mandará en cuanto pueda.
  • Solución: espera. Encima de la factura verás Un documento Veri*Factu está pendiente de ser enviado lo antes posible.

El registro cancelado no está registrado en Veri*Factu (dentro de Odoo).

  • En inglés: The cancelled record is not Veri*Factu registered (inside Odoo).
  • Cuándo sale: pides la cancelación de un registro que no está aceptado ni registrado con errores en Odoo. Odoo 19 no cancela registros que no ha enviado él.
  • Solución: solo se puede usar Solicitar cancelación de Veri*Factu en facturas aceptadas o registradas con errores.

No aparece el botón «Restablecer a borrador»

Odoo lo oculta cuando la factura está aceptada, registrada con errores o cancelada, o cuando tiene un documento en cola. Es intencionado. Si la factura está Rechazado, el botón sí aparece: puedes corregirla y volver a enviarla. Al pasarla a borrador, Odoo te avisa con Está modificando un asiento contable para el cual ya se ha enviado un documento Veri*Factu a la AEAT.

No se pueden eliminar los documentos VeriFactu que forman parte de la cadena de documentos VeriFactu.

  • En inglés: You cannot delete Veri*Factu Documents that are part of the chain of all Veri*Factu Documents.
  • Por qué: cada documento lleva la huella del anterior. Borrar uno rompería la cadena, así que Odoo lo impide incluso con los rechazados.

Errores en el TPV

El pedido debe ser facturado, ya que su importe total supera los … €.

  • En inglés: The order needs to be invoiced since its total amount is above %s€.
  • Cuándo sale: el pedido supera el límite de factura simplificada de la empresa (400 € por defecto) y no está marcado para facturar.
  • Solución: marca el pedido para facturar e identifica al cliente. Si por tu actividad puedes emitir simplificadas hasta 3.000 €, cambia el límite.

Debe especificar un motivo de reembolso.

  • En inglés: You have to specify a refund reason.
  • Solución: en la devolución, elige el Motivo de reembolso de Veri*Factu.

Se debe especificar un contacto para el motivo de reembolso de Veri*Factu seleccionado.

  • En inglés: A partner has to be specified for the selected Veri*Factu Refund Reason.
  • Cuándo sale: devolución sin cliente con un motivo distinto de R5.
  • Solución: usa R5 o asigna el cliente.

No se puede facturar el pedido. Ya está pendiente el envío de un registro de Veri*Factu a la AEAT.

  • En inglés: The order can not be invoiced. It is waiting to send a Veri*Factu record to the AEAT already.
  • Solución: espera a que se envíe el registro del pedido y factúralo después.

Mensajes del TPV sin traducción oficial (salen en inglés)

MensajeQué significa
With Veri*Factu enabled, POS orders cannot be consolidated into one invoice.Con Veri*Factu activo no puedes agrupar varios pedidos en una factura. Factura cada pedido por separado.
Veri*Factu documents can only be generated for paid, posted or invoiced Point of Sale Orders.El pedido aún no está pagado.
Veri*Factu documents can only be generated for invoiced Point of Sale Orders for cancellation purpose.Un pedido ya facturado solo admite un registro de cancelación; el registro válido es el de su factura.

Errores que devuelve la AEAT

Cuando el documento llega a la AEAT y esta lo rechaza o lo acepta con reparos, Odoo muestra el aviso con el título El documento Veri*Factu contiene los siguientes errores según la AEAT. y, debajo, el código y la descripción que envía la AEAT, con el formato [código] descripción.

  • Estado Rechazado y aviso rojo: la AEAT no lo ha aceptado. Corrige y vuelve a enviar.
  • Estado Registrado con errores y aviso amarillo: la AEAT lo registró pero señala un problema. Decide con tu asesor si hace falta rectificar.

La lista de códigos es de la AEAT y no la reproducimos aquí. Sí hay uno que el propio código de Odoo menciona: [3000] Registro de facturación duplicado. Odoo 19 no permite volver a enviar el mismo registro después de una cancelación precisamente para no provocarlo.

Resultado

Con esta página deberías poder identificar cualquier aviso de Veri*Factu de Odoo 19 y saber si lo arreglas en la configuración, en la factura o si viene de la AEAT. Para no llegar aquí, revisa cada semana la lista de facturas agrupada por Estado de Veri*Factu y el tutorial de configuración.

Preguntas frecuentes

¿Dónde veo el error de Veri*Factu de una factura?

En el aviso de color que Odoo muestra encima de la factura (rojo si hay error, amarillo si la AEAT la registró con errores) y en la pestaña Veri*Factu, abriendo el último documento de la lista.

¿Puedo borrar un documento Veri*Factu rechazado para empezar de cero?

No. Odoo 19 no deja eliminar documentos que forman parte de la cadena, aunque la AEAT los haya rechazado. Corrige la causa y vuelve a enviar la factura; se crea un documento nuevo.

¿Por qué no puedo volver a borrador una factura?

Porque tiene un registro aceptado, registrado con errores o cancelado en la AEAT, o porque hay uno pendiente de envío. Odoo oculta el botón en esos casos. Una factura rechazada sí puede volver a borrador.

Fuentes

  1. Código fuente de l10n_es_edi_verifactu, modelo del documento Veri*Factu (rama 19.0)github.com
  2. Código fuente de l10n_es_edi_verifactu, facturas (rama 19.0)github.com
  3. Traducción oficial al español del módulo l10n_es_edi_verifactu (es.po, rama 19.0)github.com
  4. Código fuente de l10n_es_edi_verifactu_pos, pedidos del TPV (rama 19.0)github.com
  5. Documentación de Odoo 19 — Localización fiscal de España, sección Veri*Factuodoo.com

Odoo es una marca de Odoo S.A. Este sitio es independiente y no está afiliado a Odoo S.A. Más información.