Saltar al contenido

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

  1. 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.
  2. 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).
  3. 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:

  1. Abra Smart Processing Setup.
  2. Área ClassificationsXML Classification Mapping.
  3. 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 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)

  1. Importar XML → El archivo aparece en la lista de entrada (Tipo de archivo XML).
  2. Clasificación → se realiza automáticamente a través del TypeCode según el mapeo.
  3. Procesar documento → con Smart Field Matching, los campos de encabezado y línea se asignan automáticamente a la plantilla.
  4. Validación y cierre → Revisar comentarios, realizar correcciones si es necesario; ejecutar Complete Process.
  5. 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.

Ayuda de configuración