La mejor API de captura de tickets en tiempo real para programadores

La mejor API de captura de tickets en tiempo real para programadores

Los técnicos de desarrollo se ven constantemente desafiados por sus empresas a añadir funciones al software existente o a construir soluciones completamente nuevas. Afortunadamente, vivimos en la era del open source y las API. Por lo tanto, los programadores no tienen por qué crear todas las funciones desde cero.

Hace 5 años, Klippa comenzó a desarrollar una solución de gestión de gastos y procesamiento de facturas. La captura de recibos era una funcionalidad muy importante en nuestra aplicación, porque creemos que la introducción manual de datos es cosa del pasado. Ya entonces creíamos en la economía de la API, así que empezamos a buscar la mejor API de captura de recibos para integrarla en nuestro software. ¿Por qué construir algo desde cero cuando hay grandes cosas ahí fuera ya desarrolladas? Empezamos a probar durante meses, probamos más de 10 soluciones diferentes y más de 10.000 recibos. Lamentablemente, cada solución que probamos nos decepcionó. Muchos ni siquiera fueron más allá del OCR básico, que sólo ofrece un archivo de texto sin procesar. Nuestros requisitos eran que los resultados se entregaran en tiempo real (en 5 segundos), precisos (al menos 75% de los datos extraídos), escalables, automatizados (para que no hubiera personas involucradas), preferiblemente en JSON y adecuados para recibos de idiomas europeos comunes como el holandés, alemán, francés, español, italiano e inglés.

Algunas APIs de captura de recibos que probamos fallaron en velocidad, muchas fallaron en precisión y casi todas fallaron en el aspecto multilingüe. De modo que nos encontramos con el problema: queríamos una API de captura de recibos, pero no había una buena opción entre las que elegir. Entonces, ¿qué hicimos? Decidimos construir una nosotros mismos. Con una buena experiencia en el equipo de procesamiento de lenguaje natural, REGEX y el aprendizaje automático, nos pusimos en marcha en una búsqueda para construir lo que necesitábamos: la mejor API para la captura de recibos de Europa. En 2018 lanzamos la primera versión de nuestra API, que estamos mejorando día a día. La API está disponible para que terceros la implementen en contabilidad, ERP, banca, fidelización y muchas otras soluciones.

Entonces, ¿cómo funciona nuestro motor de captura de recibos?

El proceso se puede dividir en tres pasos básicos.

1. El primer paso es enviar una imagen a nuestra API a través de una solicitud. A partir de ahí, convertimos la imagen o el PDF de un recibo o ticket en un archivo de texto básico. Esta parte es sólo OCR básico. La siguiente imagen muestra un ejemplo de este paso para un recibo holandés:

Pero un simple archivo de texto no te lleva muy lejos para la mayoría de las soluciones, en realidad quieres datos estructurados como JSON, ¿verdad? Afortunadamente lo tenemos cubierto.

2. Después del paso de OCR, nuestro motor de análisis inteligente entra en acción. Analiza el archivo de texto e interpreta lo que cada parte del texto es realmente. Fechas, cantidades, direcciones y muchas más opciones. Identifica posibles candidatos para todos los campos de datos mediante el aprendizaje automático y el análisis de REGEX. A partir de ahí, se seleccionan los mejores candidatos para, por ejemplo, los importes totales, la fecha de compra y mucho más.

3. Ahora que sabemos cuáles son los puntos de datos correctos, convertimos el recibo en un archivo JSON, dándote una respuesta estructurada al proceso de tu solicitud. Aquí abajo tienes un ejemplo de una respuesta JSON simplificada para el ejemplo del recibo que hemos analizado previamente:

¿Cómo se construyó la API?

En Klippa construimos todos nuestros servicios de backend en GO, lo que asegura un procesamiento y respuestas rápidas. El analizador que realiza la extracción de datos fue construido en Python, porque tiene muy buenas capacidades de aprendizaje de máquina y REGEX.

¿Qué campos extrae la API de captura de recibos de Klippa?

Hay muchas campos diferentes en los recibos que pueden ser de interés para un caso de uso específico. Hemos tratado de hacer nuestra API muy flexible extrayendo muchos datos diferentes: en total extraemos más de 50 campos diferentes de los recibos. Por supuesto, estos incluyen datos básicos como importe total, fechas, información sobre el IVA y dirección, pero también otros más complejos como partidas individuales en los comprobantes. Puedes encontrar todos los campos en nuestra documentación API.

¿Cuáles son los casos de uso?

Buena pregunta. Hay muchos casos de uso en los que el OCR, específicamente la parte de extracción de datos, puede ser de interés. Vemos que la mayoría de nuestros clientes utilizan la API de captura de recibos para las soluciones de contabilidad y ERP, pero también lo utilizan las compañías de seguros, los bancos y las soluciones de fidelización. En algunos casos, incluso implementamos funciones adicionales para ayudar a nuestros clientes. Para los proveedores de fidelización, por ejemplo, hemos añadido la detección de duplicados basada en el hash para que puedan evitar fácilmente el fraude en las campañas de fidelización basadas en recibos.

¿Qué idiomas soporta la API de recibos?

Por defecto nuestra API es de lenguaje agnóstico. Esto significa que no fue construido para servir a un idioma específico o para definir idiomas. Fue construido para extraer ciertos tipos de información tales como cantidades, fechas, horas, valores de IVA, porcentajes de IVA, números de la Cámara de Comercio, información de pago y partidas. Esto no significa que la precisión sea la misma en todos los idiomas, porque hay una curva de aprendizaje: cuantos más documentos veamos en un determinado idioma, mejor funcionaremos. La API funciona mejor para idiomas europeos como inglés, francés, alemán, español, italiano, portugués y holandés. Se admiten otros idiomas, pero es posible que sea necesario optimizarlos para casos de uso específicos.

¿Qué pasa con la documentación y el soporte de API?

Como explicamos al principio de este artículo, más del 50% de nuestro equipo son técnicos de desarrollo. A nuestros técnicos les encanta utilizar las API, especialmente cuando están bien documentadas y proporcionar apoyo es una buena ventaja. Creemos que uno tiene que poner en práctica lo que predica, por lo que, por supuesto, hemos documentado nuestra API cuidadosamente y, si es necesario, proporcionamos apoyo tanto comercial como de implementación técnica. Aquí puedes encontrar la documentación de Klippa OCR y puedes ponerte en contacto con nosotros aquí para cualquier pregunta.

Programa una demostración online para ver cómo funciona

Por supuesto, ver es creer en soluciones técnicas. Para nosotros, el siguiente paso suele ser una demostración online de lo que nuestra API puede hacer por ti. Después pasamos a una fase POC (periodo de prueba), en la que obtendrás una clave de API y créditos para que puedas realizar todas las pruebas que desees con el soporte técnico que precises.

Si estás listo para ver la mejor API de captura de recibos en acción, ponte en contacto con nosotros o programa una demostración online.

Image Map WordPress builder