"He earns one million euros per year."
Translation:Il gagne un million d'euros par an.
THe difference between "an" and "année" is that the first word suggests a puntual period from a starting point to closing point, whereas the second refers to the duration itself.
When one says « J’ai vingt-cinq ans » = "I'm 25" we consider the starting point as the birth and the closing point the current time.
When we say « Il a travaillé ici vingt-cinq années » = He has worked here for 25 years, we insist on the duraiton, regardless of any starting/closing point.
Just a little addition. If he has worked here for 25 year and is still working here, I think we would say, "Il a travaillé ici depuis vignt-cinq ans." If he worked there for 25 years, but no longer does, the way you wrote it is more correct, "Il a travaillé ici vingt-cinq années."
(I hope a native speaker will comment. This is based on what I've learned in class - I'm living in very French Canada and taking any class I can get into, and my husband is a bilingual Angolophone Canadian who I consulted on this one.)