Bloqueo en base al limite de credito

Hola a todos, queria consultarles si existe una manera de realizar lo siguiente

  • Activar notificaciones al equipo de CxC cuando un cliente esté por llegar a su límite de crédito.

  • Configurar un candado que impida seguir generando documentos de venta cuando el cliente ya haya sobrepasado dicho límite.

He revisado las parametrizaciones de documento, pero no encuentro la opción exacta para configurar el candado y las notificaciones.

:backhand_index_pointing_right: ¿Alguien podría orientarme paso a paso en dónde se habilita esta configuración en SAP Business One?

¡Gracias de antemano por su apoyo!

Hola @alex98casteld Como estas? esta funcionalidad viene de manera nativa en SAP Business One, en mi caso utilizo la version 9.3 Version Hana, y cuento con las activaciones en Gestión/Inicializacion Sistema/Parametrizaciones, Check de Verificado para Limite de Crédito y Limite Comprometido.

Una vez que activas esto tendrás que definir los montos a ser controlados, normalmente esto en ciertas empresas la hacen según la categoría del Cliente (Ej: Cliente Oro, Plata, Bronce; definido segun el tipo de cliente cuanto compra) esto es nada mas a modo de que debes definir un criterio para poder definir un monto a asignar a cada Socio de Negocio en la Pestaña de Condiciones de Pago

Una vez que tengas esto configurado el sistema te alertará de que el Socio de Negocios ha superado el limite de Crédito.

Espero que te sea de Utilidad.

Saludos

Atte.,

FV

Hola,

Nosotros para impedir que se puedan crear Pedidos, Entregas y Facturas de Venta cuando un cliente ha superado su riesgo de crédito, utilizamos una Transaction Notification. Te comparto la idea por si te sirve de referencia.

En nuestro caso, queríamos que también se tuvieran en cuenta los Pedidos de cliente dentro del riesgo acumulado, y la solución que aplicamos fue esta.

El patrón lo hemos replicado para tres objetos:

  • Pedidos de ventaobject_type = '17' (tabla ORDR)

  • Entregasobject_type = '15' (tabla ODLN)

  • Facturas de deudorobject_type = '13' (tabla OINV)

En cada caso, el procedimiento hace lo siguiente:

  1. Declara variables locales LimiteCredito y RiesgoAcumulado.

  2. Con un SELECT, obtiene el límite de crédito (CreditLine) del socio de negocios (OCRD) y calcula el riesgo acumulado (Balance + DNotesBal + OrdersBal).

  3. Si el riesgo acumulado supera el límite de crédito, marca error y bloquea la transacción mostrando un mensaje.

En otras palabras, se evita guardar o actualizar el documento si el cliente ya ha superado su límite de crédito considerando saldos abiertos, notas de débito y pedidos abiertos.


– ADD YOUR CODE HERE
if :object_type = ‘17’ AND ( :transaction_type = ‘A’ OR :transaction_type = ‘U’ ) THEN
declare LimiteCredito double;
declare RiesgoAcumulado double;
select IFNULL(T1.“CreditLine”, 0), IFNULL(T1.“Balance”, 0) + IFNULL(T1.“DNotesBal”, 0) + IFNULL(T1.“OrdersBal”, 0)
into LimiteCredito, RiesgoAcumulado
frOM “ORDR” T0
INNER JOIN “OCRD” T1 ON T0.“CardCode” = T1.“CardCode” where T0.“DocEntry” = :list_of_cols_val_tab_del;
if :RiesgoAcumulado > :LimiteCredito then
error := 1;
error_message := ‘El cliente ha supero el riego máximo considerando los pedidos’;
end if;
end if;

if :object_type = ‘15’ AND ( :transaction_type = ‘A’ OR :transaction_type = ‘U’ ) THEN
declare LimiteCredito double;
declare RiesgoAcumulado double;
select IFNULL(T1.“CreditLine”, 0), IFNULL(T1.“Balance”, 0) + IFNULL(T1.“DNotesBal”, 0) + IFNULL(T1.“OrdersBal”, 0)
into LimiteCredito, RiesgoAcumulado
frOM “ODLN” T0
INNER JOIN “OCRD” T1 ON T0.“CardCode” = T1.“CardCode” where T0.“DocEntry” = :list_of_cols_val_tab_del;
if :RiesgoAcumulado > :LimiteCredito then
error := 1;
error_message := ‘El cliente ha supero el riego máximo considerando los pedidos’;
end if;
end if;

if :object_type = ‘13’ AND ( :transaction_type = ‘A’ OR :transaction_type = ‘U’ ) THEN
declare LimiteCredito double;
declare RiesgoAcumulado double;
select IFNULL(T1.“CreditLine”, 0), IFNULL(T1.“Balance”, 0) + IFNULL(T1.“DNotesBal”, 0) + IFNULL(T1.“OrdersBal”, 0)
into LimiteCredito, RiesgoAcumulado
frOM “OINV” T0
INNER JOIN “OCRD” T1 ON T0.“CardCode” = T1.“CardCode” where T0.“DocEntry” = :list_of_cols_val_tab_del;
if :RiesgoAcumulado > :LimiteCredito then
error := 1;
error_message := ‘El cliente ha supero el riego máximo considerando los pedidos’;
end if;
end if;


Un saludo

4 Me gusta