If you feel bad about giving away a toy because it was a gift - take a photo of it. Then get rid of it. That way - toy is gone but memory is not. Fact is, kids outgrow their toys. So it should be expected that they won't be kept forever. If they are especially valuable, ask the giver if they want it back.

You could get the kids involved too. Ask them to give away toys for charity so they can learn the joy of doing a good deed. Give them a quota - you must give away 5 toys.

Anything broken - goes regardless of who gave it or whether someone thinks it could be fixed.

And introduce a new rule - anything in the shop does not leave the shop!

HTH & GL