The answer is that this does not suffice. Shaykh al-Islam said: “There is no disagreement on this,” for several reasons:
First: zakat entails taking and giving. Allah, Most High, says: “Take from their wealth a charity.” [Surah al-Tawbah 9:103] Yet no taking is involved here.
Second: this is akin to giving away what is inferior instead of what is good. Allah, Most High, says: “And do not aim at what is inferior thereof, spending from it.” [Surah al-Baqarah 2:267] The reason is that he would be discharging this debt in place of zakat due on tangible wealth. For example, I possess forty thousand riyals, whose zakat is one thousand riyals, while a poor person owes me one thousand riyals. What I possess is the forty thousand riyals, which are in my hand and under my disposal, whereas the debt owed by the insolvent person is not in my hand.
It is well known that, in people’s minds, a debt is worth less than tangible property. Thus, it is as though I were giving something inferior in place of something sound and good, so it does not suffice.
Third: in most cases, this only occurs when the person has despaired of repayment. In this way, he revives and increases the value of the wealth in his possession, because he will now be spared from paying one thousand riyals.
Issue: Is it permissible for me to release him from the zakat due on the wealth he holds?
That is, if a man owes me forty thousand riyals, I must pay one thousand riyals as zakat on it—according to the less correct view that a debt owed by an insolvent person is subject to zakat; the correct view is otherwise. If this man were insolvent, would it be permissible for me to waive from the debt the one thousand riyals of zakat that I owe, so that his debt would amount to thirty-nine thousand riyals?