Query de factura y forma de pago

Buena tarde. Tengo el siguiente Query, me da todo el detalle de factura y forma de pago. El problema es que aca, reciben un pago antes de tener la factura y han cometido el error de que cuando reconcilian este pago solo rebajan el saldo del cliente mas no agarran la factura



.

Por lo tanto en el reporte por ej. Un cliente tiene factura por Q10,000 y pagos recibidos Q9,000, no me detalla los Q1,000 del anticipo por lo mismo que les comento. Algo que pueda agregar al Query o alguna otra solucion (Aparte de que aca se haga de la forma correcta)
Adjunto imagenes.

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', 
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', 
T3.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 T0.DocDate <= '[%1]' 
AND T3.Canceled = 'N' 
ORDER BY T0.DocNum

si hacen reconciliación en el socio de negocios deben de hacerlo, el pago contra factura, o contra qué es que lo reconcilian?//
Adicional para localizar esos pagos que fueron reconciliados debes buscar la relación en la tabla “ITR1” donde el “SrcObjAbs” es el “DocEntry”.

Yo uso SB1 Hana, verifica el código y adapta lo que necesites.

SELECT distinct
T0."DocNum"  as "Factura",
T0."DocStatus" as "Estatus",
T0."DocDate" as "Fecha",
T0."CardCode" as"Cliente",
T0."CardName"  as "Nombre",
T0."DocCur" as "Moneda",
T0."DocTotal" as  "Total Factura",
T0."PaidToDate" as  "Total Pagado",
T1."SlpName" as  "Vendedor",
T2."PymntGroup" as  "Cond. Pago",
T0."DocTotalSy" as  "Total USD",
T3."DocNum" as  "No.Doc. Pago",
T3."CashSum"  as "Efectivo",
T3."CreditSum"  as "T.Crédito",
T3."CheckSum"  as "Cheque",
T3."TrsfrSum"  as "Transf",
T3."DocTotal" as  "Total Pago",
T3."DocDate"  as "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 ITR1 R ON T0."DocEntry" = R."SrcObjAbs" and R."SrcObjTyp" = 13-- obtiene el ID de la reconciliacion
inner JOIN ITR1 R2 ON R."ReconNum" = R2."ReconNum" and R2."SrcObjTyp" = 24 -- para obtener el ID del pago
inner JOIN ORCT T3 ON R2."SrcObjAbs" = T3."DocEntry" and T3."Canceled"= 'N'
WHERE T0."DocDate" >= [%1]

Cuando abonan cuando la factura aun no existe. Solo ingresan el pago recibido contra el socio de negocio.
Probare el Query y te dare mis comentarios.
Te lo agredezco mucho gracias por tomarte el tiempo.

En que quedó este tema?

Perdon por no darle continuidad. Aun no se logra ver ese tipo de pago. Por que la unica relacion es entre pago y cliente. Creo que lo ideal seria cambiar el proceso de aca en que en todo momento apliquen el pago a la factura y no de la forma que lo ha estado haciendo. O creen que exista otra opcion?