He should have done it means: He didn't do it, when he was expected to do it, or had some obligation to have done it. It would have been a good idea if he had done it. It is expected that he has done it by now
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.