Revisiones

FechaVersiónDescripciónAutorJira

 

1.0Creación del documento


 

1.1Agregado de configuraciones por puerto seguro


Contenido


Alcance

  • v7.5


Documentación de referencia

OMNI - Introducción al módulo Omni Bridge


Configuración del sistema

Categoría

Parámetro

Valor a configurar

Descripción

Ejemplo 

Terminal/Misceláneas


Nombre de la impresora de red 

String

(requerido en BMT) Si desean imprimir desde el POS el pedido botón “Imprimir” desde el encabezado del pedido, mismo pdf que se obtiene desde el BM

HP1F7B5E (HP Smart Tank 530 series)

Tienda/Ordenes

Usuario a utilizar para facturar automáticamente con BridgeCORE de la tienda

String

Username de un usuario que tenga permisos de vendedor para que sea utilizado en las facturas o NC que emite BM automáticamente. Es el usuario con el cual se asociará en la conciliación y reportes

Tiene que estar definido en la tienda con permisos de venta y devolución (ej: Rol vendedor)

sac

Tienda/Ordenes

Ordenes: admite la edición de ítems

SI/NO

Permite configurar si un pedido puede ser surtido parcialmente en el POS.

SI

Tienda/Ordenes

Reserva stock sin considerar flag de requiere reserva para itemType norma

SI/NO

Para pedidos de Omni, si se asocia la acción “Reservar” en uno de los pasos, va a reservar para todo item aunque no se encuentre configurado por maestro como “require reserva”

SI

Tienda/Ordenes

Ordenes: Actualizar reservas de stock en central

SI/NO

Se generará un TLOG de reservas en tienda cuando se genere una reserva (solo para Omni) y se replicará a BMC, con lo cual las reservas se mantendrán sincronizadas en tienda y central (no aplica a las reservas del POS)

SI

Tienda/Ordenes

Surtido Parcial Ordenes: Medio de pago para la nota de crédito automática 

String

Código del medio de pago al que se asocia la NC automática que genera el POS cuando el pedido tiene pagos asociados y hay un surtido parcial

NCC

Tienda/Ordenes


Surtido Parcial Ordenes: Item genérico para la nota de crédito automática 

String

Código del artículo que se asocia a la factura y a la NC automática que genera el POS cuando el pedido tiene pagos asociados y hay un surtido parcial (tiene que existir en el maestro de ítems y tener misma configuración que el provisto por producto)

ADJFINAN

Tienda/Ordenes

Solicitar cantidad de paquetes al facturar 


SI/NO

Para que se pueda ingresar por popUp en la factura del pedido la cantidad de paquetes del pedido

(configurar en BMT y BMC)

SI

Tienda/Ordenes

(v1.1)

Indica si se usa el filtro de pedidos pendientes por defecto en el POS o no

SI/NO

Para que quede tildado por defecto el check del listado de pedidos PENDIENTES/NO HISTORICOS

De estar tildado, la consulta filtrará por los pedidos cuyo estado se encuentre definido en orderState como orderStateGroup = PENDING (configurar en BMT y BMC)

NO

Tienda/Ordenes

(v1.1)

Mantener reservas de ordenes en el cierre de período

SI/NO

Permite definir si no se depuran las reservas en la itemInventory de aquellas reservas que provengan de pedidos de Omni

(configurar en BMT y BMC)

SI

Sistema/Sistema

Url donde se encuentra bridgeApi

String

IP donde se encuentra API en la tienda

(esto es utilizado para los cambios de estado desde el surtido en el POS) 

No puede quedar definido como localhost

Ejemplo: http://10.4.201.54:8181

Sistema/Sistema

Host del webservice de reglas


Tener en cuenta que si se utiliza protocolo de puerto seguro, pudiera requerirse completar el campo host del webservice con el path completo del dominio tal cual se encuentre definido en los certificados 

