Validar una factura

El validador gratuito de eConnect: compruebe si su XML cumple con UBL, BIS Billing y NLCIUS.

Antes de enviar una e-factura, querrá asegurarse de que el archivo XML es técnicamente correcto. El validador de eConnect comprueba su factura en los esquemas XML, las reglas Schematron y las validaciones específicas por país. La herramienta está disponible de forma gratuita como validador en línea.

¿Qué comprueba el validador?

El validador de eConnect realiza múltiples controles sobre su archivo de e-factura:

Validación del esquema XML. ¿Es correcta la estructura base del archivo? ¿Están presentes todos los elementos XML obligatorios y correctamente anidados?

Validación Schematron. ¿Cumple la factura con las reglas de negocio del perfil elegido? Piense en reglas de cálculo de IVA, campos obligatorios y listas de códigos.

Control del perfil. El sistema reconoce automáticamente qué perfil sigue su factura (BIS Billing V3, NLCIUS, PINT, XRechnung) y aplica las reglas de validación correspondientes.

Reglas específicas por país. Por país se aplican reglas de validación adicionales. Para los Países Bajos son las reglas NL-R, para Alemania las reglas DE-R, para Dinamarca las reglas DK-R, etc. El validador las aplica automáticamente en función del código de país en la factura.

Formatos soportados

El validador soporta todos los formatos de e-factura habituales:

FormatoDescripciónPeppol BIS Billing V3El estándar Peppol para facturas y notas de créditoNLCIUS / SI-UBL 2.0La implementación neerlandesa de EN 16931PINT (todas las variantes)Peppol International Invoice (UE, A-NZ, Japón, Singapur, Malasia, EAU)XRechnungImplementación alemanaCII (Cross-Industry Invoice)Sintaxis XML alternativa, incluyendo Factur-X
¿Cómo utilizar el validador?

El validador en línea está disponible en /es/validator. No necesita crear una cuenta.

  1. Abra el validador de documentos.
  2. Suba su archivo XML o pegue el contenido XML.
  3. El validador reconoce automáticamente el formato y aplica las reglas apropiadas.
  4. Consulte el resultado: por regla, verá si el control ha sido exitoso, genera una advertencia o contiene un error.

En caso de errores, el validador proporciona el código de error exacto, una descripción del problema y la ubicación en el archivo XML (XPath). Así sabe exactamente qué debe corregir.

Interpretar los errores

El validador proporciona tres tipos de mensajes:

  • Error (error): la factura no cumple con la especificación y será rechazada en la red Peppol. Debe corregirlo antes del envío.
  • Advertencia (warning): la factura no será rechazada, pero hay un punto de atención. Las advertencias pueden volverse obligatorias en una versión futura.
  • Informativo: una observación sin consecuencias para el envío.

Los códigos de error habituales comienzan con un prefijo que indica el dominio: PEPPOL- para reglas Peppol generales, NL-R- para reglas neerlandesas, BR- para reglas base de EN 16931. La descripción del error siempre indica cuál es el comportamiento esperado.

Errores de validación frecuentes en notas de crédito

Al enviar una nota de crédito, se producen con regularidad algunos errores de validación específicos. El error aparece a nivel de Peppol (en envíos por API, por ejemplo, como [API400.AT04] Invalid payload). Por regla, la causa y la solución:

Código de errorCausaSoluciónBR-IC-02 (EN 16931: BR-IC-2)Línea de factura (BG-25) con categoría de IVA Intra-community supply / K (BT-151) sin party-VAT obligatorio: seller VAT (BT-31) o seller tax representative VAT (BT-63), y buyer VAT (BT-48). No apunta a un número de línea específico; datos faltantes en los detalles de la parte.Complete seller VAT (o tax rep) y buyer VAT con prefijo de país, sin espacios/puntos. Revise todas las líneas con categoría K.BR-IC-11En una entrega intracomunitaria (categoría de IVA «Intra-community supply»), falta la fecha de entrega BT-72.Complete la fecha de entrega real (BT-72, cac:Delivery/cbc:ActualDeliveryDate), o indique un periodo de facturación (BG-14). Uno de los dos es obligatorio.BR-IC-12En una entrega intracomunitaria, falta el código de país BT-80 de la dirección de entrega.Complete el código de país «deliver to» (BT-80, cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode) con un código ISO 3166-1 alpha-2.BR-27El precio unitario del artículo (PriceAmount, BT-146) es negativo («Item net price shall NOT be negative»; entre otros, Maventa/Peppol reporta esto como «XML Invalid»).El precio unitario siempre debe ser positivo. No se puede desactivar -- no es una configuración de tenant de eConnect, es una regla de EN 16931/Peppol. Acredite mediante una cantidad negativa (TypeCode 380) o mediante el esquema CreditNote (381, precio y cantidad positivos). Corrija la exportación en el software de origen; reenviar el mismo XML no resuelve BR-27. Vea también Variantes de nota de crédito y autofacturación.NL-R-001Falta la referencia de factura obligatoria en una nota de crédito de un proveedor NL.Complete cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID con el número de la factura original. Obligatorio para notas de crédito. Vea también Variantes de nota de crédito.

BR-IC-11 y BR-IC-12 son reglas base de EN 16931 que solo se aplican cuando la nota de crédito contiene una categoría de IVA intracomunitaria; no se producen en entregas nacionales.

