Most major credit cards are acceptable at hotels, large restaurants, department stores, travel agencies and many businesses that cater to the tourist trade, including galleries, arts and craft sellers. Consider converting a small sum of money to Rupiah before you leave home so that you are cashed-up and able to beat the crowd to the bemos at the airport. Many banks and moneychangers can be found along Jln. Legian and Jln. Ask about fees and charges.
Many money changes add a service fee after calculating the rate.
This is often negotiable. Write down the amount you expect. Always go with a friend, to check together. Check the notes you receive, to ensure Rp.1,000 notes aren't substituted for Rp.10,000 notes. If you have just made a big withdrawal go straight back to your hotel and deposit your money in a deposit box there.