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.