Difference between revisions of "Solución tecnológica"

From Numera Wiki
Jump to navigation Jump to search
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
La solución tecnológica de [[Numera]] ha sido diseñada de la siguiente forma:
+
La solución tecnológica de [[Numera]] ha sido diseñada bajo un [[arquitectura]] en la nube y sigue la siguiente forma:
  
==[[Radicar]]==
+
==[[Gestión documental]]==
Este modulo se encarga de recibir del usuario la [[factura]] o [[documento]] desde un archivo [[PDF]] o de imagen, almacenarla en [[S3]] y entregar un [[radicado]]. Este modulo lo hemos bautizado como [[Ventanilla Única de Radicación Virtual]] o [[VURV]]. El flujo de trabajo en este módulo esta ligado al tipo de rol y proceso que se esta haciendo. Los flujos son los siguientes:
+
En [[Numera]] encontramos que la partida para poder gestionar de manera automatizada y efectiva la información parte de tener los documentos y la data organizada. Por ello desarrollamos un sistema que usa lo mejor de los servicios que se ofrecen en la [[nube]] para estructurar los datos y que podamos convertirlos en información. Para ello tenemos varias funcionalidades que se describen a continuación.
* [[Recepcionista]]: Este rol es el principal encargado de recibir y radicar en [[Numera]] a través de la [[VURV]] los documentos recibidos. Adicionalmente este rol esta realizando el [[Torque Mecánico]] en la [[interpretación de documentos]] El flujo que sigue es
 
** [[Log in]].
 
** [[Dashboard]]: Entra directamente a un home que le permite ir a radicar, ver un listado de estadísticas, tareas, o un buscar un filtro en la lista de documentos.
 
** [[Radicar]]: Es la pantalla por la cual radica, si es que esta en alguna parte del sistema y decide ir a hacer el radicado de un nuevo documento. Entra directamente debe estar de facil acceso en la pantalla.  
 
** [[Documentos]] Es la pantalla en la que gestiona el [[radicado]] de sus [[documentos]]. A esta pantalla llega cada vez que hace un radicado, o si hace un filtro en el [[dashboard]]
 
  
==[[Lectura de documento]]s==
+
===[[Radicar]]===
Este modulo se encarga de tomar el [[radicado]] por el usuario y enviarlo a través de [[colas]] a un sistema de inteligencia artificial [[OCR]]. Estamos usando el de [[AWS]] que se llama [[Textract]]. El objetivo es poder leer la factura sin intervención humana.
+
Creamos una Ventanilla Virtual o la [[VURV]] para remplazar la gestión de la recepción física de los documentos. Con esta herramienta le permitimos a los usuarios recibir todos los documentos que requiere una organización y administrar su gestión a través de un radicado con un código único usando un [[UUID]].
 +
 
 +
El sistema permite agregar [[anexos al radicado]], tiene un [[home de radicado]] y tiene un sistema de notificaciones para informar al usuario de los cambios que sufre en el proceso el documento y sus soportes.
 +
 
 +
===[[Aprobar]]===
 +
La gestión de los documentos y fundamentalmente los que representan compras o salidas de dinero requieren de una aprobación por parte de actores que no están en los equipos contables. Para ello hemos creado una funcionalidad basada en [[rol]]es y [[permisos]] que permite aprobar o rechazar los documentos y con esto llevar un control de los estados del mismo.
 +
 
 +
En esta funcionalidad hemos agregado un estado del documento que representa que ha sido reconocido contablemente para ello hemos creado el estado [[causado]].
 +
 
 +
===[[Consulta y estado de documentos]]===
 +
Hemos creado un sistema de los para darle estados y gestión a los procesos administrativos de los documentos. Con estos logramos que el usuario pueda controlar como va su operación y generar reportes para los líderes de los procesos.
 +
 
 +
===[[Terceros]]===
 +
Las relaciones que tienen las [[Empresas]] que usan [[Numera]] son definitivas en lograr tener una gestión integral del proceso contable. En [[Numera]] diseñamos toda una herramienta de gestión de [[terceros]] en donde el sistema determina las relaciones entre unos y otros y le permite al [[usuario]] compartir con el ecosistema información crítica: el [[Rut]], la [[CCB]], etc. Con esta información logramos tener la mejor de las información posible para que sea utilizada en el momento del registro.
 +
 
 +
