It is obligatory to pay zakaah immediately, once one’s wealth reaches the nisaab (minimum threshold) and one full (Hijri) year has passed since then, because delaying it with no excuse is a sin; but if it is delayed for a legitimate reason, such as not being able to find any poor people to give it to, there is nothing wrong with that.
An-Nawawi (may Allah have mercy on him) said: It is obligatory to pay zakaah immediately once it becomes due and it is possible to pay it, and it is not permissible to delay it. This was stated by Maalik, Ahmad, and the majority of scholars, because Allah, may He be exalted, says (interpretation of the meaning): “and give Zakat” [al-Baqarah 2:43]; this command implies that is to be paid immediately.
End quote from Sharh al-Muhadhdhab (5/308)
It says in Fataawa al-Lajnah ad-Daa’imah (9/398):
If the time for paying zakaah is the month of Jumada al-Oola, can we delay it until the month of Ramadan with no reason or excuse?
Answer: it is not permissible to delay payment of zakaah after one full year has passed, unless there is a legitimate shar‘i excuse, such as not being able to find any poor people at the time the year is completed, or not being able to get it to them, or because the wealth is not to hand, and so on. As for delaying it because of Ramadan, that is not permissible unless the time period is short, such as if the year is completed in the latter half of Sha‘baan. In that case there is nothing wrong with delaying it until Ramadan. End quote.
Standing Committee for Academic Research and Issuing Fatwas
‘Abd al-‘Azeez ibn ‘Abdullah ibn Baaz, ‘Abdullah ibn Qa‘ood, ‘Abdullah ibn Ghadyaan
Shaykh Ibn ‘Uthaymeen (may Allah have mercy on him) was asked about the ruling on delaying zakaah until Ramadan.
He replied: Zakaah, like other good deeds, if done at a time that is regarded as having special virtue, that is better, but when zakaah becomes due and the year has passed, it becomes obligatory to pay it, and it should not be delayed until Ramadan. If the zakaah year ends in Rajab, he should not delay it until Ramadan; rather he should pay it in Rajab. If the zakaah year ends in Muharram, he should pay it in Muharram and not delay it until Ramadan. But if the zakaah year ends in Ramadan, then he should pay it in Ramadan. The same applies if some emergency arises among the Muslims and he wants to bring forward his zakaah and give it before the year has passed; there is nothing wrong with that.
End quote from Majmoo‘ al-Fataawa (18/295)
The questioner delayed giving the zakaah of his wealth until Ramadan based on a mistaken notion, so there is no sin on him because he was unaware of the correct ruling. Then if he paid it after that in Ramadan, then he has done what is required of him, and he does not have to do anything because of this delay. But this year he must pay it in Jumaada al-Aakhirah and not delay it until Ramadan.
And Allah knows best.