martes, 13 de febrero de 2018

Propuesta para crear un sistema de gestión empresarial inteligente

Introducción.

Propongo emular el mundialmente reconocido Idempiere, software libre y abierto de gestión empresarial derivado del Adempiere y este del Compiere, con base en una crítica a su excesiva complejidad, rebajando las tablas que componen la base de datos de 832 a menos de 40 por un lado y por otro logrando desarrollar un algoritmo único para procesar todos los tipos de transacciones que se presentan en las Empresas.

Simplificar la síntesis de una investigación requiere encontrar conceptos que reúnan muchos análisis en conclusiones sencillas. En administración de empresas la norma ISO 9001 y sus complementos son un buen ejemplo de como múltiples hipótesis de gestión se simplificaron. Las llamadas teorías A, B y Z, las administración por objetivos, la Re-ingeniería administrativa, etc., perdieron vigencia partir de la versión ISO 9001:2000 y sus actualizaciones 2008 y 2015. La dirección vertical (A), la delegación de competencias (B), la motivación empresarial (Z), la definición de objetivos a corto mediano y largo plazo y la reestructuración de las empresas para gestionarlas por procesos, son simplificadas en las normas de gestión de la calidad. Hoy la mayoría de las empresas en el mundo certifican el cumplimiento de la norma ISO 9001.

En los procesos administrativos hay pasos que modifican la información económica de la empresa, son las transacciones contables. Personas, cosas y conceptos contables se mezclan en un evento para producir una transacción. Lograr programar un algoritmo único para el manejo de todas las transacciones contables posibles es un viejo anhelo de los programadores de aplicaciones de gestión administrativa. Algunas imputaciones de las transacciones (Ejemplos: un contrato, una venta a crédito, una orden de producción, etc.) puede dar inicio de una vigencia en el tiempo de una deuda, de un compromiso o de un proyecto, que requiere seguimiento, notificación de excepciones y activar correctivos. Las otras imputaciones registran cambios económicos que no trascienden (pagar una cuota, reportar un consumo, etc.), no generan vigencia. Las transacciones son la información documentada del punto 8 Operación, de la norma ISO 9001:2015, deben incluir la planificación, la ejecución, las revisiones y las mediciones necesarias para garantizar la producción de productos y servicios que satisfagan al Cliente.

La toma de decisiones se basa en el análisis de la información empresarial, entre mas fidedigna, actualizada y mejor presentada sea la información se supone que los responsables tomarán mejores decisiones. Muchas de las decisiones son predecibles y en tal caso se pueden automatizar, en los demás casos se pueden obtener predicciones de acuerdo a los datos conocidos y a los antecedentes lo cual formará parte de la presentación de la información. Un sistema de toma de decisiones debe ir aprendiendo de su experiencia y puede llegar a actuar como máquina inteligente en los casos en que cuente con todo la información necesaria.


Sistema experto para la implementación.

La mayoría de las empresas implementan la norma ISO 9001, gestión de la calidad, en Colombia es obligatorio que las empresas públicas implementen una versión de esta norma, deberían también implementar la ISO 14001, gestión ambiental y la OSHAS 18001, gestión de la seguridad y sanidad laboral. Las empresas que tengan alguna relación con la alimentación humana o animal deberían implementar la norma ISO 22001 de inocuidad, etc.. Hacia el futuro la tendencia es a seguir la simplificación de estas normas porque su éxito se ha debido en gran parte a que lograron sintetizar las teorías administrativas, variadas y contradictorias a veces, simplificando la creación de la red mundial empresarial, aprovechando la evolución de las tecnologías de información y comunicación, para que vayamos llegando al predominio del comercio en linea.

La ISO 9001 se aplica a todo tipo de empresas, la parte de diseño y desarrollo de productos y servicios es opcional dando cabida a las empresas que compran para vender sin transformar, comercios y comisionistas de servicios, a las que adicionan algunos productos o servicios complementarios propios, y a las que deben estar diseñando y desarrollando para poder mantenerse en el mercado. Solo la ISO 9001 se aplica a toda la estructura empresarial, las demás normas aclaran o adicionan otros controles específicos.

Como resultado vamos a ir construyendo un árbol de las implementaciones posibles de tal forma que a medida que crece son mas las veces que encontraremos un producto listo a implementar que la necesidad de crear nuevas ramas y sub-ramas para satisfacer un tipo de cliente nuevo. Entrevistar a los expertos del nuevo cliente para lograr ubicar el tipo de empresa en el árbol de implementaciones puede irse reemplazando por el acceso a la información ya registrada de esa empresa en censos empresariales de los gobiernos o los gremios, las declaraciones de impuestos, los registros de compra y venta y los procesos productivos. Un gobierno comprometido con la normalización y la simplificación bien podría solicitar los datos a todas las Empresas que permitan una rápida implementación. Así podríamos evolucionar a sistemas expertos y luego a máquinas inteligentes de implementación.


Sistema experto transaccional.