Con tecnología [[OCR]] leemos estos documentos y sin intervención humana extraemos datos críticos para el proceso. El ejemplo más influyente es la lectura de las [[responsabilidades fiscales]] desde el [[RUT]], con la cuales determinamos el tipo de contribuyente y las retenciones que se deben hacer en cada transacción económica.
 +
 
 +
===[[Reportes]]===
 +
Al solucionar el problema con el que viven las empresas por tener los soportes contables dispersos con la [[VURV]] el siguiente paso era habilitar un sistema de reportes que permitiera gestionar los estados de la información. Para ello hemos conectado nuestra [[base de datos]] con el sistema de [[reportes]] de [[AWS]]: [[Quicksight]] y en donde estamos constantemente entregando a los usuarios acceso en línea al estado de la operación.
 +
 
 +
==[[Registro contable automático]]==
 +
 
 +
===[[Lectura de documentos]]===
 +
 
 +
Este modulo se alimenta del [[radicado]] del [[documento]] por el [[usuario]] y lo envia a través de un sistema de [[colas]] a un sistema de inteligencia artificial [[OCR]]. Estamos usando el de [[AWS]] que se llama [[Textract]]. El objetivo es poder leer la factura sin intervención humana.
  
 
El resultado del proceso en [[Textract]] es un archivo en formato [[JSON]] que devuelve: [[Tipo de texto]], [[largo]], [[ubicación en coordenadas]], el texto en sí. A partir de esta información hemos creado un [[algoritmo]] que separa los textos y los pinta por línea en la [[herramienta de Interpretación de documentos]].
 
El resultado del proceso en [[Textract]] es un archivo en formato [[JSON]] que devuelve: [[Tipo de texto]], [[largo]], [[ubicación en coordenadas]], el texto en sí. A partir de esta información hemos creado un [[algoritmo]] que separa los textos y los pinta por línea en la [[herramienta de Interpretación de documentos]].
  
 
Para realizar la lectura del documento hemos realizado una interpretación con [[Torque Mecánico]] en la que hemos mapeado la información desde el [[JSON]] a como la necesitamos para reconocerla contablemente. A partir de esa interpretación hemos guardado un [[Esquema de factura]] para cada [[tercero]]. Este guarda la ubicación de los ítems del [[Textract]] para el tercero sin los textos. Esto tiene como objetivo que el próximo documento recibido de este [[tercero]] por un [[usuario]] de [[Numera]] sea interpretado a partir del [[esquema]] y que se pinte en la [[herramienta de Interpretación de documentos]]
 
Para realizar la lectura del documento hemos realizado una interpretación con [[Torque Mecánico]] en la que hemos mapeado la información desde el [[JSON]] a como la necesitamos para reconocerla contablemente. A partir de esa interpretación hemos guardado un [[Esquema de factura]] para cada [[tercero]]. Este guarda la ubicación de los ítems del [[Textract]] para el tercero sin los textos. Esto tiene como objetivo que el próximo documento recibido de este [[tercero]] por un [[usuario]] de [[Numera]] sea interpretado a partir del [[esquema]] y que se pinte en la [[herramienta de Interpretación de documentos]]
 +
 +
El flujo de trabajo es el siguiente por rol:
 +
 +
* [[Auxiliar Contable]]: Este rol además de [[Radicar]] puede hacer la [[interpretación de documentos]]. El flujo es el siguiente:
 +
** Seguir el proceso realizado por el rol [[Recepcionista]] si va a [[radicar]]
 +
** Entrar a la [[tabla de documentos]] y buscar en los filtros documentos sin [[interpretación]].
 +
** Entrar al documento que se va a procesar y realizar la [[Interpretación de documentos]]. En esta pantalla es posible que se requiera ver el [[tercero]], la [[compañía]] que recibió el documento o ir a radicar de nuevo. También debería tener un [[botón de compartir]].
 +
 +
* [[Contador]]: Este rol será el encargado de validar que [[Intellectio]] esta leyendo bien la factura. Para ello ingresará en los documentos que tienen la [[Interpretación de documentos]] completa e ingresan a aprobar los mismos.
 +
 +
===[[Interpretación]]===
 +
A partir de la etiquetas realizadas por los usuarios en la interpretación hemos construido una algoritmo llamado [[Intellectio]] que guarda la lógica de cada documento revisado y que revisa contra sus reglas si esta nueva lógica es más efectiva que la que tenia anteriormente. Cuando encuentra mejoras las guarda y la aplica para los siguientes documentos.
 +
 +