Errores de validación en periodos de factura y de línea

Una factura puede contener un periodo en dos niveles: un periodo de factura a nivel de documento (BG-14) y un periodo de línea por línea de factura (BG-26, para servicios recurrentes o suscripciones a nivel de línea). Cuando se usan ambos, Peppol exige que cada periodo de línea esté dentro del periodo de factura general. Los siguientes errores aparecen si no se cumple esa condición:

Código de errorMensajeCausaSoluciónPEPPOL-EN16931-R110Start date of line period MUST be within invoice period.La fecha de inicio de un periodo de línea (BT-134) es anterior a la fecha de inicio del periodo de factura (BT-73).Asegúrese de que BT-134 (cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate) sea igual o posterior a la fecha de inicio del periodo de factura BT-73 (cac:InvoicePeriod/cbc:StartDate a nivel de documento).PEPPOL-EN16931-R111End date of line period MUST be within invoice period.La fecha de fin de un periodo de línea (BT-135) es posterior a la fecha de fin del periodo de factura (BT-74).Asegúrese de que BT-135 (cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate) sea igual o anterior a la fecha de fin del periodo de factura BT-74 (cac:InvoicePeriod/cbc:EndDate a nivel de documento).BR-30If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).Están presentes tanto la fecha de inicio (BT-134) como la fecha de fin (BT-135) de InvoiceLinePeriod, y BT-135 es anterior a BT-134.Complete fechas válidas (YYYY-MM-DD): fecha de fin mayor o igual que la fecha de inicio. Si no se necesita periodo de línea, omita todo el bloque cac:InvoiceLine/cac:InvoicePeriod (BG-26), no solo las fechas. Un campo de fecha vacío o inválido sigue contando como presente. Complete al menos la fecha de inicio o de fin si se usa el grupo (BR-CO-20).

El control subyacente de R110 consiste en que la fecha de inicio del periodo de línea sea igual o posterior a la fecha de inicio del periodo de factura. Si el error persiste aunque el periodo de línea parezca correcto, compruebe si el problema está a nivel de documento: o bien el periodo de factura (BT-73) está establecido demasiado tarde, o bien el periodo de línea es involuntariamente más amplio de lo previsto. Ambos periodos deben abarcarse mutuamente: el periodo de factura es el límite exterior, y cada periodo de línea debe estar dentro de él.

BR-30 (EN 16931) es una regla distinta de R110/R111: R110/R111 comprueban si el periodo de línea está dentro del periodo de factura, mientras que BR-30 solo comprueba el orden de dos fechas de periodo de línea presentes (BT-135 mayor o igual que BT-134).

Reglas de periodo adicionales que pueden aparecer en el mismo contexto:

  • BR-CO-19 / BR-CO-20: si se usa un periodo de factura (BG-14) o un periodo de línea (BG-26), debe completarse al menos la fecha de inicio o la de fin (una de las dos es suficiente, ambas también está permitido).
  • PEPPOL-EN16931-F001: todas las fechas deben tener el formato YYYY-MM-DD.

Estas reglas se aplican tanto a facturas (ubl:Invoice) como a notas de crédito (ubl:CreditNote).

Validación durante el envío

Además del validador manual, la plataforma eConnect también realiza una validación automática en el momento del envío. Si una factura no cumple con los requisitos, el envío se bloquea y recibe un mensaje de error con la regla de validación correspondiente.

Para usuarios de la API: la PSB valida cada factura en el momento de la presentación y devuelve los resultados de validación en la respuesta de la API. De este modo, puede integrar la validación en su propio proceso de software.

Seguir las nuevas versiones

Las reglas de validación se actualizan con cada nueva versión de la especificación Peppol BIS Billing. eConnect actualiza los artefactos Schematron y las listas de códigos en cuanto una nueva versión se vuelve obligatoria. El validador en línea siempre valida contra la versión vigente.

Consejo: después de una actualización de la especificación, compruebe si sus facturas siguen siendo válidas. Nuevas reglas pueden imponer requisitos más estrictos sobre campos que antes eran opcionales.

Preguntas frecuentes
¿Qué pasa si mi factura contiene un error durante la validación?

Por cada error, el validador muestra el código de error exacto, una descripción del problema y la ubicación en el archivo XML (XPath). Los errores deben resolverse antes del envío, de lo contrario la factura será rechazada en la red Peppol. Las advertencias son puntos de atención pero no bloquean el envío.

¿Qué formatos puede comprobar el validador?

El validador soporta Peppol BIS Billing V3, NLCIUS/SI-UBL 2.0, todas las variantes PINT, XRechnung y CII (Cross-Industry Invoice, incluyendo Factur-X). El formato se detecta automáticamente al subir su archivo XML.

¿Se valida también mi factura automáticamente al enviarla?

Sí. La plataforma eConnect realiza automáticamente una validación en el momento del envío. Si una factura no cumple con los requisitos, el envío se bloquea con un mensaje de error. Los usuarios de la API reciben los resultados de la validación en la respuesta de la API.


¿Desea consultar archivos de ejemplo para verificar la estructura de su propio XML? Descargue archivos de ejemplo.

Valide su factura

Artículos relacionados