A dire la verità, ho fatto qualche passetto avanti... così:

codice:
SELECT documenti. * , TRUNCATE( SUM(

(valore_unitario - (valore_unitario*(sconto)/100) + ( (valore_unitario- (valore_unitario*(sconto)/100)) *(iva)/100)) * qty) ,2)   AS sommaTotale
FROM articoliDocumenti, docartdoc, clienti, documenti
WHERE documenti.idCliente = clienti.idCliente
AND docArtDoc.idDocumento = documenti.idDocumento
AND articoliDocumenti.idArticoloDocumento = docArtDoc.idArticoloDocumento
AND clienti.idCliente =1 AND tipoDocumento = 0 GROUP BY idDocumento
anche se... a volte restituisce null, altre volte dati sbagliati. Non vorrei aver sbagliato qualcosa con le parentesi... in realtà non mi è chiaro aritmeticamente il passaggio.
Intendo dire che l'iva va calcolata sul valore_unitario già scontato. Per cui, si tratterebbe di fare questi passaggi:
codice:
1) valore_unitario * sconto / 100

2) valore_unitario - il risultato del punto 1 e cioè
valore_unitario - (valore_unitario * sconto / 100)
3) calcolare e aggiungere l'iva al risultato del punto 2, ovvero
((valore_unitario - (valore_unitario * sconto / 100)) * iva / 100) + valore_unitario
4) moltiplicare tutto per la quantità, e cioè: 
(((valore_unitario - (valore_unitario * sconto / 100)) * iva / 100) + valore_unitario) * qty
Corretto? Non lo so... a volte mi da null e altre volte sclera con i risultati.

Franzauker, mi spieghi cosa intendi per euro-arrotondamenti devastanti? E, soprattutto, perché non funzionerà mai? Più tardi preparo il dump e lo posto qui, non è niente di colossale, faccio una versione minimal Grazie!