[[Intellectio]] opera con una confiabilidad de 70% y hoy nos permite procesar todos los documentos que recibimos en un tiempo récord. A pesar de que mantenemos una supervisión humana que nos alimenta de nuevas reglas. El objetivo es llegar a 95% de confiabilidad y realizar el registro con 0 supervisión
 +
 +
===[[Registro contable]]===
 +
El último paso de la [[Registro contable automático]] y tiene dos pasos descritos a continuación:
 +
====[[Homologación]]====
 +
El gran reto del modelo de negocio de [[Numera]] se representa en lograr que el registro contable se haga con calidad y oportunidad. La oportunidad la estructura solucionando [[Intelelctio]] en la interpretación del documento leído por Textract. El siguiente paso es lograr que el sistema identifique el [[concepto]] del documento, le de el [[contexto de causación]] y proponga un registro con altos niveles de calidad.
 +
 +
Para este proceso en [[Numera]] hemos utilizado una solución tecnológica que se basa en [[Machine Learning]] y que hoy cuenta con un registro para todos los potenciales casos que puedan existir en el entorno colombiano. El modelo recibe la información y el contexto y nos entrega un registro contable. La confiabilidad de este proceso hoy es de 50%, esperamos llegar a un 90% con el aumento de la data en el entrenamiento del modelo.
 +
 +
 +
====[[Causación]]====
 +
Es el paso final y depende de tener una integración efectiva entre el servicio de Numera y los Software Contables con los que cuentan los usuarios. Para ello la [[Solución tecnológica]] que hemos utilizado se basa en [[API]]s. Aunque el resultado final es el mismo en todos los casos, cada integración es particular.
 +
 +
==[[Parametrización]]==
 +
Desde que se inició el proyecto de [[Numera]] se identificó la falencia que tienen los sistemas contables para ser parametrizados de manera eficaz. Entendemos que la mayoría de las empresas no parametrizan los [[sistemas contables]] en los que trabajan.
 +
 +
===[[Crear empresa]]===
 +
Esta herramienta la hemos llamado [[Migrare]] en Numera. El objetivo que cumple es que los usuarios puedan crear [[empresas]] listas para recibir registros contables. Las [[empresas]] creadas pueden recibir documentos y se parametrizan en [[Odoo]] de manera automática.
 +
 +
En [[Numera]] se debe ir a la opción crear empresa y llenar el formulario. Con esta información el sistema creará una versión [[Fremium]] en [[Odoo]] para pruebas por 15 días. La parametrización se hará con varios pasos:
 +
 +
# Subir [[RUT]] y determinar que tipo de [[Posición fiscal]] se tiene. La información del [[RUT]] se extrae con [[OCR]] y se organiza en la tabla de la base de datos de Empresas clientes.
 +
# Subir [[PUC]]: se debe subir el [[PUC]] que será homologado por Numera para crear las cuentas pendientes y para traducir el [[PUC]] del cliente al estándar de [[Numera]]. Esta homologación se realizará con [[Inteligencia Artificial]].
 +
# Subir información bancaria: Para el proceso contable es definitivo hacer un seguimiento de la conciliación bancaria para encontrar movimientos. En [[Numera]] pretendemos que el banco este conciliado todo el tiempo. Para ello los usuarios deben crear las cuentas bancarias que tienen y que serán creadas en [[Odoo]] de manera automática.
 +
# Subir la historia de la empresa: Cuando construimos esta funcionalidad encontramos que era muy valioso mantener la historia de la empresa en [[Odoo]] para mantener los reportes y el análisis completo. Hemos habilitado un sistema de cargue de la historia para que se replique en el nuevo sistema la historia sin perder movimientos. El objetivo que buscamos es que se puedan hacer comparaciones contra el pasado desde la perspectiva gerencial. En este proceso recibimos la historia desde la información que trae su sistema contable. A partir de ello homologaremos los diarios y las cuentas contables a los parametrizados en [[Odoo]].
 +
 +
Datos mínimos para cargar la historia
 +
 +
*Consecutivo del diario (incluido el diario)
 +
