NO. They don't, not even some 5-star hotel and not to mention shops.
For a very simple reason, the fluctuation rate for Indonesian Rupiah is too high.
The best place to change your US$ & Euro is at the airport. According to my personal experience, they offer, not the best, but reasonably good rate.
Also, almost all departmental stores & tourist spots accept credit card and you really don't need mush cash if you are just staying in the city.
And if you really need to use cash, here is my advice for cash usage per day:
1. Taxi - US$30 per day (if you travel extensively within the city of Jkt otherwise a short distance of 10km will cost you US$5 taking traffic jam into consideration)
2. Local food stall - US$10 -20
3. Tips - US$5

