Only £2 off a shelf. The money was actually for him anyway BUT he denied it and watched while I made ds2 look for it, assuming he had moved it. I removed 2 of ds2's toys for lying about it. I really thought ds2 had moved it as ds1 was still in bed when it went missing. DS1 witnessed this and didn't own up. I'm so upset with him, not so much for taking it but for letting ds2 take the blame. It was the last money I had til payday. Poor ds2, I'm going to spoil him today. Ds1 has had his tablet removed until Monday and isn't allowed to do a much loved activity next week. He's still doing it today as I don't want his friends let down who he is meeting there. I suppose I'm just concerned £2 now may lead to more later.
Since you're unable to cancel the activity today (totally understandable why not, I'd be the same) I think there definitely does have to be some other sort of punishment delivered today. I always think immediate punishments are more effective than delayed ones. Allowing him to do the activity today, but not next week is a bit 'meh' and I don't really think he'll draw the correlation between it being a punishment and him stealing the week before.
Again, totally age dependent, but can you make up a list of chores that he has to complete in order to 'pay back' the £2? E.g. 20p for washing the dishes, 30p for cleaning out the bath etc
Can you 'tell on him' to a relative? I find this to be extremely effective for my 7yo daughter. Whenever she does something pretty bad, I'll make sure i tell my mum (her gran) about it the next time that we're all together. It embarrasses my daughter and she's never done the same thing twice.