I agree with this -
*When young people steal it's generally to compensate for what they perceive is a 'lack of' in their lives.
This could be due to lack of self-esteem and feeling they will be esteemed by having nice clothes, a lack of love - feeling that they're not loved or siblings are more loved than they are, perhaps they feel they're not as clever as others and stealing is way to prove they can be clever at getting something for nothing, the list is endless and even if it comes down to pure greed there's a hunger to to fill the 'lack'.*
A common reason is to gain friends by having nicer clothes, or to attract compliments from other girls if she has low self esteem, thinks she is unattractive.
I really disagree with punishing this given that she is upset and ashamed. I would be spending more time with her, trying to find out what is going on and what her worries are. "Good girls" can be girls that have learned to hide their worries and issues. These issues need not be very large to adult eyes. So girls that maybe look down on her as being a goody two shoes, but wearing expensive clothes brings their admiration.
You might find the book How to Tal so Kids Will Listen and Listen so Kids Will Talk, helpful to help you navigate this. One tip the book gives is that if you want teenagers to talk to you, they are more likely to if you are involved in an activity where they don't have to look at you e.g. washing and drying dishes together. But lots of other useful tips as well.
I also think it is a lesson to learn for you to. I would not be asking to see receipts, but you had noticed that she was buying more clothes than usual but you had not asked any questions about it. This is not meant harshly at all, but it sounds like you need to pay a bit more attention to her and her life and ask more questions.
But don't panic, this should be just a temporary blip as long as you just talk to her about it.