At first look, a comma is missing before ‘Amt’:
set @cmd= N’insert into TmpDues ( PatNo, BillDate, ReceiptNo, PayMode<b>,</b>Amt)
But I think it would be easier if you tell us what error message you are getting.
Try printing the contents of @Cmd before executing it, so you can have a look at the actual SQL statement that is going to be sent to the database.
The last line should be “exec (@Cmd)”.