cancel
Showing results for 
Search instead for 
Did you mean: 

Comisiones

Former Member
0 Kudos

Que tal expertos, tengo el siguiente problema en mi empresa calculamos las comisiones dependiendo el tipo de producto, el reporte que tengo es el siguiente:

SELECT distinct

T0.DocNum 'Factura',

T0.DocStatus 'Estatus',

T0.DocDate 'Fecha',

T0.CardCode 'Cliente',

T0.CardName 'Nombre',

T0.DocCur 'Moneda',

T0.DocTotal 'Total Factura',

T0.PaidToDate 'Total Pagado',

T0.DocTotal* .0047697  'Comision Total',

(T0.DocTotal* .0047697) * .25  'Comision Vendedor',

(T0.DocTotal* .0047697) * 0.375  'Comision Magaly',

(T0.DocTotal* .0047697) * 0.375 'Comision Juan Carlos',

T1.SlpName 'Vendedor',

T2.PymntGroup 'Cond. Pago',

T0.DocTotalSy 'Total USD',

T3.DocNum 'No.Doc. Pago',

T3.CashSum 'Efectivo',

T3.CreditSum 'T.Crédito',

T3.CheckSum 'Cheque',

T3.TrsfrSum 'Transf',

T0.DocTotal 'Total Pago',

T3.DocDate 'Fecha Pago'

FROM OINV T0

INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode

INNER JOIN OCTG T2 ON T0.GroupNum = T2.GroupNum

INNER JOIN ORCT T3 ON T0.[ReceiptNum] = T3.DocNum

INNER JOIN NNM1 T4 ON T3.Series = T4.Series

INNER JOIN RCT2 T5 ON T3.DocEntry = T5.DocNum

WHERE T3.DocDate >= '[%0]' and T3.DocDate <= '[%1]' and T1.slpname = '[%2]'

AND T3.Canceled = 'N'

ORDER BY T0.DocNum

El cual calcula las comisiones por igual sin importar si hay un articulo con diferente comision por ejemplo:

Factura 1: contiene dos productos diferentes uno calculado con el .0047697 y otro que tiene q ser calculado con el .0065

como hacer para que dependiendo el producto me calcule la comisión??   Saludos a todos

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Ademas tendrás otro tipo de complicaciones como por ejemplo:

1. Que sucede si la factura fue pagada en forma parcial

2. No estas considerando las reconciliaciones manuales

3. Que sucede si una parte fue pagada y otra parta fue creditada por nota de credito

Seria bueno que lo tomaras en consideración

Former Member
0 Kudos

Muchas gracias por sus respuestas, les explico un poco este reporte solo saca el total de facturas pagadas totalmente en determinado tiempo por ejemplo yo elijo ver las facturas pagadas que están del 26/12/13 solamente y de ahí saco las comisiones, lo único que me hace falta es la manera de detectar los dos tipos de producto unos que no contienen I.Q.F y las que si lo contienen. Les agradezco su atención

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola Humberto

no entiendo muy bien que tiene que hacer el informe, dime qué tienes que hacer si una factura de venta tiene dos productos con comisiones diferentes. ¿Tienes que incluir el total de la factura en dos informes y pagar dos veces la comisión?

Dime si el caso que nos ocupa el siguiente:

- tenemos una factura con importe 100.

- en la factura hay un artículo que comisiona el 10%.

- en la factura hay un artículo que comisiona el 20%.

- cobramos la factura por el total.

- cuando genere el informe de comisiones esta factura tiene que aparecer dos veces: una por 10 y otra 20.

¿Es este el funcionamiento correcto?

¿Cómo sabes si el artículo tiene que aplicar comisión? ¿Por una propiedad? ¿Por un campo de usuario? ¿Por qué está dentro de un rango de códigos?

Si es por una propiedad tienes que incluir las tablas INV1 y OITM en tu consulta; igual te ocurrirá si es por un campo de usuario.

Un saludo

Agustín Marcos Cividanes

Former Member
0 Kudos

Muchas gracias Agustín por tu atención, en realidad funciona de la siguiente manera:

Tengo una factura con dos artículos de comisiones diferentes las cuales quiero ver reflejado en un total de comisión a como lo tengo actualmente solo me saca una comisión general independiente al articulo que este en la factura

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

después de leer tu comentario creo que con esta modificación será suficiente:

FROM OINV T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode INNER JOIN OCTG T2 ON T0.GroupNum = T2.GroupNum INNER JOIN ORCT T3 ON T0.[ReceiptNum] = T3.DocNum INNER JOIN NNM1 T4 ON T3.Series = T4.Series INNER JOIN RCT2 T5 ON T3.DocEntry = T5.DocNum INNER JOIN INV1 T6 ON T0.DocEntry = T6.DocEntry and T6.ItemCode in ('ARTICULO1', 'ARTICULO2')

Un saludo

Agustín Marcos Cividanes

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

esta consulta no procesa las líneas de la factura, por lo tanto nunca vas a poder aplicar el cálculo que indicas.

Si las comisiones van a nivel de producto tendrás que incorporar una condición más:

inner join inv1 T6 on T6.docentry = T0.docentry

Otro cambio que tendrás que hacer será coger el total de la línea (con o sin impuestos) y con los descuentos aplicados y multiplicarlo por la comisión del producto. En la cláusula SELECT tendrás que añadir T6.linetotal o T6.price en función de tus necesidades. Para ello puedes hacerlo con un CASE groupnum WHEN valor THEN comision1 ELSE comision2.

Un saludo
Agustín Marcos Cividanes