I've been travelling in India for about 2 months now and about half the places I've stayed have asked for an advance payment way over the room rate at the time of check in. Often asking for 1000 rupees, even if the room is 400/night. They promise to pay the difference back on checkout, but then look confused when asked for a receipt. Also they don't check the room when we leave, so it doesn't seem to be a damage insurance policy.
Normally I just plain refuse to pay more than one night upfront and the policy magically goes away, but today it got a bit stressful (lots of numbers were being said and it felt like the goalposts were shifting).
So the question: Is this normal in India or any other countries? And why? Do tourists often run out on the bill? They have passport and visa details, so I assume I'd be easy to trace.