Sunday, January 25, 2026
3 changes · saas-19.1
Enhancements to existing features
This update enhances the Intervat integration by automatically refreshing refresh tokens every two days, ensuring a continuous connection. It also addresses a key issue where accounting firms submitting VAT returns weren't correctly identified, now allowing for accurate data transmission. Small fixes were also implemented for stability.
Original PR description
### 1) Refresh Token & Cron Intervat API's provide use both access & refresh tokens. As long as we keep a valid refresh token, we can keep the connection opened by requesting a new refresh token.…
### 1) Refresh Token & Cron Intervat API's provide use both access & refresh tokens. As long as we keep a valid refresh token, we can keep the connection opened by requesting a new refresh token. Currently, we force the connection to close after 4 hours, but it's too short. This commit goes to the opposite way, and keep the connection opened as long as the user wants. As we need to keep a valid refresh token, we add a cron who execute once each 2 days to fetch new refresh tokens. Also, to prevent being stuck, add a new button in res settings to manually close the connection. ### 2) Accounting firm When submitting vat return to Intervat API, we have 2 situations: 1. The user submit his own declaration 2. An accounting firm submit the declaration for the client The current implementation works nicely with situation 1, but not 2. The problem is when starting the authentication proccess, we give Intervat a company number, the current company number. But when an accounting firm is set on the company, we should use the VAT number of the firm instead of the current company, as it will be an accountant from the accounting firm who will submit the return. So this commit try to find the accounting firm VAT before the current company VAT for the authentication proccess. Also, add a new settings in Intervat settings to change the accounting firm from there. ### 3) Small fixes Small fixes done for corner cases, see commits messages. task-5420287,5500052,5495079 Forward-Port-Of: odoo/enterprise#104572
Resolved issues and error corrections
This update fixes an issue where DHL labels were always delivered in PDF format, regardless of the user's selection. It also ensures that DHL error messages, such as 'Invalid Credentials,' are now properly displayed to the user, improving delivery troubleshooting. This enhancement provides a more reliable and informative DHL delivery experience.
Original PR description
This PR contains fixes for 2 issues: 1. Changing the label format in the Delivery Method has no effect, labels are always received in PDF format. 2. Some DHL errors (eg "Invalid Credentials") do not get propagated to the user, they get a "Validation Error" prompt with an empty message body. opw-5423897 Forward-Port-Of: odoo/enterprise#103660
This update resolves an issue where non-administrator users were unable to validate direct debit mandates. The fix restricts access to the payment provider model during validation, aligning with the permissions granted to users who can create new mandates. This ensures all users with the necessary role can complete the validation process.
Original PR description
## Versions saas-18.3+ ## Issue Non admin users get an access error when trying to validate a direct debit mandate. ## Steps to reproduce As admin user: - Navigate to "Users": - Select Marc Demo: -…
## Versions
saas-18.3+
## Issue
Non admin users get an access error when trying to validate a direct debit mandate.
## Steps to reproduce
As admin user:
- Navigate to "Users":
- Select Marc Demo:
- Under "Access Rights", in the "Accounting" section, set his "Accounting" role to "Invoicing & Banks";
As Marc Demo:
- Navigate to "Direct Debit Mandates":
- Create a new mandate for Deco Addict and its first IBAN record;
- Click on the "Validate" button.
## Cause
Issue introduced by the `action_validate_mandate` method override from b63eb2d6b91be28f4837309b5d972cc0b05846e0 Non admin users have no permissions on `payment.provider` while `_read_group` checks read rights on model via https://github.com/odoo/odoo/blob/ac084b1010faf49b63844ecc96284d567e59de2e/odoo/orm/models.py#L1632
## Fix
Allow `payment.provider` access only on mandate validation as only `account.group_validate_bank_account` users can create a new mandate.
opw-5255694
Forward-Port-Of: odoo/enterprise#103673