Extraer datos de PDF o imágenes a lo largo del proceso es un trabajo tedioso: la persona responsable de la tarea tiene que recuperar datos de un documento e introducirlos en un sistema. Especialmente cuando se trata de procesar un gran número de documentos, se convierte en un gran reto y requiere mucho tiempo. Además, el cotejo manual es repetitivo y propenso a errores. Por suerte, existen herramientas que permiten automatizar tareas como la extracción de datos, haciendo que este proceso sea más eficiente. En este artículo, exploraremos la automatización de procesos SAP para la extracción de datos.
¿Cuál es la herramienta SAP para la extracción de datos?
SAP Build Process Automation es una solución innovadora que permite el desarrollo de aplicaciones por usuarios no programadores. Se se centra en la transformación, Mejora e innovación de los procesos empresariales mediante funciones de gestión de flujos de trabajo sin código y automatización de procesos mediante robots.
Esta herramienta facilita que los usuarios empresariales y los especialistas en tecnología se conviertan en desarrolladores autónomos. Con herramientas intuitivas, de bajo código y sin código, SAP Build Process Automation lleva a las empresas un paso más cerca de la automatización, aprovechando la experiencia y los conocimientos de los desarrolladores autónomos.
Al implementar SAP Build Process Automation, puede extraer datos de documentos y ampliarlos con el flujo de aprobación antes de publicarlos en el sistema de destino. Aprovechando el poder de no-code, los desarrolladores ciudadanos pueden construir, adaptar, mejorar e innovar los procesos de negocio con una asistencia mínima de los recursos de TI.
¿Qué ventajas tiene automatizar el proceso de extracción?
SAP Build Process Automation en SAP Business Technology Platform combina las capacidades de Workflow y RPA en una solución fácil de usar y sin código, Experiencia basada en IA. Permite automatizar el proceso de extracción de datos de varios documentos con la ayuda de un servicio integrado de extracción de información de documentos, lo que ayuda a mejorar la precisión y la productividad, aumentar la velocidad de procesamiento de documentos y liberar tiempo para tareas de mayor valor.
Paso a paso para activar SAP Build Process Automation
En esta parte, aprenderás:
- ¿Qué es un agente de escritorio?
- Cómo instalar y configurar el Desktop Agent
- Cómo registrar un inquilino en Desktop Agent
¿Qué es el Desktop Agent?
Desktop Agent es un componente de SAP Build Process Automation que se instala localmente en los escritorios de los usuarios. Ejecuta proyectos de automatización que inician y ejecutan aplicaciones de diversos tipos, leen información de pantallas, introducen datos, hacen clic en opciones y procesan datos.
Al instalar Desktop Agent, se configurará automáticamente la extensión del navegador web SAP Build Process Automation para Google Chrome y Edge.
Requisitos previos para instalar Desktop Agent
- Un PC con Windows o un MAC (en este caso, no olvide instalar una Infraestructura de Escritorio Virtual - VDI)
Cómo instalar el Desktop Agent
Para evitar problemas durante la instalación, cierre todas las pestañas de Chrome abiertas en su equipo. El programa de instalación se proporciona en forma de un instalador MSI estándar de Windows. Puede descárguelo del Centro de Software SAP.
La versión mínima del Desktop Agent soportada por la automatización SAP Build Process es 2.0.20.
- Descargue la última versión de la extensión de archivo MSI.
- El MSI tendrá una nueva versión de acuerdo con cada nuevo lanzamiento. Descargue siempre la última versión.

- Seleccione Siguiente para iniciar el proceso de instalación.

- Una vez que la instalación se haya completado con éxito, seleccione Finalizar e inicie su Desktop Agent.

- Una vez instalado, abra su navegador para añadir la extensión. Al instalar Desktop Agent se instalan una extensión de Google Chrome y un complemento de Internet Explorer, pero debe habilitarlos (al menos la extensión de Google Chrome).

