Daily updates from Odoo
Wednesday, July 22, 2026
2 changes · 17.0
Resolved issues and error corrections
Apple Pay and Google Pay express checkout can now continue when Starshipit cannot calculate a shipping rate from the limited address shared before payment. Other available delivery options are still shown, while Starshipit remains available later once the customer provides a full address.
Original PR description
#### Description of the issue/feature this PR addresses: Apple Pay (and Google Pay) express checkout via Stripe fails on the cart page with an "update postal address" error when a Starshipit delivery…
#### Description of the issue/feature this PR addresses: Apple Pay (and Google Pay) express checkout via Stripe fails on the cart page with an "update postal address" error when a Starshipit delivery carrier is configured, while normal checkout with a full address works fine. No request even reaches Starshipit's own API logs, because the request is rejected on Odoo's side. #### Current behavior before PR: Express checkout wallets only disclose a partial shipping address before the payment is authorized (city, zip, state, country) — the street is withheld by the wallet for privacy. website_sale rates the delivery carriers against this partial address, setting the express_checkout_partial_delivery_address context key so connectors only require the fields available at that stage. The UPS/USPS/DHL/bpost connectors honor this key and skip the street requirement, but delivery_starshipit ignores it: Starshipit._rate_shipment always sends the (empty) destination street to the /api/rates endpoint, which requires it and returns success:false with "street parameter value is required". _starshipit_send_request raises this as a UserError, which propagates out of starshipit_rate_shipment and aborts the entire express checkout rating RPC (_get_delivery_methods_express_checkout), so no carrier at all is returned to the wallet — hence the endless "update postal address" prompt. #### Desired behavior after PR is merged: During express checkout, Starshipit is skipped when the partial address has no street (it returns an unsuccessful rate without calling the API), so the other published carriers are still rated and the wallet shows the available shipping options. Starshipit is rated normally at the regular checkout step once the full address is known. Normal (non-express) checkout is unchanged. opw-6393393
This fixes where Mexican CFDI invoice fields are placed so they remain visible even when other localization modules are installed. It prevents the CFDI Origen field from disappearing on Mexican invoices, reducing confusion and helping users complete compliant invoicing.
Original PR description
The CFDI fields used //sheet/group//group[last()], which targets the last group by position. Once l10n_co_edi adds its group after header_right_group, the fields land in it instead, and it is invisible unless country_code is CO, so CFDI Origen disappears on MX invoices. Use //group[@id='header_right_group'], like l10n_co_edi already does, so placement no longer depends on what modules are installed. Task Adhoc side: 67269