Friday, July 25, 2025
15 changes
2 changes
Enhancements to existing features
Swiss companies can now more easily configure EU One Stop Shop reporting for B2C goods sales to customers in EU countries. The change adds tax mapping between Switzerland and EU countries, improving setup and discoverability for cross-border VAT compliance.
Original PR description
Make it easy for any Swiss company that wants to operate B2C sales of goods to customers located in the EU to take advantage of the EU One Stop Shop (OSS) Module, aka l10n_eu_oss_reports. We will ease the discoverability and the configuration Adding the Tax Mapping between Switzerland and the rest of the EU countries task-4943589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#220260 Forward-Port-Of: odoo/odoo#219380
Updates the Canadian localization to reflect Nova Scotia's Harmonized Sales Tax reduction from 15% to 14% effective April 2025. This ensures invoices, accounting entries, and tax reporting can use the correct Nova Scotia tax rate while preserving the existing 15% rate for other provinces that still require it.
Original PR description
Following a change in April 2025, Nova Scotia's Harmonized Taxes (HST) has been changed from 15% to 14%. As such new taxes, accounts, and groups had to be added to account for this change. As this is only for Nova Scotia and none of the other provinces we cannot archive the taxes and groups since New Brunswick, Newfoundland, and Labrador still use it. task-4937159 Legal reference: https://www.canada.ca/en/revenue-agency/services/tax/businesses/topics/gst-hst-businesses/charge-collect-which-rate.html Forward-Port-Of: odoo/odoo#220004 Forward-Port-Of: odoo/odoo#219117
1 change
Enhancements to existing features
Swiss businesses selling goods directly to EU consumers can now more easily configure EU One Stop Shop reporting. The update adds Switzerland-to-EU tax mappings, reducing setup effort and improving discoverability for cross-border B2C sales compliance.
Original PR description
Make it easy for any Swiss company that wants to operate B2C sales of goods to customers located in the EU to take advantage of the EU One Stop Shop (OSS) Module, aka l10n_eu_oss_reports. We will ease the discoverability and the configuration Adding the Tax Mapping between Switzerland and the rest of the EU countries task-4943589 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#220260 Forward-Port-Of: odoo/odoo#219380
6 changes
Enhancements to existing features
Point of Sale no longer repeatedly checks the database to confirm whether IoT-connected devices are still online. This reduces unnecessary database activity and can improve efficiency for stores using IoT Box peripherals such as scales or other hardware.
Original PR description
In order to reduce the amount of search reads from the pos to the database we removed the status loop running to check if devices are still connected to the IoT Box. Forward-Port-Of: odoo/enterprise#90638
UrbanPiper order handling now records clearer logs for more webhook checks, validation problems, and API outcomes. This improves traceability for support teams, making it easier to diagnose integration issues and confirm successful requests.
Original PR description
Before this commit:
====================
- Logging was done using hardcoded names.
- Logging was done only for the webhook and API failure scenarios.
- API success requests/responses were not logged.
After this commit:
====================
- Added dynamic name parameter to `log_xml` calls.
- Added log for the below scenarios:
- Validation of `X-Urbanpiper-Uuid`, missing store, session, charge product,
and delivery provider in webhook flow.
- Payload validation errors.
- API call responses and all exception types:
(`ConnectionError`, `HTTPError`, `JSONDecodeError`).
Task: 4909050The Indian GSTR-1 report now uses updated selection rules and a dedicated handler to classify transactions more accurately. This helps businesses prepare GST reports with more reliable figures and better alignment across related Indian tax reporting flows.
Original PR description
In this PR, update the domain in GSTR-1 Report which was using reverse charge field and added a custom handler. Community PR: https://github.com/odoo/odoo/pull/112877 Upgrade PR: https://github.com/odoo/upgrade/pull/4344 Task - 3110483
Austrian companies can now manage EC Sales List and Intrastat reporting with country-specific deadlines and filing periods in Odoo. This helps businesses stay aligned with Austrian reporting obligations and reduces manual tracking for compliance teams.
Original PR description
Following the implementation of the Tax returns feature in 18.3 which was focused on the general implementation and Belgium, we want to add the specification for other country and in this case Austria. Adding EC sales list, Intrastat specific deadlines and periodicities. task-4963439
Global invoices in Mexico now automatically correct small one-cent rounding differences that can occur when combining individual invoices or POS sales. This helps ensure CFDI submissions match accounting totals and avoids inaccuracies when invoices are issued or canceled.
Original PR description
When creating global invoices in Mexico, small rounding discrepancies of up to 1 cent arise due to pre-rounded sums of individual invoices. This leads to discrepancies between the global invoice total and the sum of its individual journal entry lines, causing inaccuracies in the global invoice submission for CFDI,for invoices or POS transactions. This commit introduces a corrective miscellaneous entry to offset these discrepancies: - Calculates the rounding difference between the aggregated invoice amounts and the global invoice total. - Applies the correction to the most used product and tax accounts. - Stores this adjustment entry on l10n_mx_edi.document, allowing it to be reversed if the global invoice is canceled. - Handles both standard invoices and POS orders task-4256227
Payroll access has been adjusted so users without payroll rights no longer see the Payroll app, payroll officers see employee payroll information, and payroll administrators can manage payroll configuration. This clarifies who can view or configure payroll features after recent changes, including Swiss payroll employee views.
Original PR description
Payroll No right : You don't see payroll app Officer : Employee officer + payroll tab Admin : Employee admin + payroll app config. Task: 4900703 Forward-Port-Of: odoo/enterprise#90230
6 changes
Enhancements to existing features
Sales orders with many lines now load available product documents much faster. This reduces waiting time when opening large quotes by replacing repeated lookups with a more efficient grouped lookup.
Original PR description
Replace search in for loop with `_read_group` and a precomputed dictionary of available product documents Description of the issue/feature this PR addresses: Performance issue when opening SO with multiple lines (more than 100). See Speedscope before [speedscope_before.json](https://github.com/user-attachments/files/21251034/speedscope_before.json) <img width="1920" height="659" alt="image" src="https://github.com/user-attachments/assets/e77bec12-e8cf-4cc9-b3d2-90ad59db6fa3" /> And after: [speedscope_after.json](https://github.com/user-attachments/files/21251096/speedscope_after.json) <img width="1911" height="404" alt="image" src="https://github.com/user-attachments/assets/e1663ec3-2918-451d-ae25-6103d8a75eff" /> We went from 252ms for the query only to 12.63ms. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now choose whether to generate a Factura-e file directly from the Send & Print step for Spanish partners. This makes invoice sending clearer, reduces setup mistakes, and keeps the partner’s e-invoicing preference aligned with the user’s choice.
Original PR description
Currently, `Factura-e` generation is controlled only by an partner E-invoice format setting, making it difficult for users to enable or disable when sending invoices. This PR adds a dedicated Factura-e checkbox on the `Send & Print` wizard for partners in Spain if the `l10n_es_edi_facturae` module is installed. The checkbox defaults to the partner’s current `E-invoice format` but can be toggled by the user. When enabled, it triggers Factura-e file generation and updates the partner’s E-invoice format to ensure consistency. This approach simplifies the user flow and reduces configuration errors. > Task-4831835
Odoo now supports a special Peppol registration option that keeps trial and training databases fully local, avoiding real Peppol network calls. Scheduled background actions were also adjusted to run under the correct company, improving reliability in multi-company setups.
Original PR description
When the company is registered with this particular EAS, Odoo will act as if it was in demo mode. No call to the real Peppol Network is performed, everything is mocked locally. This allows to do the trainings on /trial databases, and get the lastests improvements. Also fixing some crons that needed to be run with the right company. task-no (FP/WTA request)
Companies in French overseas territories can now activate Peppol when the accounting module is installed. The system can also automatically choose the right Peppol identifier from existing business IDs, reducing manual setup effort.
Original PR description
Purpose ------- Add the DOM-TOM to the list of countries allowed to activate Peppol when the module is installed. Changes ------- - Updated `PEPPOL_LIST` to include the following country codes: 'MF', 'MQ', 'NC', 'PF', 'RE', 'GF', 'GP', 'TF', 'BL', 'PM', 'YT', 'WF' - Updated EAS_MAPPING so that the Peppol ID and endpoint can be automatically set based on either the SIRET, SIRENE, or VAT number, as in the French implementation. Task-4889705
The Turkish Profit and Loss report now includes 700-series accounts, which are used during an accounting period before closing entries are made. This makes the report more useful for local businesses and accountants by enabling more accurate real-time financial reporting.
Original PR description
The current Profit and Loss report has some limitations that inhibit its proper adoption as it does not enable the user to use the report in real-time since it excludes the 700 accounts (accounts used within a period until their closing to 600 accounts.) Therefore, this limits the usefulness of the report for local businesses and accountants. In this task, we included the 700 accounts in the report to enable real-time reporting for our users task-4809142
Businesses using the Türkiye accounting reports can now export the General Ledger in the CSV format required for e-Ledger reporting. The file is automatically packaged in a ZIP archive, helping companies meet Türkiye Revenue Administration delivery requirements for any selected reporting period.
Original PR description
This PR implements the necessary functionality for Türkiye’s e-Ledger reporting, as mandated by Türkiye law (Law No: 15570). Taxpayers that switched to e-Invoice/e-Archive are also required to submit their General Ledger (GL) in the e-Ledger format. Summary of the change This update enhances the existing Türkiye General Ledger report in the `l10n_tr_reports` module with the following features: - Adds the ability for users to generate the General Ledger as a CSV file, formatted according to the Türkiye e-Ledger requirements. - Allows export for any selected period, including relevant and filtered fields. - The generated CSV file is automatically compressed into a ZIP archive to comply with the GIB (Türkiye Revenue Administration) guidelines for file delivery. Task-4270136 Forward-Port-Of: odoo/enterprise#86592