Release Notes

Regla de Mejor Oferta y Validación de Precios (RPInfo)


Objetivo

Armonizar la selección de la mejor oferta y las reglas de fijación de precios promocionales entre el ERP RPInfo y el sistema RUB, eliminando discrepancias en la auditoría de góndola y etiquetas cuando existen múltiples ofertas activas para el mismo producto o cuando el valor promocional supera o iguala al precio regular.

Con este cambio, el sistema garantiza que el cliente final siempre acceda a la oferta más ventajosa (menor precio), manteniendo vigencias extendidas en caso de montos idénticos y asegurando total consistencia en la generación del Dígito Verificador (DV) / código QR.


Visión Macro de la Decisión

De forma macro, la estrategia de toma de decisión para fijación de precios promocionales y auditoría adopta dos niveles bien definidos:

  1. Decisión en la Entrada (Sincronización de Ofertas - JobDescontos):
    RUB actúa como decisor para asegurar que el cliente final siempre acceda a la condición comercial más ventajosa. Al recibir registros promocionales de RPInfo para el mismo producto y tienda, el sistema evalúa las ofertas activas y asegura la persistencia estricta del menor precio final. En situaciones de empate de importes entre ofertas vigentes, el desempate prioriza la vigencia más prolongada (dataFim), extendiendo automáticamente la duración de la promoción.

  2. Decisión en la Salida (Auditoría y Etiquetas - JobProduto):
    En el cálculo del Dígito Verificador (DV) y en la generación del código QR de auditoría, el sistema valida la consistencia de la relación entre precio de descuento y precio regular. Si el importe promocional resulta inconsistente (igual o superior al precio normal registrado), la regla macro desestima el descuento (tratándolo como 0), garantizando que el hash de auditoría y la etiqueta reflejen el precio regular y protegiendo a la tienda contra discrepancias indebidas.


Solución Implementada


Configuración

Ubicación:

TEXT
Configuraciones Avanzadas
└── Integración
    └── RPInfo
        └── Propiedad extra del descuento para decisión de menor precio

Parámetro:

rpinfoDescontoPropriedadeParaPreco

Define el nombre de la propiedad extra de descuento que servirá como base de comparación para decidir el menor precio entre las ofertas vigentes.

⚠️ Atención: Esta configuración es obligatoria para el funcionamiento de la selección de la mejor oferta. Si el campo está vacío, la regla de decisión de menor precio no se ejecutará.


Reglas de Funcionamiento

1. Procesamiento y Selección de Descuentos (JobDescontos)

Durante la lectura de los registros de descuento provenientes de la API de RPInfo:

  1. El sistema verifica si el producto/tienda ya posee un descuento activo registrado;
  2. Precio Menor: Si el nuevo descuento tiene un valor final menor que el descuento actual, el nuevo descuento se guarda y se recalcula el DV;
  3. Empate de Precio: Si el nuevo descuento tiene el mismo valor, se compara la fecha de finalización:
    • Si la nueva dataFim es más lejana (posterior) a la fecha actual, se actualiza la vigencia;
    • Si la nueva dataFim es igual o anterior, el registro se descarta;
  4. Precio Mayor: Si el nuevo descuento tiene un valor superior al ya persistido, se descarta automáticamente.

2. Composición del Dígito Verificador / Código QR (JobProduto)

Durante la generación del código del Dígito Verificador (DV) utilizado en auditorías y etiquetas:

  1. El sistema recupera el precoRegular configurado y el preco_desconto activo;
  2. Descuento Inválido o Inconsistente (preco_desconto >= precoRegular): El componente de descuento se trata como cero (000). El DV generado será idéntico al de un producto sin promoción activa;
  3. Descuento Válido (preco_desconto < precoRegular): El monto del descuento se compone de forma habitual en la clave del DV y en el código QR de auditoría.

Flujos de Decisión

1. Actualización y Selección del Descuento (JobDescontos)

graph LR
    A[Nueva Oferta RPInfo] --> B{¿Menor Precio?}
    B -- Sí --> C[Guarda Descuento y Recalcula DV]
    B -- No --> D{¿Mismo Precio y Mayor Vigencia?}
    D -- Sí --> E[Extiende Vigencia]
    D -- No --> F[Descarta Oferta]

2. Composición del Dígito Verificador (JobProduto)

graph LR
    A[Cálculo del DV] --> B{¿Descuento < Precio Regular?}
    B -- Sí --> C[DV con Regular + Descuento]
    B -- No --> D[Descuento tratado como 0
DV solo Precio Regular]

Documentación de Referencia

Para obtener detalles complementarios sobre especificaciones técnicas, contratos de API y el ecosistema de integración del ERP, consulte la Documentación de la Integración RPInfo.


Beneficios