When my daughter reached the age of six, my wife and I decided to give her a small amount of pocket money. However, access to money of her own would allow her to buy herself large quantities of sweeties. So instead of giving her cash in hand we keep track of the money she's accumulated, which she can then use to purchase anything she wants so long as it's not food or drink.
This worked well, but for her eighth birthday a number of kind friends and relatives gave her cash. She now plans to keep this money as an ongoing sweeties budget while buying birthday presents from her saved pocket money to show her benefactors.
Short of confiscating her birthday money, is there any way we can hope to discourage this?