Hi @alpha31,
I see how disruptive this transition period can be, especially when you are actively switching currencies and relying on Analytics to reflect accurate historical performance. I appreciate you laying out the observations so clearly, and I will walk through how WooCommerce currently handles this and what your practical options are.
WooCommerce Analytics reports are calculated using the store currency setting, not the original currency stored on each order. Even though individual orders retain their original currency in the Orders screen, Analytics normalizes all calculations to the currently configured store currency. There is no built in conversion layer or historical exchange rate handling, which is why older BGN orders appear as EUR and why totals are not adjusted by the BGN to EUR factor.
At the moment, WooCommerce does not prompt for a conversion rate when switching store currencies, and there is no supported way to retroactively recalculate Analytics data based on past currencies. This is a known limitation of the Analytics system rather than an issue with your setup.
Your current approach of exporting orders and adjusting values externally is the most accurate workaround today. Some merchants also use third party reporting or accounting tools that support multi currency order data and historical exchange rates, but this sits outside of core WooCommerce functionality.
If this is something you would like to see improved in WooCommerce, I strongly recommend submitting a feature request so the product team can evaluate adding currency switch prompts or historical conversion handling in Analytics. You can do that here:
https://woocommerce.com/feature-requests/
Thank you for sharing such a well documented use case, and if you have any other questions as you continue the EUR transition, feel free to let us know and we will take a closer look together.
Thank you for the information.
Lastly is there a way we can hook into the analytics logic and add the check and adjustment based on the actual currency of the order.
We can make it with hardcoded values and all we need is BGN and Euro by a set conversion.
Hi @alpha31,
At the moment, WooCommerce Analytics is not designed to be extensible at that level. The reports are built from precomputed lookup tables in the database, and those tables are generated using the store currency at the time of calculation. There is no supported hook or filter that allows adjusting totals based on the original order currency during Analytics queries. Modifying this logic would require overriding or altering core WooCommerce Analytics data stores and scheduled regeneration processes, which is not recommended as it would be overwritten by updates and could lead to inconsistent or corrupted report data.
If you want to pursue a custom solution, the safer approach would be to build an external reporting layer. This could be done by querying orders directly via custom code, reading each order’s currency and totals, applying your hardcoded conversion where needed, and then generating your own reports outside of WooCommerce Analytics. This avoids touching the core Analytics tables while still giving you accurate figures.
For visibility and future improvements, I would still encourage submitting this as a feature request, as multi currency historical reporting and currency switch handling in Analytics is a common need for merchants in your situation. You can share your use case and technical expectations here so it reaches the product team directly: https://woocommerce.com/feature-requests/woocommerce/.
Hi @alpha31,
I hope you are doing well. Since we have not heard back, I will close this out for now. Please feel free to reach out again if you need help later on.
If you are enjoying the plugin or found our support helpful, we would really appreciate a quick review here: https://wordpress.org/support/plugin/woocommerce/reviews/#new-post