I think this is due to your else statement in the if clause which is for both expressions the same ([Turnover excluding VAT in Euro]). So the if condition doesn't match and then your else condition is executed. This is probably the reason why you get the same values for both fields.
Why don't you try doing this accumulation automatically?:
if( match(Month ,Previous(Month)) , numsum( TurnoverTmp , peek( ' TurnoverCumulated ' )), TurnoverTmp ) as TurnoverCumulated
Round ([Turnover excluding VAT in Euro]/1000,0.01) as TurnoverTmp
order by Month asc;
hope this helps