*Fecha (especificar el formato de la fecha ejemplo: (12-dec-20 o 12-12-20)
 +
*Cuenta contable (el número de la cuenta contable)
 +
*Tercero (preferiblemente el numero de NIT o cédula)
 +
*Débito
 +
*Crédito
 +
*Numero único interno del programa que se esta exportando
 +
 +
La información adicional será escrita en la nota de cada asiento contable
 +
 +
===[[Cargue de historia]]===
 +
 +
Homologación de PUC, Banco, Terceros, movimientos
 +
 +
===[[Lectura de RUT]]===
 +
 +
==[[Reportes]]==
 +
 +
==[[Nómina]]==
 +
 +
==[[Declaraciones de impuestos]]==

Latest revision as of 15:19, 22 February 2021

La solución tecnológica de Numera ha sido diseñada bajo un arquitectura en la nube y sigue la siguiente forma:

Gestión documental

En Numera encontramos que la partida para poder gestionar de manera automatizada y efectiva la información parte de tener los documentos y la data organizada. Por ello desarrollamos un sistema que usa lo mejor de los servicios que se ofrecen en la nube para estructurar los datos y que podamos convertirlos en información. Para ello tenemos varias funcionalidades que se describen a continuación.

Radicar

Creamos una Ventanilla Virtual o la VURV para remplazar la gestión de la recepción física de los documentos. Con esta herramienta le permitimos a los usuarios recibir todos los documentos que requiere una organización y administrar su gestión a través de un radicado con un código único usando un UUID.

El sistema permite agregar anexos al radicado, tiene un home de radicado y tiene un sistema de notificaciones para informar al usuario de los cambios que sufre en el proceso el documento y sus soportes.

Aprobar

La gestión de los documentos y fundamentalmente los que representan compras o salidas de dinero requieren de una aprobación por parte de actores que no están en los equipos contables. Para ello hemos creado una funcionalidad basada en roles y permisos que permite aprobar o rechazar los documentos y con esto llevar un control de los estados del mismo.

En esta funcionalidad hemos agregado un estado del documento que representa que ha sido reconocido contablemente para ello hemos creado el estado causado.

Consulta y estado de documentos

Hemos creado un sistema de los para darle estados y gestión a los procesos administrativos de los documentos. Con estos logramos que el usuario pueda controlar como va su operación y generar reportes para los líderes de los procesos.

Terceros

Las relaciones que tienen las Empresas que usan Numera son definitivas en lograr tener una gestión integral del proceso contable. En Numera diseñamos toda una herramienta de gestión de terceros en donde el sistema determina las relaciones entre unos y otros y le permite al usuario compartir con el ecosistema información crítica: el Rut, la CCB, etc. Con esta información logramos tener la mejor de las información posible para que sea utilizada en el momento del registro.

Con tecnología OCR leemos estos documentos y sin intervención humana extraemos datos críticos para el proceso. El ejemplo más influyente es la lectura de las responsabilidades fiscales desde el RUT, con la cuales determinamos el tipo de contribuyente y las retenciones que se deben hacer en cada transacción económica.

Reportes

Al solucionar el problema con el que viven las empresas por tener los soportes contables dispersos con la VURV el siguiente paso era habilitar un sistema de reportes que permitiera gestionar los estados de la información. Para ello hemos conectado nuestra base de datos con el sistema de reportes de AWS: Quicksight y en donde estamos constantemente entregando a los usuarios acceso en línea al estado de la operación.

Registro contable automático

Lectura de documentos

Este modulo se alimenta del radicado del documento por el usuario y lo envia a través de un sistema de colas a un sistema de inteligencia artificial OCR. Estamos usando el de AWS que se llama Textract. El objetivo es poder leer la factura sin intervención humana.

El resultado del proceso en Textract es un archivo en formato JSON que devuelve: Tipo de texto, largo, ubicación en coordenadas, el texto en sí. A partir de esta información hemos creado un algoritmo que separa los textos y los pinta por línea en la herramienta de Interpretación de documentos.

Para realizar la lectura del documento hemos realizado una interpretación con Torque Mecánico en la que hemos mapeado la información desde el JSON a como la necesitamos para reconocerla contablemente. A partir de esa interpretación hemos guardado un Esquema de factura para cada tercero. Este guarda la ubicación de los ítems del Textract para el tercero sin los textos. Esto tiene como objetivo que el próximo documento recibido de este tercero por un usuario de Numera sea interpretado a partir del esquema y que se pinte en la herramienta de Interpretación de documentos

El flujo de trabajo es el siguiente por rol:

Interpretación

A partir de la etiquetas realizadas por los usuarios en la interpretación hemos construido una algoritmo llamado Intellectio que guarda la lógica de cada documento revisado y que revisa contra sus reglas si esta nueva lógica es más efectiva que la que tenia anteriormente. Cuando encuentra mejoras las guarda y la aplica para los siguientes documentos.

Intellectio opera con una confiabilidad de 70% y hoy nos permite procesar todos los documentos que recibimos en un tiempo récord. A pesar de que mantenemos una supervisión humana que nos alimenta de nuevas reglas. El objetivo es llegar a 95% de confiabilidad y realizar el registro con 0 supervisión

Registro contable

El último paso de la Registro contable automático y tiene dos pasos descritos a continuación:

Homologación

El gran reto del modelo de negocio de Numera se representa en lograr que el registro contable se haga con calidad y oportunidad. La oportunidad la estructura solucionando Intelelctio en la interpretación del documento leído por Textract. El siguiente paso es lograr que el sistema identifique el concepto del documento, le de el contexto de causación y proponga un registro con altos niveles de calidad.

Para este proceso en Numera hemos utilizado una solución tecnológica que se basa en Machine Learning y que hoy cuenta con un registro para todos los potenciales casos que puedan existir en el entorno colombiano. El modelo recibe la información y el contexto y nos entrega un registro contable. La confiabilidad de este proceso hoy es de 50%, esperamos llegar a un 90% con el aumento de la data en el entrenamiento del modelo.


Causación

Es el paso final y depende de tener una integración efectiva entre el servicio de Numera y los Software Contables con los que cuentan los usuarios. Para ello la Solución tecnológica que hemos utilizado se basa en APIs. Aunque el resultado final es el mismo en todos los casos, cada integración es particular.

Parametrización

Desde que se inició el proyecto de Numera se identificó la falencia que tienen los sistemas contables para ser parametrizados de manera eficaz. Entendemos que la mayoría de las empresas no parametrizan los sistemas contables en los que trabajan.

Crear empresa

Esta herramienta la hemos llamado Migrare en Numera. El objetivo que cumple es que los usuarios puedan crear empresas listas para recibir registros contables. Las empresas creadas pueden recibir documentos y se parametrizan en Odoo de manera automática.

En Numera se debe ir a la opción crear empresa y llenar el formulario. Con esta información el sistema creará una versión Fremium en Odoo para pruebas por 15 días. La parametrización se hará con varios pasos:

  1. Subir RUT y determinar que tipo de Posición fiscal se tiene. La información del RUT se extrae con OCR y se organiza en la tabla de la base de datos de Empresas clientes.
  2. Subir PUC: se debe subir el PUC que será homologado por Numera para crear las cuentas pendientes y para traducir el PUC del cliente al estándar de Numera. Esta homologación se realizará con Inteligencia Artificial.
  3. Subir información bancaria: Para el proceso contable es definitivo hacer un seguimiento de la conciliación bancaria para encontrar movimientos. En Numera pretendemos que el banco este conciliado todo el tiempo. Para ello los usuarios deben crear las cuentas bancarias que tienen y que serán creadas en Odoo de manera automática.
  4. Subir la historia de la empresa: Cuando construimos esta funcionalidad encontramos que era muy valioso mantener la historia de la empresa en Odoo para mantener los reportes y el análisis completo. Hemos habilitado un sistema de cargue de la historia para que se replique en el nuevo sistema la historia sin perder movimientos. El objetivo que buscamos es que se puedan hacer comparaciones contra el pasado desde la perspectiva gerencial. En este proceso recibimos la historia desde la información que trae su sistema contable. A partir de ello homologaremos los diarios y las cuentas contables a los parametrizados en Odoo.

Datos mínimos para cargar la historia

  • Consecutivo del diario (incluido el diario)
  • Fecha (especificar el formato de la fecha ejemplo: (12-dec-20 o 12-12-20)
  • Cuenta contable (el número de la cuenta contable)
  • Tercero (preferiblemente el numero de NIT o cédula)
  • Débito
  • Crédito
  • Numero único interno del programa que se esta exportando

La información adicional será escrita en la nota de cada asiento contable

Cargue de historia

Homologación de PUC, Banco, Terceros, movimientos

Lectura de RUT

Reportes

Nómina

Declaraciones de impuestos