Enterprise edición
Factura
De un vistazo
Sección titulada «De un vistazo»NextPDF Enterprise produce facturas híbridas estructuradas ZUGFeRD / Factur-X / Peppol-UBL y valida el XML de factura frente al modelo de datos EN 16931 y a conjuntos de reglas Schematron. Produce facturas estructuradas conformes con el modelo de datos definido en EN 16931; no es un validador de la autoridad tributaria y no certifica ningún documento.
Disponibilidad y licencias
Sección titulada «Disponibilidad y licencias»Esta capacidad se incluye en NextPDF Enterprise (nextpdf/enterprise) y se activa con un sobre de licencia de nivel Enterprise. Un despliegue sin esa habilitación no carga las clases de la capacidad. Comparar ediciones y obtener una licencia.
Instalación
Sección titulada «Instalación»composer require nextpdf/enterprise:^3El motor de Schematron utiliza la extensión ext-xsl de PHP. Instálela y habilítela antes de ejecutar la validación de Schematron.
Descripción conceptual
Sección titulada «Descripción conceptual»El módulo Invoice tiene tres superficies independientes: la incrustación de la factura estructurada, la validación de XML de EN 16931 y la ejecución de reglas Schematron.
Incrustación. ZugferdEmbedder adjunta una carga útil XML UN/CEFACT CII de ZUGFeRD 2.4 / Factur-X 1.08 suministrada por el llamante a un portador PDF/A, produciendo una factura híbrida. Se admiten dos formatos de portador: PDF/A-4f (ISO 19005-4:2020), el portador moderno preferido, y PDF/A-3b (ISO 19005-3:2012) por compatibilidad con versiones anteriores. ZugferdXmpSchema inyecta la declaración de esquema de extensión XMP de Factur-X que el portador necesita. PeppolEmbedder cumple la misma función para el XML de factura o nota de crédito UBL 2.1 de Peppol BIS Billing 3.0 suministrado por el llamante, adjuntándolo con la relación de archivo asociado y el tipo MIME correctos. NextPDF no sintetiza el XML de la factura; el llamante proporciona un XML válido y sigue siendo el emisor de la factura.
Validación. InvoiceXmlValidator comprueba el XML de factura frente al modelo de datos semántico de EN 16931 y las expectativas del contenedor ZUGFeRD / Factur-X, incluido el identificador de especificación BT-24 que exige la regla de negocio BR-1 de EN 16931. Se ejecuta en uno de dos modos: COMPAT (el predeterminado; los hallazgos de cardinalidad límite de EN 16931 se notifican como advertencias para preservar la compatibilidad con las fixtures existentes) y STRICT (la cardinalidad de BT-24 es un error grave, reflejando la semántica de los validadores externos). El modo se puede seleccionar por llamada, por anulación de entorno o por directiva de conformidad.
Schematron. SchematronValidator ejecuta conjuntos de reglas Schematron precompilados (las reglas .sch de CEN EN 16931 compiladas a XSLT en tiempo de compilación) frente al XML de factura mediante el procesador XSLT de PHP en proceso, y analiza el informe SVRL en hallazgos estructurados. La enumeración ZugferdProfile modela los perfiles de conformidad: MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED y el alemán XRechnung B2G CIUS sobre EN 16931.
Qué afirma y qué no afirma este módulo
Sección titulada «Qué afirma y qué no afirma este módulo»Este módulo produce y comprueba datos de factura estructurados. No afirma que ningún documento sea una factura legalmente conforme, que esté aprobado por la autoridad tributaria ni que se garantice su aceptación por ninguna autoridad.
- El validador comprueba únicamente el modelo semántico de EN 16931 y el contenedor ZUGFeRD / Factur-X / UBL. No es un validador de la autoridad tributaria. Las extensiones nacionales y las plataformas de clearance —por ejemplo, el SDI italiano, el francés Chorus Pro o el transporte alemán XRechnung— quedan fuera de alcance en el nivel de transporte.
- Como la propia EN 16931-1 indica, el modelo semántico básico contiene la información esencial que necesita una factura electrónica para respaldar el cumplimiento legal y fiscal; el emisor de la factura es responsable de cumplir las reglas de la legislación aplicable. Esto no es un validador de la autoridad tributaria.
- La compatibilidad con un estándar no es lo mismo que la conformidad con él. Consulte a sus asesores fiscales y de cumplimiento para juzgar la suficiencia normativa en su jurisdicción.
Por qué funciona así
Sección titulada «Por qué funciona así»El módulo, de forma deliberada, nunca sintetiza el XML de la factura. La incrustación, la validación de EN 16931 y la ejecución de Schematron son tres superficies independientes sobre el XML que el llamante suministra y posee. Esto mantiene a NextPDF como productor y verificador, nunca como emisor, porque la responsabilidad legal no se puede delegar en una biblioteca. La validación toma COMPAT por defecto, de modo que un hallazgo de cardinalidad límite es una advertencia y no una regresión. STRICT es opcional para cuando se necesita la semántica de los validadores externos. El resultado es una separación limpia: NextPDF informa de lo que observa y el emisor decide si el documento cumple la ley.
Contexto de diseño: Facturas y facturación electrónica.
Superficie de la API
Sección titulada «Superficie de la API»| Class | Responsibility |
|---|---|
ZugferdEmbedder | Adjuntar XML CII de ZUGFeRD / Factur-X a un portador PDF/A-4f o PDF/A-3b. |
ZugferdXmpSchema | Inyectar la declaración de esquema de extensión XMP de Factur-X. |
ZugferdProfile | Enumeración de perfil de conformidad (MINIMUM … EXTENDED, XRECHNUNG). |
PeppolEmbedder | Adjuntar XML de factura / nota de crédito UBL de Peppol BIS 3.0 a un portador PDF/A. |
InvoiceXmlValidator | Comprobar el XML frente al modelo de datos EN 16931; modo COMPAT o STRICT. |
InvoiceValidatorMode | Enumeración de modo de validación: COMPAT (predeterminado) o STRICT. |
SchematronValidator | Ejecutar conjuntos de reglas Schematron precompilados; analizar hallazgos SVRL. |
InvoiceValidationResult / SchematronResult | Resultados estructurados: perfil, hallazgos, gravedades. |
Ejemplo de código — Inicio rápido
Sección titulada «Ejemplo de código — Inicio rápido»use NextPDF\Enterprise\Invoice\ZugferdEmbedder;use NextPDF\Enterprise\Invoice\ZugferdProfile;
$pdf = ZugferdEmbedder::basic($pdfAManager, $fileAttachment, $ciiXml) ->embed(ZugferdProfile::EN16931);Ejemplo de código — Producción
Sección titulada «Ejemplo de código — Producción»use NextPDF\Enterprise\Invoice\InvoiceXmlValidator;use NextPDF\Enterprise\Invoice\InvoiceValidatorMode;
$result = $validator->validate($ciiXml, InvoiceValidatorMode::STRICT);
foreach ($result->findings as $finding) { $logger->warning('invoice.finding', [ 'rule' => $finding->ruleId, 'severity' => $finding->severity->value, ]);}// A clean result is one input to your decision, not a compliance verdict.// The invoice issuer remains responsible for relevant legislation.Casos límite y aspectos a tener en cuenta
Sección titulada «Casos límite y aspectos a tener en cuenta»- Un PDF bien formado que no lleva ninguna carga útil de factura reconocible produce un resultado de «no es una factura» en lugar de lanzar una excepción.
COMPATes el modo de validación predeterminado: un identificador de especificación BT-24 ausente se notifica como una advertencia, de modo que los puntos de llamada que se basan en un indicador booleano de validez no sufren regresiones. UseSTRICTpara que BT-24 sea un error grave que coincida con la semántica de KoSIT / Mustang externos.- El llamante suministra el XML de la factura. NextPDF no lo genera ni lo corrige; una lista de hallazgos vacía no convierte en conforme una carga útil no conforme.
- El motor de Schematron requiere
ext-xsl. Los conjuntos de reglas se compilan en tiempo de compilación; el tiempo de ejecución solo ejecuta el XSLT precompilado.
Rendimiento
Sección titulada «Rendimiento»El coste de la validación escala con el tamaño del XML incrustado y el número de reglas Schematron. El coste de la incrustación escala con el tamaño del portador y está dominado por la serialización de PDF/A. El presupuesto de rendimiento de la página refleja el renderizado de la documentación, no el rendimiento de procesamiento de facturas.
Notas de seguridad
Sección titulada «Notas de seguridad»Todo el análisis de XML pasa por el guard de XML reforzado: la resolución de entidades externas está deshabilitada (a prueba de XXE), se rechaza DOCTYPE y la descompresión está acotada. El procesador XSLT se ejecuta con la carga de recursos de red y del sistema de archivos deshabilitada y nunca registra funciones de PHP, de modo que document(), xsl:include, xsl:import y result-document no pueden alcanzar la red ni el disco. Trate el XML de factura procedente de fuentes no confiables como hostil.
Residencia de datos y mitigaciones de PII
Sección titulada «Residencia de datos y mitigaciones de PII»El XML de factura puede contener datos personales, comerciales y financieros. El procesamiento es en proceso y local; el módulo no realiza llamadas de red salientes durante la incrustación ni la validación. Aplique sus propios controles de conservación y minimización al XML extraído y a los hallazgos.
Telemetría segura y depuración de registros
Sección titulada «Telemetría segura y depuración de registros»Los hallazgos y los registros de validación pueden incluir identificadores de regla y valores de etiqueta. No incluyen las cargas útiles completas de la factura. Depure o redacte los valores de campo antes de reenviar los registros a destinos compartidos si esos valores son sensibles.
Conformidad
Sección titulada «Conformidad»| Behavior | Reference | Status |
|---|---|---|
| Modelo semántico básico de factura | EN 16931-1:2026 §4 | Construido frente a; el emisor sigue siendo responsable de la legislación aplicable |
| Identificador de especificación (BT-24) | EN 16931-1:2026 BR-1 | Comprobado (advertencia en COMPAT, error en STRICT) |
| Vinculación de sintaxis UN/CEFACT CII | CEN/TS 16931-3-3:2020 | Incrustación admitida |
| Vinculación de sintaxis UBL 2.1 | CEN/TS 16931-3-2:2020 | Incrustación admitida |
| Archivo asociado PDF/A-3 | ISO 19005-3:2012 §6.7.8 | Portador admitido |
| Archivo incrustado PDF/A-4f | ISO 19005-4:2020 Annex A | Portador admitido |
Esta tabla registra las especificaciones frente a las que se ha construido NextPDF Enterprise y lo que comprueba. No es una declaración de certificación, de aprobación por la autoridad tributaria ni de suficiencia normativa. El emisor de la factura es responsable de cumplir las reglas de la legislación aplicable; esto no es un validador de la autoridad tributaria.
Comportamiento en modo FIPS
Sección titulada «Comportamiento en modo FIPS»Este módulo no realiza ninguna firma criptográfica. La firma de una factura híbrida y la custodia de claves en modo FIPS quedan fuera de alcance aquí; consulte el módulo Signature.
Modelo de amenazas
Sección titulada «Modelo de amenazas»La entrada principal es XML de factura no confiable. Mitigaciones: análisis a prueba de XXE, rechazo de DOCTYPE, descompresión acotada, un procesador XSLT con la carga de recursos de red y de archivos deshabilitada y ninguna síntesis de afirmaciones: el llamante suministra y es dueño del contenido de la factura.
Contrato de comportamiento
Sección titulada «Contrato de comportamiento»ZugferdEmbedder/PeppolEmbedderadjuntan el XML de factura suministrado por el llamante a un portador PDF/A-4f o PDF/A-3b; NextPDF nunca sintetiza el XML de la factura.InvoiceXmlValidatorse ejecuta enCOMPAT(predeterminado; la cardinalidad límite de EN 16931 es una advertencia) oSTRICT(la cardinalidad de BT-24 es un error grave).SchematronValidatorejecuta conjuntos de reglas precompilados a través del procesador XSLT en proceso y analiza los hallazgos SVRL; una lista de hallazgos vacía no convierte en conforme una carga útil no conforme.- Todo el análisis de XML es a prueba de XXE: resolución de entidades externas deshabilitada,
DOCTYPErechazado, descompresión acotada.
Límite de publicación
Sección titulada «Límite de publicación»Esta página documenta únicamente el comportamiento observable desde fuera y la superficie de API pública admitida. Las rutas internas de espacio de nombres, las clases auxiliares, las tablas de mecanismos, los nombres de archivo de runbook y los prefijos de ticket quedan fuera de alcance.
Alternativa de Core
Sección titulada «Alternativa de Core»NextPDF Core no genera ni valida facturas estructuradas. Un despliegue solo con Core puede producir un PDF, pero no tiene incrustación de ZUGFeRD / Factur-X / Peppol, ni validador de EN 16931, ni motor de Schematron.
Alternativa de Pro
Sección titulada «Alternativa de Pro»En un despliegue solo con Pro, la superficie admitida es la detección y validación de factura electrónica del nivel Pro para cargas útiles Factur-X / ZUGFeRD. Pro no genera portadores híbridos ZUGFeRD / Factur-X ni Peppol-UBL, no añade el perfil XRechnung CIUS y no ejecuta el motor de Schematron en proceso; una configuración que solicite generación, el perfil XRechnung CIUS o Schematron en un despliegue solo con Pro no tiene ningún componente de Enterprise que la satisfaga. Consulte Pro Compliance para conocer la superficie de detección y validación de Pro.
Nota sobre la frontera de Enterprise
Sección titulada «Nota sobre la frontera de Enterprise»El detalle interno de los mecanismos permanece en la documentación interna del repositorio de origen y queda fuera del alcance de este manual.
Frontera de despliegue
Sección titulada «Frontera de despliegue»El motor de Schematron requiere la extensión ext-xsl de PHP; aprovisionarla y habilitarla es responsabilidad del operador. El procesamiento es en proceso y local; el módulo no realiza llamadas de red salientes durante la incrustación ni la validación. El transporte nacional de facturación electrónica, las plataformas de clearance y los sistemas de archivado son externos a este módulo y son responsabilidad del operador.
Frontera de cumplimiento legal
Sección titulada «Frontera de cumplimiento legal»NextPDF produce facturas estructuradas conformes con el modelo de datos definido en EN 16931 e informa de los hallazgos de las reglas. No produce «facturas legalmente conformes», no proporciona salida «aprobada por la autoridad tributaria» y no garantiza que ninguna factura sea aceptada por una autoridad tributaria, un tribunal o un registro. El emisor de la factura es responsable de cumplir las reglas de la legislación aplicable; esto no es un validador de la autoridad tributaria. Las plataformas nacionales de facturación electrónica, los modelos de clearance, los mandatos de archivado y los requisitos de firma digital varían según la jurisdicción y son responsabilidad del emisor. Consulte a sus asesores fiscales y legales.
Consulta también
Sección titulada «Consulta también»- Referencia de Invoice: referencia a nivel de API de los embedders, los validadores y el motor de Schematron.
- Pro Compliance: detección y validación de factura electrónica del nivel Pro.
- Document E-Filing: optimización de la entrega a tribunales/registros.
- Descripción general de Enterprise
- Matriz de funciones: Core frente a Pro frente a Enterprise