La operación empresarial genera instancias de procesos predefinidos que combinan análisis de información y decisiones de acción, cuando la información se completa y existe autorización el sistema puede decidir automáticamente una acción. Las acciones pueden ser de un solo instante como recibo de abonos a una factura o liquidación automática de una depreciación, etc., o pueden iniciar una operación que involucra otros múltiples pasos como una venta a crédito o una orden automática de producción por llegar el inventario a un punto que está programado para ordenar una cantidad económica de producción, etc.. En todos los casos se genera uno o mas juegos compensados de imputaciones contables que afectan opcionalmente cuentas contingentes, como presupuesto anual de ventas por ejecutar y ejecutado, y cuentas de inventario y sus resultados (Activo, Pasivo, Patrimonio, e ingresos y egresos de un periodo). En algunos casos se afectan personas y cosas pudiendo la afectación ser de un instante o generar pendientes que deben seguirse. Tanto la afectación de personas y de cosas se determinan por las cuentas del Activo o del Pasivo y/o Contingencias deudoras y acreedoras involucradas, de tal manera que banderas (Flags) en esas cuentas pueden orientar si una imputación es solo de ese instante o genera vigencia.

Los tipos de transacciones contienen descripciones, ejemplo Factura de Venta, siglas, ejemplo FAV, formato del Formulario de visualización y captura de datos complementarios, formato del Reporte para impresión y para almacenar la transacción completa, y vectores o arrays de ocurrencia indefinida que detallan como se generan los formularios, los reportes y las imputaciones. Esto permitirá crear árboles de información para detallar como debe mostrarse la información conocida y pedirse la desconocida, como debe contabilizarse y como debe construirse el documento evidencia de la transacción, de tal manera que un algoritmo único queda alimentado con la información necesaria para completarla. Ese algoritmo sería el núcleo del sistema experto transaccional y utilizaría datos previos y los suministrados por el usuario, banderas de las cuentas afectadas e indicadores de tratos especiales . Se terminarían los algoritmos específicos por tipo de transacción y se podrían adicionar nuevos tipos de transacciones creando la fila correspondiente sin aumentar el código.

En la siguiente página se presenta un flujograma general del sistema:




La Base de Datos del Sistema

Los datos necesarios para gestionar empresas buscan satisfacer las necesidades de todo tipo de emprendimientos. Sistemas propietarios como SAP y de software libre y abierto como Idempiere, y los demás derivados de Compiere, han logrado ser implementados en centenares de miles de Empresas. Pero sus bases de datos son muy complicadas, Idempiere tiene mas de 800 tablas con muchísimas relaciones lo que dificulta su comprensión y restringe los posibles voluntarios a mejorar el código. ¿Es posible simplificar? Sí, porque utilizando las posibilidades de las cuentas de orden se puede lograr que toda la información económica sea registrada contablemente y también es posible tener un algoritmo único para procesar todas las transacciones posibles en cualquier tipo de empresa.

Quiero explicarles la base de datos que diseñé. con menos de 40 tablas reemplaza las 832 de Idempiere sin perder información, estoy convencido que cualquier profesional la puede entender y es conveniente porque la humanidad necesita que todas sus áreas de conocimiento se gestionen efectivamente, eficaz y eficientemente, si es que queremos tener un futuro a largo plazo. Veámoslo en forma progresiva con la ayuda de unos diagramas denominados de Entidad-Relación:

  1. Unas Personas forman empresa gestionando cosas como productos, servicios y conceptos. Los conceptos que unen a las Personas y a las cosas deben ser contables, solo contables. Entonces tendremos las primeras tablas así:

    Las Personas relacionadas con la Empresa afectan una o mas cuentas y una cuenta puede ser afectada por una o mas Personas, esto se expresa con la tabla PersonasCuentas que tienen relación con las tablas Personas y Cuentas; ejemplos: Socios, Trabajadores, Clientes, Proveedores, Competidores, etc.. En forma similar la tabla CosasCuentas relaciona las tablas Cosas y Cuentas; ejemplos: Materias primas, Mercancías, elementos de consumo, activos fijos, servicios logísticos, financieros, de trámite, etc..
    Tanto las Personas como las Cosas relacionadas con la Empresa debe estar en un sitio que se define en la tabla Ubicaciones, ejemplos: dirección de trabajo, bodega, planta u oficina, etc. Las Cosas tienen precios de compra y de venta que varían con el tiempo y otras circunstancias.
    A veces es necesario ver la información contable agrupada transversalmente, ejemplos: Análisis de ingresos y egresos por centro de costo o por proyecto, para lo cual utilizaremos la tabla Categorías relacionada con la tabla Cuentas por la tabla CategoriasCuentas.
  2. Adicionemos las Empresas a sistematizar, los usuarios del sistema y unas tipologías:

    Las Empresas se tipifican y pueden ser independientes o hacer parte de un grupo. mueven algunas Cuentas a través de la relación Personas Cuentas porque cada Empresa es una Persona jurídica.
    Los Gobiernos definen planes de cuentas que deben usar las Empresas y como es posible que un grupo de Empresas opere en diferentes países es necesario poder presentar la misma información contable clasificada según diferentes planes de cuenta, lo cual se puede hacer utilizando la tabla CuentasEquivale. Los planes de cuenta y las personas también son tipificadas.
    Los Usuarios son Personas relacionadas con la Empresa autorizados a ejercer uno o mas roles.
  3. Ahora adicionemos las Normas que definen los Procesos y sus Pasos determinando las Opciones que pueden ejecutar los Usuarios:

  4. Por último agreguemos las transacciones contables, o sea los movimientos económicos empresariales:

La tabla TipoTransacción tiene una fila por cada proceso de movimiento económico posible. Desde planificaciones plurianuales, presupuestos anuales, programas de producción, de mantenimiento, de garantía, de compra o de suministros, etc. hasta facturas de venta, informes de recepción, recibos de ingresos, comprobantes de egreso, y liquidaciones automáticas cuando se cumplen algunos criterios como liquidación de impuestos, depreciaciones, valorizaciones, ajustes por inflación, cierres de ejercicio, etc., todos estos procesos y muchos mas generan transacciones y todos estarán tipificados en esta tabla. La tabla TransAuto relacione el programa de transacciones automatizadas con TipoTransaccion y Calendario, activándolas cuando se llegue la hora y sean autorizadas por un Usuario si se requiere. Las demás transacciones se activan cuando un Usuario autorizado lo ordene.

Las transacciones generan desde 2 hasta miles de imputaciones compensadas que se registran en la tabla Imputaciones, medido siempre su valor, en cualquier moneda nacional y/o virtual, mas cantidad y tiempo si es necesario. Algunas imputaciones generan o dan inicio a una vigencia de una cuenta por pagar o cobrar, de un suministro continuado de un artículo por varios lapsos de tiempo, de un item de un contrato que se mantiene hasta cumplir sus objetivos, de una referencia de un programa de producción que entra a ejecutarse, etc., por lo cual se descompone en vencimientos para programar en el tiempo los valores y cantidades involucrados.

Nota: Los diagramas se modelaron con la extensión para Eclipse ERMaster.


Conclusiones.

Se puede lograr una síntesis avanzada de la información empresarial, empieza usando unicamente la contabilidad para el registro económico, las cuentas de orden sirven para registrar los bienes de terceros que la empresa gestiona y para incluir todas las contingencias como la planificación a mediano y largo plazo, los presupuestos y las programaciones de labor, continúa con la tipología de todas las transacciones económicas empresariales en una única Entidad, para almacenar formatos de formularios y reportes, y los datos que varían de un tipo a otro.

Las transacciones se descomponen en imputaciones compensadas (débito, crédito) que pueden ser mínimo 2 o hasta miles. Una imputación puede iniciar la vigencia de un contrato, de un proyecto, de una deuda por cobrar o por pagar, de la garantía de un producto, de la existencia de un lote de mercancías, productos en proceso o materias primas, de una planificación y de un presupuesto, etc., cada vigencia puede estar programada con vencimientos por valores, cantidades o tiempo en fechas predeterminadas que pueden sufrir incumplimientos generando correctivos y sanciones. Así que lo pendiente por gestionar se inicia con la imputación generadora como padre de las imputaciones subsiguientes y de los vencimientos programados en moneda, cantidad y tiempo.

Los procesos de gestión empresarial se enmarcan en normas internacionales, con la ISO 9001 como referente universalmente aceptado, de tal manera que las demás normas son complementos para gestionar controles específicos. La gestión de los procesos debe basarse en opciones para la toma de decisiones y la activación de transacciones que en buena parte se pueden automatizar, permitiendo cambios muy justificados, sustentados en la experiencia y estrictamente auditados a fin de impulsar la mejore continua sin perder la conexión con lo ya registrado. Los usuarios autorizados asumen roles que se definen como la capacidad de ejecutar un subconjunto de opciones para informarse y activar transacciones. Cada vez habrán más usuarios autómatas supervisados por seres humanos.

Idempiere puede evolucionar a Smart Idempiere programando una conversión automática de tal manera que la parte del código actual que se sintetiza pasa a ser datos del nuevo sistema, parte de lo cualitativo, y la información registrada, lo cuantitativo, simplemente cambia de formato logrando que la migración sea casi transparente para los usuarios. Una nueva base de datos para ayudar a futuras implementaciones se extraerá de lo cualitativo sintetizado y de las migraciones para alimentar un sistema experto de implementación.



Podríamos proponer a la Gente de Idempiere crear el Smart Idempiere con una codificación totalmente nueva que sin embargo permita incluir los módulos de Idempiere como datos que definen tipos de transacciones mas las banderas y los tratos especiales que se requieran para cumplir la misma funcionalidad. Los demás datos de cada implementación que quiera migrar se deben poder convertir a la nueva base de datos por medio de una aplicación en forma automática. Convendría permitir la operación en paralelo por un tiempo prudencial trasladando los cambios y movimientos diarios en procesos batch.

Nota: Diseñado y redactado por Hernán Pardo Silva en febrero de 2018