En la evolución del uso de las plataformas digitales de comercio electrónico y crm es común que los clientes deseen integrarlas a sus sistemas de gestión administrativos (ERP), y en muchos casos dichos sistemas se ejecutan en servidores locales en sus instalaciones, manejando bases de datos SQL y sin la posibilidad de usar tecnologías de conectividad en internet como las API Web Services.
En este artículo explicamos los fundamentos básicos para la sincronización de un sistema de gestión con una plataforma digital, donde el sistema de gestión administrativo (ERP) está instalado en un servidor local, y una plataforma digital ubicada en la nube de internet (remota), que podría estar basada en un comercio electrónico o un CRM, haciendo uso de Tablas Intermedias en el servidor local (SQL), para la sincronización de los datos entre dichos sistemas.
Tabla de Contenido
- 1 Premisas generales para tomar en cuenta en la sincronización de un sistema de gestión con una plataforma digital
- 2 Reglas de Sincronización de las Tablas Intermedias
- 3 Reglas de Verificación de las Existencias de Productos (Stock)
- 4 Secuencia de Lectura de las Tablas Intermedias
- 5 Reglas de Cambio de Estado de Pedidos
- 6 Tablas de la Base de Datos Intermedia
- 7 Conclusión
- 8 ¡Solicita una Sesión de Consultoría Instantánea!
- 9 Quiero una Consultoría Instantánea
Premisas generales para tomar en cuenta en la sincronización de un sistema de gestión con una plataforma digital
Para poder realizar la sincronización de un sistema de gestión con una plataforma digital, entre el sistema local y el sistema remoto es importante tomar en cuenta las siguientes premisas generales:
- Todo el manejo de las lecturas debe hacerse por excepción (solo los elementos cambiantes).
- Existe una Moneda Base y los precios de los productos siempre se deben sincronizar con dicha moneda base.
- Los Códigos (SKU) de los productos deben ser idénticos en el sistema de gestión y en la plataforma digital (Campo Clave).
- Los Códigos (SKU) de los productos deben ser distintos para cada tipo de presentación del producto o combinación de atributos (Unidades/Tamaños/Colores/etc).
- Las imágenes de los productos deben colocarse en un servidor en la nube con acceso público por URL. Puede ser el mismo servidor de la plataforma digital definiendo previamente su ubicación.
- Los nombres de los archivos electrónicos de las imágenes deben ser su mismo Códigos (SKU) con extensión/formato jpg.
- Los pesos de los productos se deben asignar en Kilogramos.
- Las dimensiones de los productos se deben asignar en centímetros.
- Los campos ID Empresa, ID Contacto, ID Producto, ID Categoría son los utilizados por el Sistema de Gestión local.
- Para los Pedidos se maneja un solo registro de Cabecera y múltiples registros de Detalles (1 registro por cada artículo en el pedido)
- Si el medio de pago escogido por el cliente final es un medio manual, la información del formulario de confirmación de pago será emitida solo por correo electrónico.
- Deben manejarse los siguientes estados para los Pedidos: VALIDANDO EXISTENCIAS, EMITIENDO AL ERP, RECHAZADO POR EXISTENCIAS, RECIBIDO EN ERP, PROCESADO, ENVIADO, ENTREGADO, FACTURADO.
- El Sistema de Gestión debe agregar el campo ID Pedido_Cabecera a los pedidos en el servidor local. Este campo será emitido desde la Plataforma Digital.
Reglas de Sincronización de las Tablas Intermedias
Para que la sincronización de un sistema de gestión con una plataforma digital funcione correctamente, es importante tomar en cuenta las reglas para las lecturas/escrituras en las tablas de la base de datos intermedias, como sigue:
1. Escrituras desde el Sistema de Gestión hacia las Tablas Intermedias
- La función de inserción de registros a las tablas intermedias debe dispararse por cambios en el módulo del sistema de gestión asociado o con base en una tarea cronometrada del servidor local.
- La función del servidor local debe verificar los datos cambiantes en la tabla correspondiente del Sistema de Gestión.
- Los datos cambiantes deben insertarse (INSERT) en la tabla intermedia (1 registro por cada cambio).
- Para cada registro deben colocarse los campos predefinidos en la tabla intermedia, incluyendo la fecha/hora de creación del registro.
- Nunca se debe hacer la actualización de ningún registro (no hacer UPDATES).
2. Lectura desde las Tablas Intermedias hacia el Sistema de Gestión
- La función de lectura de registros del servidor local desde las tablas intermedias debe dispararse por una tarea cronometrada del servidor local.
- La función de lectura de registros del servidor local debe leer todos los registros de la tabla intermedia, tomando nota del último registro leído (ID del Índice, Fecha/hora).
- La función de lectura de registros del servidor local debe escribir todos los registros leídos en una tabla intermedia en su servidor local basado en SQL si es que lo requieren para su eficiencia.
- La función de lectura de registros del servidor local debe eliminar todos los registros leídos de la tabla intermedia que ya leyó.
- La función de lectura de registros del servidor local debe actualizar las tablas relacionadas a partir de los registros crudos recibidos.
3. Escrituras desde la Plataforma Digital hacia las Tablas Intermedias
- La función de inserción de registros a las tablas intermedias debe dispararse por cambios en el módulo de la plataforma digital asociado o con base en una tarea cronometrada del servidor remoto.
- La función del servidor remoto debe verificar los datos cambiantes en la tabla correspondiente de la Plataforma Digital.
- Los datos cambiantes deben insertarse (INSERT) en la tabla intermedia (1 registro por cada cambio).
- Para cada registro deben colocarse los campos predefinidos en la tabla intermedia, incluyendo la fecha/hora de creación del registro.
- Nunca se debe hacer la actualización de ningún registro (no hacer UPDATES).
4. Lectura desde las Tablas Intermedias hacia la Plataforma Digital
- La función de lectura de registros de las tablas intermedias debe dispararse por una tarea cronometrada del servidor de la plataforma digital.
- La plataforma digital debe leer todos los registros de la tabla intermedia, tomando nota del último registro leído (ID del Índice, Fecha/hora).
- La plataforma digital debe escribir todos los registros leídos en una tabla intermedia en su servidor remoto basado en MySQL.
- La plataforma digital debe eliminar todos los registros leídos de la tabla intermedia que ya leyó.
- La plataforma digital debe actualizar las tablas relacionadas a partir de los registros crudos recibidos.
Reglas de Verificación de las Existencias de Productos (Stock)
En la sincronización de un sistema de gestión con una plataforma digital, de un comercio electrónico o CRM con un ERP, se debe realizar la verificación de las existencias de productos (stock) en tiempo real, tomando en cuenta las siguientes reglas:
- La plataforma digital deberá verificar las existencias antes de emitir un pedido hacia las tablas intermedias.
- El Sistema de Gestión del Cliente debe disponer de un procedimiento almacenado que le permita a la Plataforma Digital consultar las existencias en tiempo real de un producto. El retorno de este procedimiento almacenado debe ser solamente la existencia.
Secuencia de Lectura de las Tablas Intermedias
Para que la sincronización de un sistema de gestión con una plataforma digital funcione perfectamente, respetando las reglas establecidas, es importante que las tablas intermedias sean leídas y limpiadas en una secuencia específica, como se indica a continuación:
1. Sistema de Gestión:
La secuencia de lectura de las tablas intermedias para el sistema de gestión debe ser:
- Empresas
- Contactos
- Pedidos Cabecera
- Pedidos Detalles
- Pedidos Estados
2. Plataforma Digital:
La secuencia de lectura de las tablas intermedias para la plataforma digital debe ser:
- Categorías de Productos
- Productos
- Relación de Categorías a Productos
- Empresas
- Contactos
- Pedidos Estados
Reglas de Cambio de Estado de Pedidos
Para que el correcto manejo de los estados de los pedidos es necesario cumplir ciertas reglas que se indican a continuación:
- Cuando se crea un pedido en la Plataforma Digital el estado inicial emitido a la tabla intermedia es VALIDANDO EXISTENCIAS.
- Si las cantidades solicitadas en el pedido son iguales o menores a las existencias disponibles, el personal del Cliente debe cambiar el estado del pedido a ACEPTADO.
- Si las cantidades solicitadas en el pedido son mayores a las existencias disponibles, el personal del Cliente debe cambiar el estado del pedido a RECHAZADO.
- Cuando la Plataforma Digital reciba un nuevo estado desde el Sistema de Gestión a través de la tabla intermedia de Pedidos_Estados, debe actualizar dicho estado en el pedido y emitir el email del cambio de estado a los involucrados.
- El Sistema de Gestión del Cliente debe modificar los demás valores de los Estados de Pedidos (ACEPTADO, RECHAZADO, PROCESADO, ENVIADO, ENTREGADO, FACTURADO) cuando los Pedidos sean aceptados y/o procesados en en el mismo, escribiendo en la tabla intermedia de Pedidos_Estados
Tablas de la Base de Datos Intermedia
Como hemos explicado, esta sincronización de un sistema de gestión con una plataforma digital maneja múltiples tablas intermedias en la base de datos SQL del servidor local, que son escritas y leídas, tanto por el sistema de gestión local como por la plataforma digital. A continuación, listamos cada una de las tablas intermedias requeridas por tipo de información, con sus detalles básicos a cumplir:
PRODUCTOS:
- Dirección: Unidireccional.
- Maestro: Sistema de Gestión.
- Tablas Intermedias: Productos.
- Campos: ID Registro, ID Producto, Código (SKU), Nombre, Marca, Modelo, Unidades, Descripción Corta, Descripción Larga, URL de la Imagen, Categoría, Precio 1, Precio 2, Precio 3, Precio 4, Precio 5, Existencia, Peso, Ancho, Largo, Alto.
CATEGORÍAS DE PRODUCTOS:
- Dirección: Unidireccional.
- Maestro: Sistema de Gestión.
- Tablas Intermedias: Categorias_Productos.
- Campos: ID Registro, ID Categoría, Nombre, Descripción, URL de la Imagen, ID Categoría Padre.
RELACIÓN CATEGORÍAS A PRODUCTOS:
- Dirección: Unidireccional.
- Maestro: Sistema de Gestión.
- Tablas Intermedias: Relación_Categorias_Productos.
- Campos: ID Registro, ID Categoría, ID Producto.
CLIENTES EMPRESAS:
- Dirección: Bidireccional.
- Tablas Intermedias: Clientes_Sube, Clientes_Baja.
- Campos: ID Registro, ID Empresa, Nombre Empresa, Identificación Fiscal Empresa, Dirección, Ciudad, Estado, País, Código Postal, Teléfono Fijo, Teléfono Movil, Email.
CLIENTES PERSONAS CONTACTO:
- Dirección: Bidireccional.
- Tablas Intermedias: Contactos_Sube, Contactos_Baja.
- Campos: ID Registro, ID Contacto, Nombres, Apellidos, ID Empresa, Cargo (Rol), Dirección, Ciudad, Estado, País, Código Postal, Teléfono Fijo, Teléfono Movil, Email.
PEDIDOS CABECERA:
- Dirección: Unidireccional.
- Maestro: Plataforma Digital.
- Tablas Intermedias: Pedidos_Cabecera.
- Campos: ID Registro, ID Pedido_Cabecera, Estado del Pedido, ID Empresa, ID Contacto, Facturación-Dirección, Facturación-Ciudad, Facturación-Estado, Facturación-País, Facturación-CódigoPostal, Facturación-Email, Facturación-Teléfono, Envío-Dirección, Envío-Ciudad, Envío-Estado, Envío-País, Envío-CódigoPostal, Envío-Email, Envío-Teléfono, Sub-Total Sin Descuento, Descuento, Sub-Total con Descuento, Costo Envío, Sub-Total con Envío, Impuestos, Total, Medio de Pago, ID Pago.
PEDIDOS DETALLES:
- Dirección: Unidireccional.
- Maestro: Plataforma Digital.
- Tablas Intermedias: Pedidos_Detalles.
- Campos: ID Registro, ID Pedido_Detalles, ID Pedido_Cabecera, ID Producto, Cantidad, Precio Unitario, Monto Total Producto.
ESTADOS DE PEDIDOS
- Dirección: Bidireccional.
- Tablas Intermedias: Pedidos_Estados.
- Campos: ID Registro, ID Pedido_Cabecera, Estado, Motivo del Rechazo.
Conclusión
Cuando realiza la sincronización de un sistema de gestión con una plataforma digital en la nube (remota), como el comercio electrónico o un CRM, con un sistema de gestión administrativo (ERP) local que hace uso de un servidor de bases de datos SQL y no dispone de funcionalidades propias de internet (API Web Services), es necesario definir múltiples aspectos fundamentales, como las premisas, reglas, secuencias de lecturas, estructura de las tablas intermedias, entre otros, para que la sincronización de los datos pueda funcionar correctamente.
En el caso de que el Sistema de Gestión pueda hacer uso de la tecnología de API Webservice, le recomendamos leer nuestro artículo sobre ¿Cuáles son los fundamentos básicos para la sincronización de un sistema de gestión con una plataforma digital? (Método por API Webservice).
Si usted hace uso de nuestras plataformas TecnoCommerce o TecnoCRM y desea sincronizarlas con su sistema de gestión administrativo, ¡contáctenos ahora!