Cómo registrar el Desktop Agent Tenant
Una vez que haya completado los pasos de instalación del asistente de configuración de SAP Build Process Automation, deberá registrar su agente y conectarlo a un tenant de SAP Build Process Automation para poder ejecutar automatizaciones.
Una vez instalado el Desktop Agent, el icono estará disponible en la bandeja del sistema.
- Cuando aparezca la ventana Desktop Agent Tenant Registration, introduzca:
- el nombre de su inquilino en el campo Nombre.
- la URL del inquilino a la que desea conectarse y que copió de la pestaña Agentes de la Fábrica y pegó en el campo Dominio.

- En la página de inicio de SAP Intelligent Robotic Process Automation Factory, vaya a la sección Agentes y, a continuación, haga clic en Registrar nuevo agente en la parte derecha de la pantalla.

- Cuando se abra la ventana emergente, seleccione Copiar y cerrar.

- A continuación, pegue la URL en el campo Dominio de la ventana de registro de inquilinos de Desktop Agent.
- Seleccione Guardar.
- Inicie sesión en su inquilino SAP Intelligent Robotic Process Automation Factory con su nombre de usuario o correo electrónico y contraseña.
Extracción de datos de PDF: ejemplo
Este es un ejemplo sencillo de cómo crear utilizando Process Automation. Consiste en leer la información de una factura en formato PDF.
El ejemplo de factura utilizado es el siguiente:

En la sección “Abrir documento (OCR en línea)”, en el apartado Entradas, debe indicar la Ruta del documento que desea leer.
Por ejemplo: C:\Users\username\Desktop\Process Automation\invoice-a.pdf
El siguiente paso es añadir una función que lea el texto en el PDF, esto tomará el texto y creará un archivo JavaScript Object Notation (JSON) con la información extraída.
En este caso, el sistema emite este documento, un JSON con un único campo que contiene toda la información leída del PDF:
{
"textContent": "SlicedInvoices Factura De: Número de factura INV-3337 DEMO - Sliced Invoices Número de pedido 12345 Suite 5A-1204 Fecha de factura 25 de enero de 2016 123 Somewhere Street Fecha de vencimiento 31 de enero de 2016 Su ciudad AZ 12345 admin@slicedinvoices.com Total a pagar $93.50 Para: Test Business 123 Somewhere St Melbourne, VIC 3000 test@test.com Hrs/Qty Service Rate /Price Adjust Sub Total 1.00 Web Design $85.00 0.00% $85.00 Esta es una descripción de muestra... Sub Total $85.00 Impuesto $8.50 Total $93.50 ANZ Bank ACC # 1234 1234 BSB # 4321 432 El pago debe efectuarse en un plazo de 30 días a partir de la fecha de la factura. Los retrasos en el pago están sujetos a tasas de 5% al mes. Gracias por elegir DEMO - Sliced Invoices I admin@slicedinvoices.com Page 1/1"
}Extracción de información mediante un bot preentrenado
En este caso, se utiliza otra herramienta ya preentrenada para reconocer los datos. Se utiliza el mismo ejemplo de factura y se indica que el tipo de documento es una Factura.


