Comercial
Listas de precios
El módulo Listas de precios constituye el núcleo del Price Engine de Horfal-EOS y permite construir estrategias comerciales reutilizables, escalables y completamente desacopladas del catálogo de productos.
A diferencia de los esquemas tradicionales donde el precio se captura directamente sobre cada producto, Horfal-EOS utiliza un modelo basado en atributos, listas y lógica de resolución que permite generar políticas comerciales altamente especializadas sin duplicar información ni incrementar el mantenimiento operativo.
El motor se encuentra dividido en cuatro componentes principales:
Atributos
Los atributos representan las piezas elementales utilizadas para construir una estrategia de precios.
Cada atributo encapsula una regla económica individual que posteriormente puede ser reutilizada por múltiples listas de precios sin necesidad de duplicar configuraciones.
Clave
Identificador único utilizado internamente por el sistema.
Se recomienda utilizar claves estables, descriptivas y orientadas al propósito comercial del atributo.
Ejemplos:
Nombre
Descripción operativa utilizada por los usuarios para identificar rápidamente el propósito del atributo.
Ejemplos:
Descripción
Permite documentar el contexto comercial y el objetivo del atributo.
Una buena documentación reduce errores de interpretación y facilita la administración a largo plazo.
Clase
La clase funciona como una clasificación semántica del atributo.
Ejemplos posibles:
Tipo de cálculo
Determina la naturaleza matemática del atributo.
Actualmente el motor soporta principalmente:
TASA
Aplica un porcentaje sobre una base determinada.
Ejemplo:
Costo base: 100.00 MXN
Utilidad: 40%
Resultado:
140.00 MXN
IMPORTE
Aplica un monto fijo sobre la base seleccionada.
Ejemplo:
Costo base: 100.00 MXN
Cargo logístico: 25.00 MXN
Resultado:
125.00 MXN
Valor
Representa el porcentaje o importe asociado al atributo.
La precisión es administrada utilizando el canon financiero del sistema basado en BigDecimal.
Vigencia
Permite limitar temporalmente la utilización del atributo.
Resulta especialmente útil para:
Estado
Indica si el atributo se encuentra disponible para nuevas resoluciones de precios.
La desactivación preserva el historial y evita afectar operaciones históricas.
Listas
Las listas representan contratos comerciales completos construidos a partir de uno o varios atributos.
Una misma organización puede administrar simultáneamente decenas o cientos de listas orientadas a distintos segmentos de mercado.
Clave
Identificador técnico único de la lista.
Ejemplos:
Nombre
Nombre comercial utilizado por usuarios y procesos de negocio.
Ejemplos:
Descripción
Permite documentar el objetivo comercial y el alcance de la lista.
Moneda operativa
Determina la moneda en la cual opera la lista y dentro de la cual serán ejecutados todos los cálculos asociados.
Cada lista pertenece exclusivamente a una moneda operativa.
Ámbito
Define dónde puede utilizarse la lista dentro del ecosistema comercial.
Valores habituales:
Orden de aplicación
Determina la prioridad relativa cuando múltiples listas resultan candidatas durante una resolución.
Valores menores representan mayor prioridad.
Vigencia
Permite definir periodos temporales de disponibilidad para campañas o acuerdos comerciales específicos.
Aplica a
Permite especializar listas utilizando filtros comerciales y de catálogo.
Entre los criterios soportados se encuentran:
Este mecanismo permite construir estrategias extremadamente específicas sin necesidad de duplicar productos.
Marca
Permite restringir la lista de precios a productos pertenecientes a una marca específica.
Ejemplos:
- HP
- Dell
- Acer
- Hikvision
- LinkedPro
Una lista configurada para la marca HP únicamente participará en la resolución cuando el producto evaluado pertenezca a dicha marca.
Departamento
Representa el nivel más alto de agrupación comercial dentro del catálogo de productos.
Ejemplos:
- Ferretería
- Electrónica
- Refacciones
- Material eléctrico
Es común utilizar este criterio para definir estrategias comerciales amplias aplicables a una división completa del negocio.
Línea
Permite segmentar productos dentro de un departamento específico.
Ejemplos:
- Línea profesional
- Línea industrial
- Línea doméstica
- Línea premium
Este nivel suele utilizarse cuando diferentes grupos de productos requieren márgenes o estrategias distintas dentro del mismo departamento.
Familia
Agrupa productos con características comerciales similares dentro de una línea determinada.
Ejemplos:
- Herramientas manuales
- Herramientas eléctricas
- Equipo de protección personal
- Accesorios de instalación
La familia representa un nivel de especialización superior al departamento y a la línea.
Categoría
Corresponde al nivel más específico de clasificación comercial disponible dentro del catálogo.
Ejemplos:
- Taladros inalámbricos
- Brocas SDS Plus
- Conectores RJ45 categoría 6
- Cerraduras electrónicas
Las categorías permiten construir listas extremadamente especializadas cuando el modelo comercial así lo requiere.
Suscripción
Indica si la lista aplica a productos comercializados bajo un esquema recurrente o periódico.
Valores disponibles:
- Sí
- No
Ejemplos de productos con suscripción:
- Licencias SaaS.
- Mantenimiento anual.
- Servicios administrados.
- Arrendamientos periódicos.
Tipo de bienes
Permite restringir la lista según la naturaleza operativa del producto dentro del ERP.
Valores observados actualmente:
- Activo fijo
- Consumo interno
Este criterio resulta especialmente útil cuando una organización desea separar estrategias comerciales entre mercancías, activos y consumibles internos.
Lógica
La sección de lógica define el algoritmo interno utilizado para construir el precio final de una lista determinada.
Mientras la pestaña anterior define qué lista existe, esta sección determina cómo se calcula matemáticamente.
Cada fila representa un paso dentro de la cadena de construcción del precio.
Orden
Define la secuencia exacta de ejecución de cada atributo.
El orden es fundamental porque un mismo atributo puede operar sobre bases distintas dependiendo del momento en que sea ejecutado.
Atributo
Referencia al atributo reutilizable que participará en el cálculo.
Base operativa
Determina el origen económico utilizado para iniciar el cálculo.
Algunos ejemplos incluyen:
Base de cálculo
Define sobre qué importe se aplicará el atributo.
Ejemplos:
BASE_ORIGINAL
Siempre utiliza el valor inicial de referencia.
BASE_ACUMULADA
Utiliza el resultado parcial construido hasta ese momento.
BASE_ANTERIOR
Utiliza únicamente el resultado del paso inmediatamente anterior.
Afecta base siguiente
Indica si el resultado generado por el atributo debe formar parte de la base utilizada por los siguientes pasos.
Esta opción permite construir márgenes acumulativos, descuentos encadenados o cálculos escalonados.
Obligatorio
Define si el atributo debe existir obligatoriamente para que la lista sea considerada válida durante una resolución.
Si un atributo obligatorio no puede resolverse, la lista completa es descartada automáticamente.
Simulación
La sección superior permite visualizar el comportamiento del algoritmo utilizando una base de referencia.
Su objetivo es validar rápidamente la coherencia matemática antes de liberar cambios a producción.
Diagnóstico
La pestaña Diagnóstico constituye una herramienta de análisis y trazabilidad del proceso de resolución del Price Engine.
Su objetivo no consiste en calcular precios finales sino en explicar el razonamiento seguido por el motor.
Es equivalente a un trazador o plan de ejecución dentro de una base de datos.
Contexto de resolución
Representa el conjunto de variables utilizadas para simular una operación comercial específica.
Entre ellas:
Resolver lista
Ejecuta el algoritmo de selección y presenta el resultado del análisis.
Resultado esperado
El diagnóstico explica:
Casos de uso habituales
La herramienta resulta particularmente útil para:
Recomendaciones de implementación
Se recomienda iniciar con un conjunto reducido de atributos reutilizables y expandir progresivamente el catálogo conforme madure la estrategia comercial de la organización.
La reutilización de atributos produce una reducción significativa en el mantenimiento y mejora la consistencia de las políticas de precios.
Las listas deben representar estrategias comerciales y no clientes individuales.
Cuando un cliente requiera una negociación específica, resulta preferible utilizar condiciones comerciales o asignaciones antes que multiplicar innecesariamente el número de listas.
La herramienta de diagnóstico debe formar parte del proceso habitual de validación antes de liberar nuevas estrategias de precios hacia ambientes productivos.
Una arquitectura correctamente diseñada permite administrar políticas comerciales complejas manteniendo trazabilidad, auditabilidad y simplicidad operativa incluso en organizaciones con miles de productos y múltiples monedas.
Condiciones
Las Condiciones comerciales permiten definir las políticas de pago, cobranza o descuentos que la empresa utilizará durante sus operaciones comerciales con clientes y proveedores.
Una condición comercial representa un conjunto de reglas reutilizables que puede asignarse a uno o varios socios comerciales. De esta forma, no es necesario configurar manualmente los plazos o descuentos en cada operación, ya que el sistema puede sugerir automáticamente la condición correspondiente.
Cada condición está formada por tres elementos principales:
- La definición general de la condición.
- Las reglas que determinan el comportamiento de los plazos o descuentos.
- Las asignaciones que relacionan la condición con clientes o proveedores.
Condiciones
Esta sección permite crear, consultar y administrar todas las condiciones comerciales disponibles para la empresa.
Cada condición funciona como una plantilla que posteriormente podrá utilizarse en diferentes procesos comerciales, evitando capturar la misma información de forma repetitiva.
Para registrar una nueva condición seleccione Nueva condición.
Campos disponibles
Clave
Corresponde al identificador único de la condición comercial.
La clave permite localizar rápidamente una condición dentro del sistema y facilita su identificación en listados, consultas y procesos internos.
Se recomienda utilizar nombres cortos, claros y consistentes.
Ejemplos:
- CONTADO_COMPRA
- NETO30
- PP10DESC8DIAS
Una vez que la condición comienza a utilizarse, es recomendable evitar cambios frecuentes en la clave para mantener consistencia histórica.
Nombre
Es el nombre descriptivo que visualizarán los usuarios.
Debe explicar claramente el comportamiento comercial de la condición.
Ejemplos:
- Contado neto.
- Neto a 30 días.
- Pronto pago 10% a 8 días.
- Escalonada 20/10/5.
Mientras la clave está orientada a la identificación técnica, el nombre facilita la comprensión operativa.
Dirección
Indica el tipo de operación donde podrá utilizarse la condición comercial.
Opciones disponibles:
- Compra.
- Venta.
Esta selección es importante porque determina el comportamiento posterior del sistema.
Por ejemplo:
- Una condición de Compra únicamente podrá asignarse a proveedores.
- Una condición de Venta únicamente podrá asignarse a clientes.
Esto evita configuraciones incompatibles y reduce errores de captura.
Vigencia desde
Define la fecha a partir de la cual la condición podrá comenzar a utilizarse.
Antes de esta fecha la condición permanecerá registrada, pero no deberá considerarse vigente para nuevas operaciones.
Esta funcionalidad resulta útil cuando se desea preparar condiciones que comenzarán a aplicarse en una fecha futura.
Vigencia hasta
Permite establecer una fecha límite para la utilización de la condición.
Cuando la fecha de vigencia concluye, la condición deja de estar disponible para nuevas operaciones sin necesidad de eliminarla.
Si este campo permanece vacío, la condición continuará vigente de manera indefinida hasta que sea modificada o inactivada.
Observaciones
Campo destinado al registro de comentarios internos relacionados con la condición comercial.
Las observaciones pueden utilizarse para documentar información administrativa, criterios de autorización, acuerdos internos o cualquier anotación relevante para el personal de la empresa.
Este campo no modifica el comportamiento de la condición.
Estados de una condición
Durante su ciclo de vida una condición comercial puede encontrarse en diferentes estados.
Borrador
Permite continuar configurando la condición antes de ponerla en operación.
Mientras una condición permanezca en borrador pueden realizarse modificaciones en su información y en sus reglas.
Activa
Indica que la condición ya puede utilizarse en la operación diaria.
Las condiciones activas pueden asignarse a clientes o proveedores y ser utilizadas por los distintos procesos comerciales del sistema.
Cuando una condición se encuentra activa, las reglas únicamente pueden consultarse para preservar la consistencia de la información.
Inactiva
La condición deja de estar disponible para nuevas asignaciones o nuevas operaciones.
Sin embargo, permanece registrada para conservar el historial y permitir la consulta de información utilizada anteriormente.
Reglas
Las reglas representan el comportamiento financiero de la condición comercial.
Una condición puede contener una sola regla o múltiples reglas consecutivas que definan diferentes beneficios conforme transcurren los días.
Este mecanismo permite modelar escenarios como:
- Contado.
- Neto 30 días.
- Pronto pago.
- Descuentos escalonados.
- Esquemas combinados de descuento y plazo.
Campos disponibles
Orden
Determina la secuencia lógica de cada tramo.
El sistema utiliza este orden para presentar las reglas de forma organizada.
Generalmente coincide con el crecimiento de los días definidos en cada intervalo.
Día desde
Representa el primer día del periodo donde aplica la regla.
Día hasta
Corresponde al último día donde la regla permanecerá vigente.
Los intervalos deben ser continuos y no deben superponerse.
Descuento %
Define el porcentaje de descuento que se otorgará durante ese intervalo de días.
El porcentaje puede ser cero cuando únicamente se desea representar un plazo sin beneficio económico.
Etiqueta
Es una descripción amigable del tramo.
Su objetivo es facilitar la interpretación de la condición comercial por parte de los usuarios.
Ejemplos:
- Contado neto.
- Pronto pago 10% a 15 días.
- Neto a 45 días.
Ejemplo de condición escalonada
Una condición puede configurarse de la siguiente manera:
| Días | Descuento |
|---|---|
| 0 | 20 % |
| 1 – 15 | 10 % |
| 16 – 30 | 5 % |
| 31 – 45 | 0 % |
En este ejemplo el beneficio disminuye conforme transcurre el tiempo, incentivando el pago anticipado.
Consideraciones
- Los intervalos deben ser consecutivos.
- No deben existir días repetidos entre reglas.
- Tampoco deben dejarse espacios sin cubrir entre un tramo y otro.
- El último día representa el horizonte comercial definido para la condición.
- Una condición activa únicamente permite consultar sus reglas para mantener la integridad de la configuración.
Asignaciones
Las asignaciones permiten relacionar una condición comercial con uno o varios socios.
Gracias a este mecanismo, el sistema conoce qué condición corresponde utilizar para cada cliente o proveedor durante la operación diaria.
Seleccione Nueva asignación para crear una nueva relación.
Campos disponibles
Condición comercial
Permite seleccionar la condición que será asignada.
Únicamente se muestran condiciones activas disponibles para la dirección correspondiente.
Durante la selección también se muestra información adicional como:
- Dirección.
- Estado.
- Nombre de la condición.
Socio
Corresponde al cliente o proveedor que utilizará la condición comercial.
El selector realiza búsquedas bajo demanda, evitando cargar grandes cantidades de registros al mismo tiempo y mejorando el rendimiento del sistema.
Además, el listado se filtra automáticamente según la dirección de la condición:
- Compra → Proveedores.
- Venta → Clientes.
Vigencia desde
Indica la fecha en que la asignación comenzará a aplicarse para ese socio.
Vigencia hasta
Permite definir cuándo dejará de utilizarse la asignación.
Si permanece vacía, continuará vigente hasta que sea modificada o eliminada.
Prioridad
Define el orden de preferencia cuando un mismo socio posee más de una condición comercial vigente.
Una prioridad menor representa una mayor preferencia durante la resolución de la condición aplicable.
Esta característica permite construir escenarios comerciales más flexibles sin perder control sobre cuál condición debe utilizarse primero.
Consideraciones
- Solo es posible asignar condiciones activas.
- El sistema filtra automáticamente los socios compatibles con la dirección de la condición.
- Las asignaciones conservan su historial mientras permanezcan registradas.
- Una misma condición puede asignarse a múltiples socios.
- Las vigencias permiten programar cambios futuros sin afectar las operaciones actuales.
- La prioridad ayuda a resolver escenarios donde existen varias condiciones válidas para un mismo socio.