Praise be to Allah.
One of the conditions of zakaah being obligatory is that the person who pays it should be a Muslim. The kaafir does not have to pay zakaah, because Allaah says (interpretation of the meaning):
“And nothing prevents their contributions from being accepted from them except that they disbelieved in Allaah and in His Messenger”
al-Bukhaari (1458) and Muslim (19) narrated from Ibn ‘Abbaas (may Allaah be pleased with him) the story of Mu’aadh being sent to Yemen, in which the Prophet (peace and blessings of Allaah be upon him) said: “Let the first thing to which you call them be to worship Allaah (alone) … if they do that, then tell them that He has enjoined upon them the zakaah on their wealth, to be given to their poor…” So he made Islam a condition of zakaah being obligatory, and they were not to be enjoined to pay zakaah until they entered Islam.
And the Sahaabah (may Allaah be pleased with them) did not take zakaah from the dhimmis, rather they levied the jizyah on them.
If a kaafir becomes Muslim, he does not have to pay zakaah on the years when he was a kaafir, rather he should calculate a whole year from the time when he became Muslim, because Allaah says (interpretation of the meaning):
“Say to those who have disbelieved, if they cease (from disbelief), their past will be forgiven”
al-Nawawi said in al-Majmoo’ (5/300): Zakaah is not required of a kaafir who is originally a kaafir, whether he is a harbi or a dhimmi, so he should not be asked to pay it when he is still a kaafir. But if he becomes Muslim, he should not be asked for zakaah for the time when he was a kaafir.
Shaykh Ibn ‘Uthaymeen (may Allaah have mercy on hi) said in al-Sharh al-Mumti’ (6/15): No zakaah is due from a kaafir, whether he is an apostate or was originally a kaafir, because zakaah is a purification. Allaah says (interpretation of the meaning): “Take Sadaqah (alms) from their wealth in order to purify them” [al-Tawbah 9:103]. But the kaafir is najis (impure) and even if he were to spend and fill the earth with gold, he would not become pure until he repents from his kufr. End quote.
What is meant by the impurity of the kaafir is spiritual impurity due to the corrupt nature of his beliefs. This cannot be purified by anything except Islam.
And Allaah knows best.