SAP BO. SAP Business One. Manejo de reportes de ventas en base a objetivos de venta (metas).

    Una de las cosas mas usualmente pedidas en la implementación de SAP Business One. Es la solicitud de reportes de ventas basados en comisiones y el alcanzar los objetivos de venta. 

     Como sabemos el tener un reporte en base a metas no se encuentra de manera natural en SAP Business One. Por lo tanto crearemos una forma sencilla de gestionar las metas de nuestros empleados de venta. Lo primero que vamos hacer es la creación de un tabla definida por el usuario (UDT) con su respectivos cambios definidos por el usuario (UDF).
     La tabla definida por el usuario la llamaremos "Salestarget" del tipo "Documento",  en la cual vamos a definir los meses del año, meta actual, y su comisión correspondiente. Esta tabla tiene por objetivo el llenar cada uno de sus renglones con los valores que serán las metas por mes para cada uno de nuestros vendedores. Les dejo una imagen de la tabla definida por el usuario para que se den una idea. 


     Como ven en la imagen tenemos los 12 meses del tipo "Importe" a continuación un campo llamado "CAchievemente - Logro actual" donde vamos a definir los logros de este vendedor, "CurCom" que es la comisión que va a obtener y por ultimo "SLName" donde hacemos referencia al nombre de nuestro vendedor. Una vez creada la tabla, le hacemos un formulario mediante la herramienta "Herramientas > Herramientas personalización > Asistente de registro de objetos...", el cual con un "wizard" muy sencillo que no necesita mayor explicación, una vez terminado el "wizard" en el menú "Herramientas > Formularios por defecto..." obtendremos una pantalla como esta. 


      Vamos bien, pero ahora la pregunta del millón ¿Como vamos a llenar esta tabla?. Y la respuesta es sencilla, primero haremos la relación con nuestros empleados de venta. En este caso vamos al menú "Gestión > Definiciones > General > Empleado/Encargado de compras del... ". Una vez ahí vemos a nuestro empleados de ventas definidos así como sus comisiones, hasta aquí todo claro pues sabemos que el campo "nombre" de nuestra tabla va relacionado con el campo "nombre de empleado del departamento de ventas", pero la otra relación que haremos es la siguiente. Al crear nuestro formulario se nos agrego un campo por defecto llamado "Docentry" el cual es un consecutivo numérico, este campo también lo utilizaremos como relación para los empleados de ventas de SAP Business One, así nos evitamos errores en nombres que estén mal escritos; para sacar el numero de cada uno de nuestros empleados haremos la siguiente consulta "select t0.slpcode, t0.slpname from OSLP t0". Ahora si teniendo estos datos podemos llenar nuestra tabla. Y si no me entendieron les dejo una imagen que puede ser mas clara que todo estar mar de letras que les acabo de dejar. 


     Una vez que tenemos esta información, le voy a dejar una tabla con la referencias de todos los documentos de ventas para que puedan hacer, las consultas que crean necesarias así como por medio de que campos se pueden ligar dichas tablas. 

     Ahora les dejo unas consultas de ejemplo, recuerden estas consultas solo son demostrativas, ustedes pueden generar las suyas de acuerdo a las necesidades del cliente. 

/* Esta consulta nos da los logros de una persona de ventar (SLPCode = 2) en mes de Julio, 
tomando en la consulta la facturas de venta y notas de credito de venta junto con nuestra tabla 
SalesTarget*/.

SELECT ((sum (convert (numeric(19,2),T1.[DocTotal]))- 
sum (convert (numeric(19,2),T2.[DocTotal])))-
  convert (numeric(19,2),T0.[U_07])) 
FROM
[dbo].[@SALESTARGET]  T0
Inner Join OINV T1 on T0.Docentry = T1.SlpCode
Inner Join ORIN T2 on T0.Docentry = T2.SlpCode and T1.SlpCode = T2.SlpCode
WHERE
T1.SlpCode = 2 and Month(T1.[DocDate]) = 6
Group by
T0.[U_07] 


/* El siguiente reporte nos permite calcular parte del salario en base a los logros. Aqui 
toda la información que usamos se basa en la tabla SalesTarget*/

SELECT Case
  When T0.[U_CAchievement] > 150 then ((T0.[U_CurCom]* T0.[U_CAchievement])/100) + 200
  When T0.[U_CAchievement] between 100 and 149.99 then ((T0.[U_CurCom] *  
                    T0.[U_CAchievement])/100) +100
  When T0.[U_CAchievement] between 85 and 99.99 then ((T0.[U_CurCom]* T0.[U_CAchievement])/100)
                    -50
  Else 0
  End "Logros"
FROM
[dbo].[@SALESTARGET]  T0
Group by
T0.U_CAchievement, T0.[U_CurCom]

      
     Con esto terminamos este tema espero que les sea de utilidad igual yo tome un ejemplo básico, si ustedes tienen otras ideas para la gestión de comisiones, las podemos platicar o ponerlas en practica. 

     Saludos. 

Posted in |

2 comentarios:

  1. Anónimo Says:

    Hola encontre su pagina hace unos dias, estoy empesando son SAP BO. me quede atorado en el wizard en el campo de ID unico aqui puedo poner cualquier numero??? gracias buena pagina estoy checando todo su contenido para sacerle todos los tips y ejemplos la verdad son muy utiles.

    saludos.

  2. SAP BO Says:

    La implementación de objetivos de venta en SAP Business One es crucial para el éxito empresarial. La creación de la tabla definida por el usuario "Salestarget" y su vinculación con los empleados de ventas establece una base sólida para el seguimiento efectivo de metas en SAP BO.

    Las consultas proporcionan una visión práctica para calcular logros y salarios, demostrando un enfoque claro y eficiente para optimizar las comisiones en SAP BO.

Related Posts with Thumbnails