Ejemplo con puerto seguro, https

  • En el parámetro "Host del Webservice de Reglas" se debe configurar con el nombre completo del dominio como esté detallado en el certificado (SSL)
  • En el parámetro "Protocolo del Webservice de Reglas" debe configurarse como "https"




Tienda/Ordenes

Cantidad de días de vigencia de un pedido para pasar a vencido 

Number

Permite definir la cantidad de días para que un pedido, de encontrarse en un estado particular del workflow que tenga el indicador de expirationCheck = true pase de estado a vencido automáticamente


Tienda/Ordenes

Valida que no supere el monto total del pedido original al facturar 

Boolean

Permite definir si un pedido que no tiene pagos asociados, pueda validar que al facturarse el pedido no supere el monto original del pedido


Tienda/Ordenes

Habilitar calculo de márgenes (Precio de venta-costo)/costo * 100 


Permite definir si se encuentra activo o no la funcionalidad de cálculo de margenes en la facturación de pedidos. En esa pantalla quedará visible a modo de semáforo si el margen se encuentra dentro de los rangos medios definidos. 

  • Si el margen calculado da por debajo del valor inferior del rango medio: se informará en rojo
  • Si el margen calculado da por debajo del valor superior del rango medio: se informará en verde
  • Si el margen calculado esta entre el valor inferior y superior: se informará en amarillo


La fórmula será (Precio de venta-costo)/costo * 100 

Esto también habilita el margen global que se calculará como la sumatoria de todos los márgenes de los artículos dividido la cantidad de artículos (expresado en porcentaje)


Tienda/Ordenes

Ordenes: habilitar cambio de precios en la facturación

Boolean

Permite definir si queda o no habilitada la funcionalidad de cambio de precios en la facturación de un pedido, esto permite que en base a permisos particulares se pueda reducir el mismo hasta el precio mínimo de venta del artículo o se requerirá autorización del supervisor

De tener el permiso sin limite, también podrá subir su precio sobre el original que tenia en el pedido


Tienda/Ordenes

Ordenes: admite descuentos en la edición de ítems

Boolean

En el caso en el cual se encuentre habilitado como "Ordenes: admite la edición de ítems " = SI se podrá definir si aplican o no descuentos al facturar el pedido


Tienda/Ordenes

Exporta inventario a Queue completo (SI) por novedades (NO) 

Boolean

Permite definir si la exportación StockForRealTime lo hace de modo completo, todos los itemInventory (hayan o no tenido actualización) o sólo el delta de solo los itemInventory que hayan tenido cambio desde la ultima ejecución del job


Tienda/Ordenes

Envía mail del cliente a Uruware para facturas o notas de crédito de OMNI 

Boolean

A partir de v7.5.0 

Permite definir si se envía o no el mail del cliente en el mensaje de requerimiento de autorizar factura con Uruware si es una venta factura de un pedido de OMNI


Tienda/Ordenes

Imprime comprobante de factura de pedido con Uruware 

Boolean

A partir de v7.5.0

Permite definir si se imprime o no el comprobante de la factura con Uruware si es una venta factura de un pedido de OMNI


Tienda/Ordenes

Informar en la cabecera de los pedidos la fecha de vencimiento 

Boolean

A partir de v7.5.3

