Procesar documentos XML (XRechnung & ZUGFeRD)
Fecha: 04.09.2025 • Tiempo de lectura: ~5 minutos
Smart Processing apoya el procesamiento de formatos de factura XML estandarizados – actualmente XRechnung y ZUGFeRD. El proceso total corresponde en gran medida al flujo estándar (Clasificación → Procesamiento → Cierre/Archivado). Sin embargo, hay reglas especiales para la clasificación y la extracción de datos (Capture) que constituyen este artículo.
Requisitos
- Se han creado flujos de trabajo XML (Tipo de archivo de flujo de trabajo XML).
- En Smart Processing Setup está configurado el mapeo de clasificación XML.
- Existe una Plantilla de Proceso; se recomienda Smart Matching en la plantilla (ver más abajo).
Funcionamiento en breve
-
Clasificación a través de TypeCode
- XRechnung/ZUGFeRD no se clasifican a través de modelos de IA, sino determinísticamente a través del TypeCode en XML.
- La asignación TypeCode → Classification se mantiene centralmente en el mapeo de clasificación XML.
-
Capture sin configuración separada
- Para XML no se prevé una configuración de Capture propia.
- Smart Processing lee rutas/elementos del XML, genera nombres de campo lógicos a partir de ellos y los presenta como campos extraídos.
- No se muestran rutas XPath complejas como nombres de campo; en su lugar, se utilizan identificadores consolidados y descriptivos (por ejemplo, InvoiceNumber, BuyerVATId, Line.Amount).
-
Matching en la plantilla
- Los campos nombrados lógicamente se asignan a la Plantilla de Proceso en el proceso de matching.
- Recomendación: Activar Smart Field Matching en la plantilla para que la asignación se realice automáticamente.
Clasificación: XML TypeCode → Classification
La clasificación se realiza exclusivamente a través del TypeCode en XML (por ejemplo, 380 = Invoice, 381 = Credit Note).
Procedimiento:
- Abra Smart Processing Setup.
- Área Classifications → XML Classification Mapping.
- Ingrese/cambie las entradas de mapeo (Classification ↔ TypeCodes, separadas por comas).
Capture para XML: Nombres de campo lógicos en lugar de XPath
En facturas XML, Smart Processing realiza un análisis estructurado y genera campos nombrados lógicamente:
- Campos de encabezado (por ejemplo, InvoiceNumber, InvoiceDate, BuyerName, SellerVATId).
- Campos de línea (por ejemplo, Line.No, Line.ItemId, Line.Quantity, Line.Amount, Line.VATRate).
- Contexto del documento (por ejemplo, DocumentCurrency, PaymentTerms, ReferenceDocument).
Ventajas:
- Mejor legibilidad y asignación más sencilla en el matching.
- Robusto frente a pequeñas variantes de esquema/perfil, siempre que existan equivalencias semánticas.
Nota
Dado que se elimina una configuración de Capture separada, el Process Template (incluido Smart Matching) controla principalmente la asignación a tablas y campos de destino.
Configuraciones recomendadas de la plantilla
-
Usar Smart Field Matching: Activar
-
Permite la asignación automática de los campos XML nombrados lógicamente a los Template Fields.
-
Validación de búsqueda (opcional):
-
Para campos de datos maestros (Cliente/Proveedor/Artículo) usar Sí o Custom Codeunit para asegurar referencias limpias.
-
Opciones numéricas (por ejemplo, decimales, manejo de valores negativos):
-
En montos/cantidades es útil para procesar variantes de formato de manera estable.
Paso a paso (flujo de ejemplo)
- Importar XML → El archivo aparece en la lista de entrada (Tipo de archivo XML).
- Clasificación → se realiza automáticamente a través del TypeCode según el mapeo.
- Procesar documento → con Smart Field Matching, los campos de encabezado y línea se asignan automáticamente a la plantilla.
- Validación y cierre → Revisar comentarios, realizar correcciones si es necesario; ejecutar Complete Process.
- Opcional → Archivado en Document Central según las opciones de plantilla/proceso.
Solución de problemas
Documento no clasificado
- Falta/variante del TypeCode → revisar/ampliar el mapeo de clasificación XML.
Faltan campos o parecen "imprecisos"
- Verificar si los nombres de campo lógicos están presentes/asignados en la plantilla.
- Activar Smart Field Matching; alternativamente, mantener Alternative Search Names en los campos de la plantilla.
Resumen
- Formatos soportados: XRechnung y ZUGFeRD.
- La clasificación se realiza a través del TypeCode (mapeo en la configuración).
- Capture no se puede configurar por separado: Smart Processing genera nombres de campo lógicos a partir de XML, sin rutas XPath.
- Recomendación: Activar Smart Field Matching en la Plantilla de Proceso para asignación automática.
- El proceso (Borrador → Matching → Validación → Cierre/Archivado) corresponde al estándar – solo la clasificación y el Capture están resueltos de manera específica para XML.