Не обязательно группировать по сумме накладной. Можно брать ее максимум или минимум.
X++:
while select maxOf(InvoiceAmount) from vendInvoiceJour
group by InvoiceId
join sum(LineAmount) from vendInvoiceTrans
where vendInvoiceTrans.InvoiceId == vendInvoiceJour.InvoiceId ...
{....