Here are some common questions and answers that I've been asked about money in Russia.
What currency do we need to get before we arrive in St. Petersburg?
I personally do not think that you really need to bring any Russian rubles. They are difficult and expensive to obtain outside of Russia. Instead I suggest bringing cash in the form of euros or dollars, plus a bank card to withdraw money from ATMs. Visa card or Mastercard are both widely supported.
Other currencies and travelers checks can be rather difficult to exchange and so I recommend that if at all possible you don't bring them.
If you bring a bank card then please check with your bank that it will operate abroad. Some banks block foreign transactions as a fraud prevention measure unless you notify them in advance. I would also advise you against relying on just one card. It is possible to lose it or have some technical problems withdrawing cash, so I would recommend bringing another card or some quantity of cash as a backup.
Credit cards, while slowly increasing in popularity, still aren't widely accepted in may places in Russia, cash remains the most popular form of payment - and in many cases the only form of payment.
I would expect you to pay for almost everything in Russian rubles - most shops, restaurants, museums etc. don't take foreign currency. Some hotels do, but you are likely to get a poor exchange rate.
As I mentioned earlier it is highly advisable to bring cash in either euros or US dollars. Our banks are extremely fussy when accepting banknotes. Unfortunately this can be to a level of paranoia. Any small stains, marks, tears, missing corners etc. will be used as an reason to reject a banknote - so please only bring perfect unmarked bills, otherwise you may waste time looking for a bank or exchange bureau that will take them (usually at a bad exchange rate too).
When is tipping appropriate or expected and what are the guidelines?
Unlike in the USA tipping here is a way to encourage someone who tries his best rather that a duty. If for example to take restaurants I do not think that tips will amount to any serious money. In local cafés we leave about 100 rubles (3 euros) for the whole party and in the nice restaurant - about 10% of the bill. It is not obligatory, particularly if the waiter was not especially caring or attentive.
What is the estimated amount of money I need for food?
I am not sure if you plan any nice restaurants or only local places which are reasonable in price and tasty. Let us say - minimum is 18 euros per person per day (though it can be more or less than that).