From 08ed6e529b21d5f77ea4610bbc296a7c5995c3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 21 Aug 2025 10:38:46 +0200 Subject: [PATCH] Clear the Shopify tax adjustment before recalculating it Closes #14143 --- modules/web_shop_shopify/tests/scenario_web_shop_shopify.rst | 2 +- modules/web_shop_shopify/web.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/web_shop_shopify/tests/scenario_web_shop_shopify.rst b/modules/web_shop_shopify/tests/scenario_web_shop_shopify.rst index 2f3d5ba8f0..909520aff4 100644 --- a/modules/web_shop_shopify/tests/scenario_web_shop_shopify.rst +++ b/modules/web_shop_shopify/tests/scenario_web_shop_shopify.rst @@ -622,7 +622,7 @@ Ignore shipment exception:: >>> sale.reload() >>> invoice, = sale.invoices >>> invoice.total_amount - Decimal('164.52') + Decimal('164.53') >>> payment, = sale.payments >>> payment.state 'succeeded' diff --git a/modules/web_shop_shopify/web.py b/modules/web_shop_shopify/web.py index b06d069ca7..5e6e2679ac 100644 --- a/modules/web_shop_shopify/web.py +++ b/modules/web_shop_shopify/web.py @@ -569,6 +569,7 @@ class Shop(metaclass=PoolMeta): sale.untaxed_amount_cache = None sale.tax_amount_cache = None sale.total_amount_cache = None + sale.shopify_tax_adjustment = None to_update[sale] = order states_to_restore[sale.state].append(sale) Sale.write(list(to_update.keys()), {'state': 'draft'}) @@ -578,6 +579,7 @@ class Shop(metaclass=PoolMeta): for sale, order in to_update.items(): sale.shopify_tax_adjustment = ( Decimal(order.current_total_price) - sale.total_amount) + Sale.save(to_update.keys()) Sale.store_cache(to_update.keys()) Amendment._clear_sale(to_update.keys()) to_process, to_quote = [], []