Handling multiple-currencies - advice/comments please

Hi all,

I want to create a site which can handle prices in multiple currencies. At the moment this is restricted to US Dollars, Euro and Pounds Sterling. I'm in the UK, so all products would be stored in Pounds Sterling. At this point in time there is no need for internationalisation or localisation. We're just interested in letting the user work in their native currency.

I've seen the dollars and cents plugin, and also the use of aggregation to create a composite Money class which goes a long way to achieving what I might need... Has anyone been here before and got any advice or pointers for me? - I'm particularly interested in being able to maintain the ability to do math operations in the database (for reporting etc.) and also handling currency symbols appearing before or after the amount, as is the case in some currencies.

My current train of thought is to store prices as INTs (in pence Sterling) and have a table of currencies containing something like this: id, name, symbol, symbol_before (Y or N, N assumes symbol comes after value) and sterling_exchange_rate.

We would default to pounds sterling and store the currency object in the session. A Money class would handle the aggregation and conversion issues by referencing the currency object in the session.

Does this sound like a sensible plan?

Many thanks in advance,

Matt.