DS (15yo) gets £60per month allowance, from which he pays for his phone contract (sim only: £6), and all non-school uniform clothes plus socialising, snacks etc.
He is not good at saving, although we encourage him to save £30 per month - so that it doesn't all get spent on snacks and small things. On top of that he will usually ask for money from family for birthday and Christmas, and usually gets given about £150 in total each time. He tends to save up for a bit and then blow the lot on a big ticket item (usually equipment for his music hobby, clothes or gifts for friends).
He recently bought his sister a v generous birthday gift, and a valentine gift for his girlfriend. Then he dropped his mobile phone and it broke - repair cost barely less than replacement (with secondhand reconditioned phone), so he spent £200 on a new secondhand phone, which cleaned his savings out and we had to advance him £60, which wipes out his next two months' savings (so his allowance is down to £30 per month, which is generally earmarked for phone contract and snacks at school).
This morning he was sad that he won't be able to buy his best friend a birthday present next month, and got very defensive when I suggested he was angling for a further loan / more cash from us. I said he wasn't getting any more money from me beyond the allowance, less the loan he already owes, and he had to learn to save more prudently.
We could afford to give him something to buy the friend a present, but the purpose behind the allowance is to teach him budgeting. We feel so mean saying "tough luck - you've spent up and that's it. Tell your friend you'll get him something in a couple of months' time". AIBU to take this stance?