Well, I think it is done using a simple script - just matter of checking if all data is correct
Script like:
bitcoind walletpassphrase ...
bitcoind sendtoaddress 5.45
bitcoind sendtoaddress 7.45
bitcoind sendtoaddress 8.45
etc...
You can use excel to generate this script from the list of buyers in 5 minutes
I use the sendmany command. This puts the entire refund in 1 transaction.
I don't know how to make Excel emit a ready to go command, I still do a bit of hand editing.