Fix amount calculation in supplier invoices with moves browsed multiple times

get_amount function must process invoices only one time (despite passed more
than one time) because supplier invoices total_amount is multiplied by -1 when
it has accounting moves and if multiplied 2 (or any pair number) times it
returns the amount in the wrong sign.

issue3711
review3791002