cancel
Showing results for 
Search instead for 
Did you mean: 

Reporte de Pagos recibidos

former_member203638
Active Contributor
0 Kudos

Hola a todos tengo una duda, en el siguiente query de pagos recibidos,

 SELECT T2.SeriesName, T0.DocNum, T1.Folio,T0.CardName, T0.CashSum Efectivo, T0.CreditSum TC, T0.CheckSum CH, T0.TrsfrSum Trans, T0.DocTotal FROM ORCT T0  INNER JOIN OINV T1 ON T0.DocEntry = T1.ReceiptNum INNER JOIN NNM1 T2 ON T1.Series = T2.Series WHERE T0.DocDate between [%1] and [%2] and  T0.Canceled ='N' ORDER BY T2.SeriesName

Ejemplo, Si hay una pago recibido para 2 o mas facturas en el detalle de reporte me saca el monto total del pago en cada linea de facturas que halla pagado.

Osea, si tengo 2 facturas una de 500 pesos y otra de 1,000 pesos. pagadas digamos en efectivo, el query me arroja 2 renglones (el cual es correcto por que son dos facturas distintas con diferente numero de folio) pero en la columna efectivo no me pone 500 o 1,000 pesos, si no 1,500 para cada una.

Espero hanerme explicado, alguien tiene alguna ayuda para sacar el total pero de cada factura pagada? y pues hay clientes que pagan 10 o mas facturas en una sola exhibicion, ni al caso hacer un pago recibido por cada factura, asi si funcionaria el reporte pero no es el caso.

Gracias y Saludos.

Alessandro.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hola:

Yo hice una consulta de la siguiente manera espero te sirva:

SELECT

T2.[DocNum]as 'No. Factura',

T0.[CardCode] as 'Codigo del Cliente',

T0.CardName as 'Nombre del Cliente',

T2.[DocTotal] as 'Total factura',

T0.[DocNum]as 'Codigo del Pago',

T1.[SumApplied]as 'total pago',

saldofac= case

when T2.Doctotal-T1.[SumApplied]= '0' then '0'

when T2.Doctotal-T1.[SumApplied]<> '0' then T2.Doctotal-T2.PaidToDate end,

T2.[DocDate]as 'Fecha factura',

T2.[DocDueDate]as 'Fecha Vencimiento',

T0.DocDate as 'Fecha Pago',

RefPago=case

When T0.CashSum ='0' Then 'Efectivo'

When T0.CheckSum ='0' Then 'Cheque'

When T0.CreditSum ='0' Then 'TC'

When T0.TrsfrSum ='0' Then 'TransFerencia'end,

'condicion de pago' = case

When T3.GroupNum  = '1' Then '30 dias' 

When T3.GroupNum  = '9' Then '45 dias'

When T3.GroupNum  = '8' Then 'contado'

When T3.GroupNum  = '10' Then '15 dias'

When T3.GroupNum  = '11' Then '21 dias'

When T3.GroupNum  = '12' Then '8 dias'

When T3.GroupNum  = '13' Then '5 dias'

When T3.GroupNum  = '14' Then '90 dias'

When T3.GroupNum  = '15' Then '60 dias'end,

'DifPago'= case

When T3.GroupNum  = '1'  Then  datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '9' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '8' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '10' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '11' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '12' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '13' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '14' Then datediff (day,T2.DocDate,T0.DocDate)

When T3.GroupNum  = '15' Then datediff (day,T2.DocDate,T0.DocDate)

end

FROM OINV T2

LEFT JOIN RCT2 T1 ON T1.DocEntry = T2.DocEntry

INNER JOIN ORCT T0 ON T0.DocEntry = T1.DocNum

INNER JOIN OCRD T3 ON T0.CardCode = T3.CardCode

WHERE T0.[DocDate] >= [%0] and  T0.[DocDate] <=[%1]

and T1.InvType = '13'

order by T2.DocNum

Former Member
0 Kudos

Alessandro

Esto se debe a que el Valor T0.CashSum esta al igual que T0.DocTotal estan a nivel del Recibo y no de la linea de la factura, si quieres saber que monto fue aplicado a cada Factura debes de usar el campo SumApplied que se encuentra en la tabla RCT2 pero aqui no podras saber si el valor que aplicastes a la factura fue efectivo, cheque o trasnferencia ya que este detalle esta a nivel del recibo no de la Factura.

Saludos

Former Member
0 Kudos

hola una pregunta yo estoy haciendo un reporte similar pero requiero poner con la suma aplicada que factura corresponde ya se que esta informacion no esta en rtc2 la pregunta seria de que otra tabla podria traer el dato de la factura

former_member210784
Active Contributor
0 Kudos

Hola.

No creo que sea posible. El pago se registra a nivel de cabecera y ¿cómo podría saberse qué cantidad del pago total en efectivo o cheque le corresponde a cada factura?. En el pago no se discrimina por facturas.

Se podría saber el monto pagado por factura, pero no discriminado en efectivo, cheque, etc. Esta información está en la tabla RCT2.

Por supuesto, como ya lo mencionó la manera de ajustar esto sería realizando un pago recibido por factura.

Aunque ya en el enunciado del caso descarta el poder realizar un recibo por factura, si el cliente necesita ese control individual por factura, amerita hablar con el cliente para hacerle entender esto y tratar que acepten realizar un recibo por factura.

Espero sea de ayuda.