Sales records (opportunity, quote, order and invoice) have a currency field which determines the price lists that can be used on the record. After a record is created whether the currency can be changed depends on the record type and the status of the record.
Opportunity Records
Status
Can currency be changed?
Can Price List be changed?
Open
Yes, but only if there are no associated opportunity products, quotes, orders or invoices
Yes, but this can cause errors with line items if they do not have a price list item on the new price list
Won
No
No
Lost
No
No
Quote Records
Status
Can currency be changed?
Can Price List be changed?
Draft
Yes, but only if there are no associated quote products
Yes, but this can cause errors with line items if they do not have a price list item on the new price list
Active
No
No
Won
No
No
Closed
No
No
Order Records
Status
Can currency be changed?
Can Price list be changed?
Active
No
Yes, but this can cause errors with line items if they do not have a price list item on the new price list
Fulfilled
No
No
Canceled
No
No
Invoice Records
Status
Can currency be changed?
Can Price list be changed?
Active
No
Yes, but this can cause errors with line items if they do not have a price list item on the new price list