Hola @Laura.pripe88
La siguiente consulta de antigüedad de saldo es una modificación de una que elabore anteriormente y la he adaptado a lo que necesitas, espero te sea de utilidad:
SELECT 'Factura' AS [Tipo de Documento],
CASE
WHEN V.FatherCard IS NOT NULL THEN V.FatherCard ELSE V.CardCode
END AS CardCode,
V.CardName,
V.DocNum,
V.DocDate,
V.DocDueDate,
V.DocTotal,
V.PaidToDate,
(V.DocTotal-V.PaidToDate) AS Saldo,
DATEDIFF(DAY, V.TaxDate, V.DocDueDate) AS DiasCredito,
DATEDIFF(DAY, V.DocDueDate, GETDATE()) AS DiasVencidos,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) <= 0 THEN (V.DocTotal - V.PaidToDate) ELSE 0 END AS Corriente,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) BETWEEN 1 AND 30 THEN (V.[DocTotal] - V.[PaidToDate]) ELSE 0 END AS Menor_30,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) BETWEEN 31 AND 60 THEN (V.[DocTotal] - V.[PaidToDate]) ELSE 0 END AS Menor_60,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) BETWEEN 61 AND 90 THEN (V.[DocTotal] - V.[PaidToDate]) ELSE 0 END AS Menor_90,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) BETWEEN 91 AND 120 THEN (V.[DocTotal] - V.[PaidToDate]) ELSE 0 END AS Menor_120,
CASE WHEN DATEDIFF(DAY, V.DocDueDate, GETDATE()) > 120 THEN (V.[DocTotal] - V.[PaidToDate]) ELSE 0 END AS Mayor_120
FROM JDT1 J LEFT JOIN OINV V ON J.BaseRef = V.DocNum
WHERE V.DocStatus = 'O'
AND (CASE WHEN V.FatherCard IS NOT NULL THEN V.FatherCard ELSE V.CardCode END) = J.ShortName
AND J.Line_ID=0
UNION
SELECT 'Entrega' AS [Tipo de Documento],
CASE
WHEN E.FatherCard IS NOT NULL THEN E.FatherCard ELSE E.CardCode
END AS CardCode,
E.CardName,
E.DocNum,
E.DocDate,
E.DocDueDate,
E.DocTotal,
E.PaidToDate,
(E.DocTotal-E.PaidToDate) AS Saldo,
DATEDIFF(DAY, E.TaxDate, E.DocDueDate) AS DiasCredito,
DATEDIFF(DAY, E.DocDueDate, GETDATE()) AS DiasVencidos,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) <= 0 THEN (E.DocTotal - E.PaidToDate) ELSE 0 END AS Corriente,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) BETWEEN 1 AND 30 THEN (E.[DocTotal] - E.[PaidToDate]) ELSE 0 END AS Menor_30,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) BETWEEN 31 AND 60 THEN (E.[DocTotal] - E.[PaidToDate]) ELSE 0 END AS Menor_60,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) BETWEEN 61 AND 90 THEN (E.[DocTotal] - E.[PaidToDate]) ELSE 0 END AS Menor_90,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) BETWEEN 91 AND 120 THEN (E.[DocTotal] - E.[PaidToDate]) ELSE 0 END AS Menor_120,
CASE WHEN DATEDIFF(DAY, E.DocDueDate, GETDATE()) > 120 THEN (E.[DocTotal] - E.[PaidToDate]) ELSE 0 END AS Mayor_120
FROM ODLN E
WHERE E.DOCSTATUS = 'O'