Saldos proveedores pendientes y pagados

Buen dia el dia de hoy vengo con esta pequeña duda.
una persona del departamendo de cuentas por pagar me pidio la siguiente consulta

esto lo hace ella en excel y lo quiere sacar mas rapido en query manager
tengo la idea de que en si todo sale de facturas de proveedores en teoria pero como puedo saber a que pedido (OC), pedido de entrada de mercancia y pago efectuado (OP), si es que esta pagada la factura, estan ligados a la factura

viene en los comentarios pero todo es texto y existe variedad de comentarios con mas o menos texto

imagen

Agradeceria mucho su ayuda
Gracias

Hola compañero.

Esta es una consulta muy común en el foro, por favor revisa lo que aquí se comenta, sin duda te servirá de orientación:

Por favor, ve al post mencionado para que puedas ver el comentario de manera completa y a su vez puedas consultar otro vínculo que en él se menciona.

Seguimos atentos :wink: :mexico:

hola @Gera_Mendez entiendo que pueda ser algo ambigua mi pregunta quiza no la estructure correctamente, el problema no radica en los saldos ni las comparaciones de si han pagado a los proveedores o no, mas bien se encuentra en como obtener del campo comentarios los grupos de numeros a los cuales se hace referencia un pedido, una entrada de mercancia o un pago efectuado

Hola buenas…

¿Has leído esos enlaces o buscado algo al respecto?

Está explicado en varios posts.

Lo que ves en el mapa de relaciones es la relación entre los distintos documentos y las distintas tablas. La unión de unos documentos con otros se hace a nivel de líneas, cada línea de documento está referenciada a su documento base y a su documento destino, con lo cual puedes construir la información en ambas direcciones.

Ese campo comentarios solo recoje la información de como se encadena la información y es configurable a nivel de sociedad, para que el texto que se ve, sea de una forma u otra.

De hecho si revisas o buscas bien, encontrarás varias querys ya hechas con lo que solicitas.

Buenos días

Espero que te pueda servir este query:

SELECT T0.[CardCode] as 'Codigo', T0.[CardName] as 'Nombre', T0.[DocNum] as 'Factura', 'Plazo' + ' ' + cast(T1.instlmntid as varchar) + ' ' + 'de' + ' ' + CAST(t0.Installmnt as varchar) as 'Plazo', cast(t0.[FolioPref] as varchar) + '-' + cast(T0.[FolioNum] as varchar) as 'Folio', T0.docdate as 'Fecha Creación', t1.[DueDate] as 'Fecha Vencimiento', case when (datediff(day,T1.[DueDate],getdate())< 0) then 0 else datediff(day,T1.[DueDate],getdate()) end as 'Días de Atraso', case when (datediff(day,T1.[DueDate],getdate())< 0) then datediff(day,T1.[DueDate],getdate())*-1 else 0 end as 'Días Para Pago', T0.DocTotal as 'Importe Original', (T1.[InsTotal] - T1.[VatSum]) as 'SubTotal', t1.[VatSum] as 'IVA', t1.[InsTotal] as 'Total', t1.PaidToDate as 'Pagado', t1.[InsTotal] - t1.paidtodate as 'Por Pagar', Case t1.[Status] When 'O' Then 'Abierta' End as 'Status Doc' FROM OPCH T0 inner join PCH6 t1 on t0.docentry = t1.docentry WHERE T0.DocDate >= '[%0]' and t0.DocDate <= '[%1]' and t1.[Status] = 'O' order by T1.instlmntid, t1.[VatSum], T0.docdate

1 me gusta

Es lo que trato de explicarte en los links que te he enlazado, esa información se guarda de manera interna y la relación entre documentos se basa en lo siguiente:

al final fue mas simple de lo que yo pensaba aqui el query que aceptaron funcionando

select T0.[CardCode], T0.[CardName], T0.[DocEntry], T0.[DocNum],
case when T0.[DocCur] = ‘USD’ then T0.[DocTotalFC]
when T0.[DocCur] = ‘MXP’ then T0.[DocTotal] end AS [Total Documento],
case when T0.[DocCur] = ‘USD’ then T0.[PaidSumFc]
when T0.[DocCur] = ‘MXP’ then T0.[PaidSum] end as [Total Aplicado],
case when T0.[PaidSum] = T0.[DocTotal] then ‘PAGADO’
when T0.[PaidSum] < T0.[DocTotal] then ‘PENDIENTE’ END AS [STATUS] ,
T0.[DocDate], T0.[DocDueDate], cast(DATEDIFF(DAY, T0.[DocDueDate], GETDATE()) as varchar) + ’ Dias vencidos’ [Vencimiento]
from OPCH T0 WHERE T0.[CANCELED] = ‘N’ and T0.[CardName] = ‘[%0]’ and T0.[DocDate] between ‘[%1]’ and ‘[%2]’

1 me gusta

Es de traca, la matraca…
Tu consulta de solución no resuelve la problemática que contabas en el enunciado…
Además que no has seguido ninguna recomendación…para que lo intentarás…
Una de dos…
1.- O enunciaste mal
2.- O resolviste mal

mi logica no habia sido la correcta al inicio de la consulta, luego me reformularon el requerimiento para entenderlo mejor y no complicarme tanto

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.