Waiving debt and regarding it as zakaah is not valid and does not take the place of zakaah, because one of the conditions of zakaah being valid is that it be handed over to the poor person and that the latter should take possession of it. Cancelling a debt is waiving it, but does not involve the person taking possession of anything. Allah, may He be exalted, says (interpretation of the meaning): “If you disclose your Sadaqaat (almsgiving), it is well; but if you conceal them and give them to the poor, that is better for you” [al-Baqarah 2:271].
Shaykh Ibn ‘Uthaymeen (may Allah have mercy on him) said in his Tafseer: One of the things that we learn from this verse is that sadaqah is not regarded as such until it reaches the poor person, because Allah says “and give them to the poor”. See also the answer to question no. 13901 and 119113.
But the way asked about here is not waiving a debt; rather it is delegating the poor person to go and take his right from So and so, and regarding that as zakaah. There is nothing wrong with this and it is acceptable.
But if the poor person does not take possession of it because a debtor is taking too long to pay or is in difficulty, then you still have to do give zakaah, because in that case your duty has not been discharged.
Al-Sarkhas (may Allah have mercy on him) said: If he gives what is owed to him in charity to another poor person and tells (the poor person) to take it from him with the intention that it is his zakaah, it is acceptable as such, because that poor person is acting on his behalf with regard to taking it; so it is as if he took it himself then gave it to him in charity with the intention that it be zakaah. End quote from al-Mabsoot, 3/36
And Allah knows best.