We're fortunate that my daughter has friends with older children so toys get passed on and we rarely buy them for my grandchildren, but for something special even at 4 and 5 years old they can learn to save. We have a yard sale once or twice a year and the children have either a lemonade stand or a table with their discarded toys. I also donate to the kids table crochet items. The crochet turtles are always a big hit. They are thrilled to go to the store and purchase something with their own money.
Tip: If they have lots of small items, put them in grab bags (small used gift bags work well) and sell them for a dollar or two.