Why Does an Old WooCommerce Order Show Another Currency?
Why This Is Correct WooCommerce Behavior
Retroactively changing an old order's displayed currency to match a later store-wide change would misrepresent what the customer was actually charged and in what currency — a serious accounting problem, not a cosmetic one. WooCommerce deliberately locks in the currency at order creation specifically to preserve an accurate historical record, which is exactly the correct approach even though it can look surprising when reviewing older orders after a currency change.
When This Comes Up
- A store deliberately switching its base currency (expanding into a new primary market, for instance) at some point in its history, leaving all prior orders correctly recorded in the old currency.
- A multi-currency plugin's configuration change, if the store's approach to currency display or conversion was altered, similarly leaving historical orders unaffected.
- Reporting and analytics tools need to account for this correctly when aggregating revenue across a currency-change boundary, converting historical amounts to a common currency for accurate combined reporting rather than naively summing mismatched currencies together.
What to Do About It
- Recognize this as correct, expected behavior, not something to "fix" on individual old orders.
- For accurate combined reporting across a currency change, use a reporting approach that properly converts historical amounts to a common currency using the appropriate historical exchange rate, rather than treating all order totals as directly comparable.
- Document the currency change date internally for reference when reviewing historical financial data.
How to confirm what you're looking at
- Open the old order and note its currency. That is the currency recorded when it was placed, and it should match what the payment gateway charged.
- Compare the order date with the date you changed the store currency, or changed the multi-currency plugin's setup. Orders before that date keep their original currency.
- Look at your reports with that in mind. Totals that add up orders from before and after a currency change are mixing currencies. Filter by date range, or convert historical amounts to a common currency before combining.
The fix not to apply
Don't edit old orders' currency or bulk-update it in the database. The order would then disagree with what the gateway actually charged and with the invoices and receipts the customer received, and any refund against it has to be made in the original currency. The record is correct as it stands.
Need help with accurate cross-currency reporting? See WooCommerce fixes.