En este caso la respuesta es diferente - la respuesta es un archivo JSON estructurado. He aquí el ejemplo:
{
"tipo": "automationActivity",
"name": "irpa_core.log",
"label": "Mensaje de registro",
"inputs": [
{
"enriquecimiento": {
"remitente": [],
"receptor": [],
"empleado": [],
"producto": []
},
"headerFields": {
"documentNumber": {
"value": "INV-3337",
"rawValue": "INV-3337",
"page": 1,
"confianza": 0.9239444136619568,
"tipo": "cadena"
},
"taxId": {
"page": 1,
"confianza": 0
},
"taxName": {
"página": 1,
"confidence": 0
},
"purchaseOrderNumber": {
"value": "12345",
"rawValue": "12345",
"page": 1,
"confianza": 0.8720678091049194,
"tipo": "cadena"
},
"shippingAmount": {
"page": 1,
"confianza": 0
},
"netAmount": {
"value": 85
"rawValue": "$85.00",
"page": 1,
"confianza": 0.9248599410057068,
"tipo": "número"
},
"grossAmount": {
"valor": 93,5
"rawValue": "$93.50",
"page": 1,
"confianza": 0.9209394454956055,
"tipo": "número"
},
"currencyCode": {
"value": "AUD",
"rawValue": "AUD",
"page": 1,
"confidence": 0.836097776889801,
"tipo": "cadena"
},
"receiverContact": {
"página": 1,
"confianza": 0
},
"documentDate": {
"value": "2016-01-25",
"rawValue": "25 de enero de 2016",
"page": 1,
"confidence": 0.9253599842389425,
"tipo": "date"
},
"taxAmount": {
"value": 8,5
"rawValue": "8.50",
"page": 1,
"confianza": 0.9949958801269532,
"tipo": "número"
},
"taxRate": {
"página": 1,
"confianza": 0
},
"receiverName": {
"value": "Test Business",
"rawValue": "Test Business",
"page": 1,
"confidence": 0.8581249415874481,
"tipo": "cadena"
},
"receiverAddress": {
"value": "123 Somewhere St Melbourne, VIC 3000",
"rawValue": "123 Somewhere St Melbourne, VIC 3000",
"page": 1,
"confidence": 0.9059818983078003,
"tipo": "cadena"
},
"receiverTaxId": {
"página": 1,
"confianza": 0
},
"deliveryDate": {
"page": 1,
"confidence": 0
},
"paymentTerms": {
"value": "dentro de los 30 días siguientes a la fecha de la factura",
"rawValue": "dentro de los 30 días siguientes a la fecha de la factura",
"page": 1,
"confianza": 0.8695851819855827,
"tipo": "cadena"
},
"deliveryNoteNumber": {
"page": 1,
"confidence": 0
},
"senderBankAccount": {
"value": "12341234",
"rawValue": "1234 1234",
"page": 1,
"confidence": 0.9177781641483307,
"tipo": "cadena"
},
"senderAddress": {
"value": "Suite 5A-1204 123 Calle Somewhere Tu Ciudad AZ 12345",
"rawValue": "Suite 5A-1204 123 Somewhere Street Your City AZ 12345",
"page": 1,
"confidence": 0.9016555812623765,
"tipo": "cadena"
},
"senderName": {
"value": "DEMO - Facturas troceadas",
"rawValue": "DEMO - Facturas troceadas",
"page": 1,
"confidence": 0.8823633939027786,
"tipo": "cadena"
},
"dueDate": {
"value": "2016-01-31",
"rawValue": "Ja..."
}
}
},
{
"key": "Info",
"value": 0
},
null
],
"containerInstanceUid": "e1691edb-3260-4748-a890-a50f72514dcb",
"parentInstanceUid": "e1691edb-3260-4748-a890-a50f72514dcb",
"stepId": "5",
"line": 11,
"file": "invoiceProcessing.js"
}Extracción de datos de un modelo
En este caso, debes crear una plantilla para determinar cómo quieres que sea la factura. Puede ser una imagen o un archivo PDF, y debes seleccionar qué campos quieres tomar y a qué campo corresponde.
- Una nueva plantilla se crea de la siguiente manera: Añadir una plantilla de documento > Crear una nueva plantilla

- Asigne un nombre a la plantilla y añada el archivo correspondiente; en este caso, será una imagen.


- Seleccione el tipo de documento o haga uno personalizado creando los campos que desee. A continuación, haga clic en Siguiente y seleccione y añada el esquema que SAP proporciona para las facturas.

- Seleccione Editar.

- Seleccione los datos del documento de factura de los que desea extraer la información. Por ejemplo, en este caso, el campo “Santiago” corresponde a “ReceptorCiudad”.

