The rule is:
The present perfect cannot be used with any adverbial which indicates a specific point in time in the past.
The adverbial in question is "last year" in your example.
Only adverbs of time which include the present (moment of speaking) can be used with the present perfect.
Example: I have answered five Forum questions today. ("today" includes the present moment, so it's OK.)
Example: I have answered five Forum questions yesterday. ("yesterday" does not include the present moment, so the sentence is incorrect.)