Reporte de ventas orden - entrega y factura

Hola, sigo con problemas con este Script, debo sacar las ordenes con sus entregas y facturas, pero en ciertos casos me cuadra bien, en otros no, este es:

SELECT DISTINCT
	-- Datos del cliente
	T0.CardCode CedulaRUC,
	UPPER(T0.CardName) Cliente,
	REPLACE(RTRIM(LTRIM(T0.Address)), CHAR(13), '') Direccion,
	UPPER(T4.Name) Canal,
	UPPER(T5.Name) MacroCanal,
	UPPER(T2.SlpName) Vendedor,

	-- Datos del Item
	T1.ItemCode CodigoItem,
	RTRIM(LTRIM(T1.Dscription)) DescripcionItem,
	T1.unitMsr Unidad,
	T1.NumPerMsr UnidadMedida,

	-- Datos del Pedido
	CONVERT(CHAR(10), T0.DocDate, 102) FechaPedido,
	T0.DocNum NumeroPedido,
	T1.Quantity CantidadPedido,
	T1.PriceBefDi ValorUnitarioPedido,
	T1.Quantity * T1.PriceBefDi ValorAntesDescuentoPedido,
	T1.DiscPrcnt PorcentajeDescuento,
	CASE WHEN T1.DiscPrcnt = 0 THEN T1.Quantity * T1.PriceBefDi ELSE ((T1.Quantity * T1.PriceBefDi) * T1.DiscPrcnt) / 100 END ValorDespuesDescuentoPedido,
	T1.LineTotal ValorTotalLineaPedido,

	---- Datos de la Entrega
	CONVERT(CHAR(10), T7.DocDate, 102) FechaEntrega,
	T7.DocNum NumeroEntrega,
	T6.Quantity CantidadEntrega,
	T6.PriceBefDi ValorUnitarioEntrega,
	T6.Quantity * T6.PriceBefDi ValorAntesDescuentoEntrega,
	T6.DiscPrcnt PorcentajeDescuentoEntrega,
	CASE WHEN T6.DiscPrcnt = 0 THEN T6.Quantity * T6.PriceBefDi ELSE ((T6.Quantity * T6.PriceBefDi) * T6.DiscPrcnt) / 100 END ValorDespuesDescuentoEntrega,
	T6.LineTotal ValorTotalLineaEntrega,

	 --Datos de la Factura
	CONVERT(CHAR(10), T10.DocDate, 102) FechaFacturacion,
	T10.FolioNum NumeroFactura,
	T9.Quantity Cantidadfacturada,
	T9.PriceBefDi ValorUnitarioFactura,
	T9.Quantity * T9.PriceBefDi valorAntesDescuentoFactura,
	T9.DiscPrcnt PorcentajeDescuentoFactura,
	CASE WHEN T9.DiscPrcnt = 0 THEN T9.Quantity * T9.PriceBefDi ELSE ((T9.Quantity * T9.PriceBefDi) * T9.DiscPrcnt) / 100 END ValorDespuesDescuentoFactura,
	T9.LineTotal ValorTotalLineaFactura,

	-- Se calcula el StockOut (Cant. Entrega - Cant. Facturada
	ISNULL(T1.Quantity, 0) - ISNULL(T6.Quantity, 0) StockOut
FROM ORDR T0
	INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
	LEFT JOIN OCRD T3 ON T3.CardCode = T0.CardCode
	LEFT JOIN OSLP T2 ON T2.SlpCode = T3.SlpCode
	LEFT JOIN "@GRUPO_SN" T4 ON T4.Code = T3.U_GrupoSN
	LEFT JOIN "@SN_MACROCANAL" T5 ON T5.Code = T3.U_MacroCanal
	LEFT JOIN DLN1 T6 ON T6.BaseRef = T0.DocNum AND T6.Quantity = T1.Quantity AND T6.PriceBefDi  = T1.PriceBefDi 
	LEFT JOIN ODLN T7 ON T7.DocEntry = T6.DocEntry
	--LEFT OUTER JOIN RDN1 T8 ON T8.BaseRef = T7.DocNum
	LEFT JOIN INV1 T9 ON T9.BaseRef = T7.DocNum AND T9.Quantity = T6.Quantity AND T9.PriceBefDi = T6.PriceBefDi
	LEFT JOIN OINV T10 ON T10.DocEntry = T9.DocEntry

No se que mas falta para que cuadre, alguien me ayude por fa, gracias

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.