I arrived yesterday in Jakarta airport, and I wanted to include a quick note about how to change money here. When you are at baggage claim and before you clear customs, there are a series of ATMs. That should have worked well, but it did not. For some reason my card was declined, which is odd as I know I gave the bank a travel alert. Happily, I had read what proved to be excellent travel advise- I brought several clean 100 dollars bills with me. You should definitely do that as a backup plan.
The first opportunity to exchange those bills came immediately when I left customs- three different money changers all posted identical rates of 12,100 rupiah to the dollar. The exchange rate today is 13,465, so I passed on that. Upstairs on the departure level, however, things were different. They would buy my dollars for 13,200 rupiah, and sell me dollars for 13,800. There was no exchange fee, although it did require me to have 100 dollar bills. So, look around next time you are traveling (particularly in Indonesia)- you will want some physical cash as a backup plan, and exchange rates can vary widely.