Daily updates from Odoo
Sunday, May 3, 2026
21 changes
4 changes
Resolved issues and error corrections
This update modernizes the Polish VAT export process to align with the latest KSeF (VAT Reporting) regulations. It adds a key identifier – the ‘NrKSeF’ – to VAT records, ensuring accurate reporting for tax authorities. The changes also update expected XML files and remove outdated information, improving the system's compliance with Polish tax laws.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
This update fixes a previous issue where users wouldn't receive notifications when their phone number country wasn't supported for SMS verification. Now, users will receive an email notification if their country isn't supported, improving the overall user experience for expense report setup. The fix also includes enhanced error handling for future flows.
Original PR description
When a user request the card details, if the country of the phone number of the user isn't supported by IAP, it would silently fail. Now, we are sending an email in case the phone number isn't supported. In case some flow don't/can't have any email fallback, we will add the a generic error and a more detailed one for the country not being supported. task-6065232 Forward-Port-Of: odoo/enterprise#112701
This update corrects a technical issue that could cause problems with voice message tests. By ensuring asynchronous code waits for the voice player to load, we've eliminated a potential race condition and improved test reliability. This ensures voice message functionality works consistently.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/163783 Forward-Port-Of: odoo/odoo#261910 Forward-Port-Of: odoo/odoo#261795
This update resolves a potential issue where voice message tests were failing due to race conditions. The fix ensures that asynchronous operations complete before promises are resolved, improving the reliability of our voice messaging functionality. This prevents errors and ensures consistent test results.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/242411 Community: https://github.com/odoo/odoo/pull/261910 Forward-Port-Of: odoo/enterprise#115587
4 changes
Resolved issues and error corrections
This update resolves an issue where the 'PayableRoundingAmount' wasn't accurately representing cash rounding. The fix now creates the invoice first and then applies post-fixes to the untaxed amount, aligning with how tax calculations are handled. This ensures accurate invoice generation and reporting related to UBL and CII standards.
Original PR description
PayableRoundingAmount is not necessarily a cash rounding. It might also be the difference between the untaxed amount per line regarding the global untaxed amount due to the global tax rounding method. The idea in this commit is to create the invoice first and then, just like the code fixing the taxes, to post fix the untaxed amount after. opw-6151984 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#260992
This update ensures our Polish VAT reports are compliant with the latest JPK V3 standards, required for KSeF (Digital Tax Reporting) submissions. It adds a key field for KSeF reference numbers, improving data accuracy and facilitating proper tax reporting. The changes also update expected XML files and remove outdated information.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
This update addresses a technical issue that could cause problems with voice message testing. The change ensures that asynchronous operations related to voice playback complete before promises are resolved, preventing race conditions. This improves the stability and reliability of voice message functionality.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/163783 Forward-Port-Of: odoo/odoo#261910 Forward-Port-Of: odoo/odoo#261795
This update resolves a potential issue where voice message tests were failing due to race conditions. The fix ensures that asynchronous code waits for the voice player to fully load before resolving promises, improving the reliability of testing and preventing errors.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/242411 Community: https://github.com/odoo/odoo/pull/261910 Forward-Port-Of: odoo/enterprise#115587
3 changes
Resolved issues and error corrections
This update modernizes the Polish VAT export process to align with the latest KSeF (tax reporting) regulations. It now includes a required KSeF reference number for accurate reporting, ensuring compliance with Polish tax laws. The changes also update expected XML files to reflect these new requirements.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
This update addresses a technical issue that could cause problems with voice message tests. The fix ensures that asynchronous operations complete before promises are resolved, preventing race conditions and improving test reliability. This enhances the stability of our voice messaging functionality.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/163783 Forward-Port-Of: odoo/odoo#261910 Forward-Port-Of: odoo/odoo#261795
This update resolves a technical issue that could cause instability in voice message testing within the Odoo Enterprise system. By ensuring asynchronous code waits for the voice player to load, the fix prevents race conditions and improves the reliability of these tests. This contributes to a more stable and dependable user experience.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/242411 Community: https://github.com/odoo/odoo/pull/261910 Forward-Port-Of: odoo/enterprise#115587
1 change
Resolved issues and error corrections
This update improves the Polish VAT export process to align with current tax regulations (KSeF). It adds a key field for identifying KSeF transactions and ensures the correct export format is used, resolving previous reporting issues. This update is crucial for accurate VAT reporting in Poland.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
1 change
Resolved issues and error corrections
This update improves the Polish VAT export process to align with the latest KSeF (tax reporting) regulations. It adds a key field to identify tax returns, ensuring accurate reporting and compliance with Polish tax authorities. The changes also update expected XML files to reflect the new export format.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
1 change
Resolved issues and error corrections
This update improves the Polish VAT export process to align with current tax regulations. Specifically, it adds a new field to track KSeF reference numbers for VAT invoices, ensuring accurate reporting for Polish businesses. The changes also update expected XML formats and remove outdated information.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
1 change
Resolved issues and error corrections
This fixes an upgrade issue where website configurator images could be mistaken for default website images and updated incorrectly. The change helps prevent upgrade failures and protects customized website images that are stored separately.
Original PR description
Method `configurator_apply()` may create new attachments that will have the same `key` and `website_id` as standard, default images:…
Method `configurator_apply()` may create new attachments that will have the same `key` and `website_id` as standard, default images: https://github.com/odoo/odoo/blob/f80094f43bcc464cc99fba6aa59f64659fe659b6/addons/website/models/website.py#L737-L752
Standard images should be updated from the source of the `website` module, but those created by the configurator will have their binary content stored in the filestore and therefore have no need to be updated.
As of right now however, we don't make this distinction when updating `website` data, the following line:
https://github.com/odoo/odoo/blob/f80094f43bcc464cc99fba6aa59f64659fe659b6/addons/website/models/ir_module_module.py#L162
will return both the standard attachment and the one originating from the configurator (due to the same `key` and `website_id`).
The fix is to tighten the `search` by filtering out records that have `store_fname` set.
This issue was discovered in many databases when upgrading to `saas~17.2` and a few also had this problem when upgrading to `17.0`. Here is an example traceback from one of the request:
```
Traceback (most recent call last):
File "/home/odoo/src/odoo/saas-17.2/odoo/service/server.py", line 1295, in preload_registries
registry = Registry.new(dbname, update_module=update_module)
File "<decorator-gen-16>", line 2, in new
File "/home/odoo/src/odoo/saas-17.2/odoo/tools/func.py", line 87, in locked
return func(inst, *args, **kwargs)
File "/home/odoo/src/odoo/saas-17.2/odoo/modules/registry.py", line 120, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/saas-17.2/odoo/modules/loading.py", line 476, in load_modules
processed_modules += load_marked_modules(env, graph,
File "/home/odoo/src/odoo/saas-17.2/odoo/modules/loading.py", line 364, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/saas-17.2/odoo/modules/loading.py", line 296, in load_module_graph
module.write({'state': 'installed', 'latest_version': ver})
File "/home/odoo/src/odoo/saas-17.2/addons/website/models/ir_module_module.py", line 95, in write
module._theme_load(website)
File "/home/odoo/src/odoo/saas-17.2/addons/website/models/ir_module_module.py", line 239, in _theme_load
module._update_records(model_name, website)
File "/home/odoo/src/odoo/saas-17.2/addons/website/models/ir_module_module.py", line 165, in _update_records
imd = self.env['ir.model.data'].search([('model', '=', find._name), ('res_id', '=', find.id)])
File "/home/odoo/src/odoo/saas-17.2/odoo/fields.py", line 5183, in __get__
raise ValueError("Expected singleton: %s" % record)
ValueError: Expected singleton: ir.attachment(797, 725)
```3 changes
Resolved issues and error corrections
This update improves the Polish VAT export process to align with the latest JPK V3 requirements for KSeF (tax reporting). It adds a key reference number field and ensures accurate data formatting for reporting to Polish tax authorities. This change enhances compliance and reduces the risk of reporting errors.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
This update fixes a previous issue where users wouldn't receive notifications when their phone number country wasn't supported for SMS verification within the expense reporting feature. Now, users will receive an email notification if their country isn't supported, ensuring a smoother and more reliable experience. The system also includes enhanced error messaging for better troubleshooting.
Original PR description
When a user request the card details, if the country of the phone number of the user isn't supported by IAP, it would silently fail. Now, we are sending an email in case the phone number isn't supported. In case some flow don't/can't have any email fallback, we will add the a generic error and a more detailed one for the country not being supported. task-6065232 Forward-Port-Of: odoo/enterprise#115908 Forward-Port-Of: odoo/enterprise#112701
This update corrects a previous issue where expense cards were rejecting payments from certain merchant categories (airlines, car rentals, and hotels). The team added the necessary Merchant Category Codes (MCCs) to the system, ensuring broader acceptance of expenses. This improves the usability of the expense card for users making payments from these common types of merchants.
Original PR description
In the expense card, when a payment is made. The card can be filtered to only allow certains category of merchant. However, the 3 ranges of MCC we not added: - Airlines, air carriers: MCC's from 3000 to 3350 - Car Rental Agencies: MCC's from 3351 to 3500 - Lodging, hotels, motels and resorts: MCC's from 3501 to 3999 And since the MCC are not present in the list, they are rejected by default even the card is set to accept all MCCs. task-5486945 Forward-Port-Of: odoo/enterprise#115379 Forward-Port-Of: odoo/enterprise#114154
2 changes
Resolved issues and error corrections
This update improves the Polish VAT export process to align with current tax regulations. Specifically, it adds a key field for KSeF (tax reporting) invoices, ensuring accurate reporting for Polish businesses. The changes also update expected XML files and remove outdated information regarding KSeF reporting.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005 Forward-Port-Of: odoo/enterprise#115776
This update resolves a potential issue where voice message tests were failing due to race conditions. The fix ensures that asynchronous code waits for the voice player to fully load before resolving promises, leading to more reliable test results. This improves the overall stability of the voice messaging feature.
Original PR description
Before this commit, voice message tests don't wait until the voice player is drawn before resolving the corresponding promise. This may lead to race conditions. This commit fixes the issue by properly `await`ing the completion of the asynchronous code before resolving the promise. Related runbot error: https://runbot.odoo.com/odoo/error/242411 Community: https://github.com/odoo/odoo/pull/261910 Forward-Port-Of: odoo/enterprise#115587
1 change
Resolved issues and error corrections
This update improves the Polish VAT export process to align with the latest JPK V3 standards, which are required for KSeF (digital VAT) reporting. It adds a key field to identify transactions and ensures compatibility with current tax regulations, enhancing reporting accuracy and compliance.
Original PR description
Upgrade JPK export output from V2 to V3 for Polish VAT files: - switch headers to JPK_V7M(3) / JPK_V7K(3) - keep declaration variants aligned (VAT-7(23), VAT-7K(17)) Add V3 KSeF reference field in records: - export <NrKSeF> in SprzedazWiersz and ZakupWiersz - use l10n_pl_edi_number when available - fallback to BFK (or DI for journal entries) when no KSeF number is present Also update expected JPK XML fixtures and remove outdated manifest note claiming KSeF invoices are not reported. task-5007005