- A continuación, cree una nueva automatización con la herramienta “Extraer datos (plantilla)” y “Mensaje de registro”.

- Añadir plantilla y poner Ruta del documento.


- Guardar y probar. En este caso, por ejemplo, la respuesta es un archivo JSON como este:
{
"tipo": "automationActivity",
"name": "irpa_core.log",
"label": "Mensaje de registro",
"inputs": [
{
"headerFields": {
"documentNumber": {
"value": "000012353",
"rawValue": "000012353",
"page": 1,
"confidence": 1,
"tipo": "cadena"
},
"taxId": {
"value": "60.910.000-1",
"rawValue": "60.910.000-1",
"page": 1,
"confianza": 0.9682481584016055,
"tipo": "cadena"
},
"taxName": {
"page": 1,
"confidence": 0
},
"purchaseOrderNumber": {
"página": 1,
"confianza": 0
},
"shippingAmount": {
"página": 1,
"confianza": 0
},
"netAmount": {
"valor": 16949
"rawValue": "16949.00",
"page": 1,
"confidence": 1,
"tipo": "número"
},
"grossAmount": {
"valor": 19999
"rawValue": "19999.00",
"page": 1,
"confianza": 1,
"tipo": "número"
},
"currencyCode": {
"valor": "USD",
"rawValue": "USD",
"página": 1,
"confianza": 0.777056097984314,
"tipo": "cadena"
},
"receiverContact": {
"página": 1,
"confianza": 0
},
"documentDate": {
"value": "2003-04-17",
"rawValue": "2003-04-17",
"page": 1,
"confidence": 1,
"tipo": "date"
},
"taxAmount": {
"página": 1,
"confianza": 0
},
"taxRate": {
"página": 1,
"confianza": 0
},
"receiverName": {
"value": "Embotelladoras Andina S.A.",
"rawValue": "Embotelladoras Andina S.A.",
"page": 1,
"confidence": 0.95,
"tipo": "cadena"
},
"receiverAddress": {
"value": "Carlos Valdovinos 560 San Joaquín",
"rawValue": "Carlos Valdovinos 560 San Joaquín",
"page": 1,
"confidence": 1,
"tipo": "cadena"
},
"receiverTaxId": {
"página": 1,
"confianza": 0
},
"deliveryDate": {
"page": 1,
"confidence": 0
},
"paymentTerms": {
"valor": "Efectivo",
"rawValue": "Efectivo",
"página": 1,
"confidence": 1,
"tipo": "cadena"
},
"deliveryNoteNumber": {
"page": 1,
"confidence": 0
},
"senderBankAccount": {
"página": 1,
"confianza": 0
},
"senderAddress": {
"value": "Educación Agustinas 1357, Cuarto Piso Santiago, Santiago",
"rawValue": "Educacion Agustinas 1357, Cuarto Piso Santiago, Santiago",
"page": 1,
"confidence": 0.8649467875988981,
"tipo": "cadena"
},
"senderName": {
"value": "UNIVERSIDAD DE CHILE",
"rawValue": "UNIVERSIDAD DE CHILE",
"page": 1,
"confidence": 1,
"tipo": "cadena"
},
"dueDate": {
"page": 1,
"confidence": 0
},
"descuento": {
"página": 1,
"confianza": 0
},
"código de barras": {
"página": 1,
"confianza": 0
},
"receiverStreet": {
"página": 1,
"confianza": 0
},
"receiverCity": {
"valor": "Santiago",
"rawValue": "Santiago",
"page": 1
}
}
},
{
"clave": "Info",
"value": 0
},
null
],
"containerInstanceUid": "2ac0e6e7-cdf3-484a-9ef7-62f862fb5f73",
"parentInstanceUid": "2ac0e6e7-cdf3-484a-9ef7-62f862fb5f73",
"stepId": "5",
"line": 10,
"file": "extractFromTemplate.js"
}