Permite definir si se informa a nivel datos de cabecera de un pedido en el POS/módulo Pedidos la fecha de vencimiento del pedido (la fecha de vencimiento se calcula a partir de la fecha de creación del pedido + la cantidad de días definido en el parámetro de tienda/ordenes/Cantidad de días de vigencia de un pedido para pasar a vencido 


Tienda/Ordenes

Informar en la cabecera de los pedidos el código ERP del cliente

Boolean

A partir de v7.5.3

Permite definir  si se informa a nivel datos de cabecera de un pedido en el POS/módulo Pedidos el código ERP asociado al método de contacto del cliente asociado al pedido de OMNI  


Tienda/Ordenes

Reserva de stock para ordenes OMNI sin validar cantidad disponible 

Boolean

A partir de v7.5.0

Permite definir si se reserva siempre stock de los artículos de un pedido aunque no tengan stock disponible (itemInventory: cantidad actual - 


Tienda/Ordenes

Ordenes: habilitar opciones de ordenes 

Boolean

A partir de v7.5.4

Permite definir si se mostrará en el POS el indicador o icono de nuevos pedidos en estado PENDING


Tienda/Ordenes

Ordenes: intervalo (segundos) entre consultas para el indicador de nuevos pedidos en el POS 

Number

A partir de v7.5.4

Permite definir el tiempo transcurrido entre cada consulta al servicio de tienda que obtiene la cantidad de pedidos en estado PENDING (son aquellos estados que en la tabla orderState se encuentran definidos en el campo orderStateGroup como PENDING

Expresado en segundos


Tienda/Ordenes

Crear nuevo pedido en el POS 

Boolean

A partir de v7.5.4

Permite definir si se encuentra habilitada la funcionalidad en el POS de crear nuevos pedidos desde el menú PEDIDOS (habilita el botón NUEVO) 


Tienda/Ordenes

Definir tipo de entrega a nivel ítem 

Boolean

A partir de v7.6

Permite definir si se permite definir a nivel artículo el tipo de entrega, pudiendo ser envío a domicilio o retiro en otra tienda (sino, se define a nivel transacción) 



Otras configuraciones a tener en cuenta

Terminal 0

  • La terminal 0 de Bridge Manager tienda debe tener su punto de venta fiscal creado en el servidor de factura electrónica (ejemplo: Fiscal Flow, Uruware)
  • Si se utiliza Fiscal Flow, debe estar instalado el agente de FF para BCORE Server Rest de la tienda


Ejemplo Uruware

Configuración de cierre de período

  • Si se cuenta con cierre de período automático se debe considerar que la terminal 0 de BMT no cierra, hay que dejar la validación de terminales que pueda pasar sin solicitar autorización del supervisor

Rabbit

  • Si se utilizarán colas de exportación, debe encontrarse configurado el archivo config/default.json habilitando Rabbit y su URL

Ejemplo:

  • Validar que estén las exportaciones habilitadas (desde Configuración/Colas de exportación) Destino queue
    • OrderHistory
    • OrderAudit
    • StockJournal
    • ItemInventory
  • Validar que el canal a utilizar tenga las colas configuradas/habilitadas (desde Administración/Omni/Canales)
    • EJEMPLO


Workflow de estados

  • Se debe contar con el flujo de estados particular para el cliente
  • El flujo puede ser por canal y método de entrega
  • Se podrán configurar los nombres de botones de acción del POS y si requiere de confirmación el pasaje de acción


  • Crear el canal en BMC
  • Luego tomar el ID del registro y cambiarlo en el script en el workflow

ONLINE DEMO7.dat



Entidades 

Centros de retiro

  • Validar que se encuentren dados de alta:
    • Centros de retiro
      • Administración/OMNI/Centro de retiro.
      • Deben crear uno por cada tienda donde se reciban pedidos.
      • Configurar con el mismo código de la tienda


Ejemplo



Operadores logísticos

      • Administración/OMNI/Operador logístico

Ejemplo


Particularidades

Item envío a domicilio

  • Si se necesita agregar al pedido un item para informar el costo del envío del pedido, el articulo tiene que contar con las sig características
    • debe ser un itemType=SERV
    • debe tener un depósito asignado en el maestro (aunque no lleve stock)
    • de esta manera API si está configurado que requiere siempre reserva para pedidos no hará reserva porque no es un itemType=NORM
    • no contará para que sea surtido ya que operativamente no requiere de surtido


Canal y medios de pago 

  • El canal debe tener los medios de pago asociados
  • Desde BMC, Administración/OMNI/Canales se podrá asignar los medios de pago que tendrá asociado el canal

  • En el caso de generar Notas de crédito por módulo de Omni, también agregar el medio de pago Nota de crédito o el utilizado por configuración para tal fin



Particularidades del workflow

Detalle del flujo de estados (orderWorkflow)


CampoDescripciónEjemplo
1"_id" ID asignado para el registro por MongoDB  

 "_id" : ObjectId("6447f78003a17fcad588d565"),
2"code" Código que se le da al workflow"code" : "pickup_farma",
3"name"Nombre que se le asigne al workflow"name" : "Retiro en tienda",
4"orderType"Tipo de orden: web, order"orderType" : ObjectId("5f105c882a3a154318888731"),
5"disabled" Indica si está o no habilitado"disabled" : false,
6"channel" Canal (ID) "channel" : ObjectId("6481f9e799927d1b9c8e993e"),
7 "omniTypes"

Tipo de omniType que permite definir el tipo de entrega  (ej: retiro en tienda, envío a domicilio) 

Si se detalla uno particular, aplica sobre esos, sino aplica a todos

 "omniTypes" : [ 
        "buyInStore1PickupInStore2", 
        "buyOnlinePickupInStore", 
        "buyOnlineInStorePickupInStore"
    ]

Pasos dentro del flujo de estados (orderWorkflowSteps)


CampoDescripción Ejemplo
1"_id"ID del registro de mongoDB"_id" : ObjectId("643b071fabd50e86f312c6c7"),
    
2"orderWorkflowActions"

Lista de acciones asociados al paso

De cumplirse estas validaciones, ejecuta las acciones pasando del estado inicial al estado final del paso

"orderWorkflowActions" : [ 
        ObjectId("5fe9de898d93b01cab6918cd")
    ],  
3"orderWorkflow" Flujo de estados al que pertenece el paso"orderWorkflow" : ObjectId("643af8a1abd50e86f311c7bc"),
4"initialState"Estado inicial del paso"initialState" : ObjectId("5f105c882a3a154318888732"),
5"finalState"Estado final del paso luego de ejecutarse validaciones/acciones"finalState" : ObjectId("5f107027098334f5ecb20485"),
6"isInitial" Indica si el paso es inicial del flujo"isInitial" : true,
 
7"isFinal" :Indica si el paso es final dentro del flujo"isFinal" : true,
8"allowChange" :Indica si el paso permite cambios en el pedido"allowChange" : false,
  
9"version" Asignado por mongo para el cambio del registro en la base de datos"version" : 0,
10"is_automatic"

Indica si el paso es de pasaje automático o a demanda de un usuario. 

Si es automático, de cumplirse las validaciones/ejecuta las acciones

"is_automatic" : false,
11"priority"Prioridad del paso dentro del workflow si existiera más de un paso con el mismo estado inicial "priority" : 2,
12"autMessage" Mensaje que se informa en el combo de estados de Bridge Manager (dentro del pedido) como complemento al nombre del estado

 "autMessage" : "Este cambio de estado es manual",

13"buttonName"Nombre de la etiqueta del botón que se visualiza en el POS para los cambios de estado  

"buttonName" : "Cancelar pedido",

14"confirmStep" Permite definir si se solicitará o no mediante popUp la confirmación de pasaje de estado. Se recomiendo utilizarlo en estados finales como cancelar el pedido.

"confirmStep" : true

15"stepRoles"

Permisos que tiene asociado el paso del flujo 

Si el operador logueado en BM o el POS contiene ese permiso podrá ejecutarlo. De no tener listado uno particular, no se validará

"stepRoles" : [ 
        "ROLE_bm-order-execute-automatic-step"
    ]
16"stepExecutors"

Componente de BRIDGE donde puede ejecutarse el paso. Los valores posibles son: POS, API o BM

Si no se detalla uno en particular, podrá ejecutarse en todos

"stepExecutors" : [ 
        "POS"
    ],
17"expirationCheck"Permite definir si se validará el estado inicial de este paso para que el job de pedidos a vencer superada la cantidad de días definido por Configuración del sistema pase a vencido (este deberia ser el paso final si el indicador "expirationCheck" : true

"expirationCheck" : true