Wednesday, December 3, 2025
4 changes · 17.0
Resolved issues and error corrections
This update fixes an issue where loyalty discounts weren't accurately applying based on product quantity. The change ensures discounts are calculated correctly, preventing over-discounts and maintaining accurate order totals. This improves the reliability of loyalty program promotions.
Original PR description
Discounts based on the cheapest line were not accounting for the quantity on the line and this was causing issues with the computations when using a maximum discount amount. Changing the discountable value to be a ratio of the quantity on the line allows the cheapest product to be discounted at the correct amount without messing with the discount factor. opw-4998557
This update adds crucial database indexes to the WhatsApp module, enhancing its speed and efficiency. These indexes optimize how the system searches for WhatsApp messages and channels, leading to faster response times and a smoother user experience. This change addresses a performance bottleneck and ensures the WhatsApp feature remains reliable.
Original PR description
Missing indexes: - `whatsapp.message.wa_template_id` - hits domain given by `action_open_messages` and in `_compute_messages_count`. - `whatsapp.message.mobile_number_formatted` - used in `_find_active_channel`, it's more selective than `wa_account_id`. - `discuss.channel.whatsapp_number` - used in `_get_whatsapp_channel` when there is no `related_message` provided
This update ensures the NIF (tax identification number) is now included in the BOE export for model 347 reports, as required by Spanish tax regulations. Previously, the system only included VAT, but this change corrects a data omission, aligning with specific reporting requirements outlined in the Agencia Tributaria documentation.
Original PR description
[FIX] l10n_es_reports: include NIF in boe export for model 347 The NIF must be included in the BOE export for modelo 347 https://sede.agenciatributaria.gob.es/static_files/Sede/Disenyo_registro/DR_300_399/archivos/347.pdf pages 3 & 12. Before this commit, we read the vat but if it doesn't start with 'ES' we return an empty string because we based on TIN. Now we'll read the vat (without 'ES' if it starts with it). The user is responsible to fill a correct number in the vat field of the company. opw-5207241
This update corrects a bug where tax calculations weren't automatically applied during Stripe Express Checkout using a US address. Previously, users needed to refresh the page for correct pricing. This ensures accurate tax calculations for eCommerce customers using Stripe and improves the checkout experience.
Original PR description
## Issue: When a fiscal position should apply based on the address provided during Express Checkout, it was not applied automatically The correct fiscal position only appeared after reloading the checkout page This issue affects public users using the eCommerce with Stripe Express Checkout ## Cause: The fiscal position was correctly determined during the `availableCarriers` computation, but it was not propagated to the payment request itself As a result, prices and taxes were only updated after a full page reload ## Steps to reproduce: - Configure Stripe with Express Checkout (e.g., Google Pay) - Create a fiscal position with automatic detection (Country = US, Tax mapping: 15% → 0%) - Create a product using the 15% tax - Go to the website shop and add the product to the cart - Use Express Checkout with a US address - Observe that the fiscal position is not applied unless the page is reloaded opw-5018238