Daily updates from Odoo
Wednesday, July 1, 2026
51 changes
12 changes
Enhancements to existing features
This update records device information when a login appears from a device that does not match the one currently associated with the user session. It helps teams spot suspicious access patterns sooner and strengthens account monitoring without changing the normal login experience.
Original PR description
Log device information if fingerprint doesn't match the one currently being used for the current session. Task-6340963 Forward-Port-Of: odoo/odoo#272413
The Inventory at Date wizard now opens the full stock report interface instead of a basic product list. This gives users the same search tools, action buttons, and stock details they already have when viewing current inventory, making past-date stock checks easier and more consistent.
Original PR description
## Summary Minimal alternative: make the "Inventory at Date" wizard open the same rich stock report view instead of the basic one. ### Problem The wizard opens `stock.view_stock_product_tree` (basic…
## Summary Minimal alternative: make the "Inventory at Date" wizard open the same rich stock report view instead of the basic one. ### Problem The wizard opens `stock.view_stock_product_tree` (basic product list) instead of `stock.product_product_stock_tree` (full stock report with action buttons and search panel). ### Solution Change the wizard's `open_at_date()` to use the stock report view and its associated search view. The wizard flow is preserved — this is purely a view swap. ### Changes - `stock_quantity_history.py`: Changed `tree_view_id` from `view_stock_product_tree` to `product_product_stock_tree`, added `search_view_id` for the stock report search view ### Alternative See #263507 for a more integrated approach that replaces the wizard entirely with a date picker in the search panel. [Task #6152466](https://www.odoo.com/odoo/rd-fun-logistics-966/6152466) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#263509
This change lets operators adjust how long idle database connections stay open instead of using a fixed 10-minute limit. It helps systems with limited memory free unused connections sooner, improving stability and resource usage.
Original PR description
In memory-scarce environments, the default 10-minute idle timeout may keep too many backend connections alive. Allow operators to override it via the ODOO_DB_MAX_IDLE_TIMEOUT environment variable to evict idle connections more aggressively. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#271785
Invoices sent outside KSeF now include a QR code and the KSeF reference number on the PDF. This helps recipients quickly verify and access the invoice information in line with Polish e-invoicing requirements.
Original PR description
While communicating outside KSeF, invoices must have a QR Code and their KSeF number displayed. QR Code content spec is available here: https://github.com/CIRFMF/ksef-api/blob/main/kody-qr.md task-6334901 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272480 Forward-Port-Of: odoo/odoo#271713
The stock move value can no longer be changed directly from the list view. Users must now use the Adjust Valuation process, which keeps valuation changes consistent and properly recorded with user and reason details.
Original PR description
### Description of the issue/feature this PR addresses: The stock move value was inline-editable in the moves list, which is misleading. Editing it directly behaves inconsistently across cost…
### Description of the issue/feature this PR addresses: The stock move value was inline-editable in the moves list, which is misleading. Editing it directly behaves inconsistently across cost methods: for FIFO products the edit updates the remaining value, but for AVCO products there is no mechanism to propagate it, so the change has no effect. The direct edit also bypasses the audited revaluation channel, the Adjust Valuation wizard (product.value), which records the user, date and justification. Disable direct modification by marking the field read-only by default, so manual revaluation always goes through Adjust Valuation. Internal valuation writes are unaffected. ### Current behavior before PR: The value field is editable in the stock move list view. <img width="1890" height="460" alt="image" src="https://github.com/user-attachments/assets/8ddc6495-4beb-4481-bdbf-2a44b70f3784" /> ### Desired behavior after PR is merged: The value field should not be editable. Users should use the Adjust Valuation wizard to ensure the operation is auditable. @qrtl QT6826 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#267360
The Polish e-invoicing integration now continues fetching other bills even if one bill causes an error, and it keeps a draft record so users can still find it later. It also fixes cases where bills could not be fetched because of company overlap or KSeF request limits, making the retrieval process more dependable.
Original PR description
### Commit 1: We fetch and store bills if we're able to parse and store them correctly. but in case we make a mistake 1. The cron gets stuck trying to fetch the problematic bill. 2. Users have no…
### Commit 1: We fetch and store bills if we're able to parse and store them correctly. but in case we make a mistake 1. The cron gets stuck trying to fetch the problematic bill. 2. Users have no clue that there is a bill on KSeF that they have to fetch manually. --- 1. Save the bill on a savepoint, to make sure one problematic bill doesn't affect others 2. Create all bills as draft first so that users have a reference to fallback to in case the have to do manual fetching. --- task-6310321 --- ### Commit 2: Issues: 1. For a db with company_1 and company_2, when company_1 sends an invoice to company_2 via KSeF (out_invoice with a ksef number), company_2 in the same database can't fetch the corresponding bill because there is a move with the same KSeF number. 2. The date difference between `from` and `to` in the `dateRange` must not exceed 3 months as explained in the documentation https://api.ksef.mf.gov.pl/docs/v2/index.html#tag/Pobieranie-faktur/paths/~1invoices~1query~1metadata/post Fixes: 1. Change the unique constraint and the domain to allow same KSeF number per different companies. 2. Minimize the `to` parameter with `from` + 2 months. 3. Increase the TIMEOUT to 30 seconds as 10 seconds is too small. task-6260645 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272689 Forward-Port-Of: odoo/odoo#270511
This update improves how Australian payroll handles superannuation corrections after a payslip has already been submitted and paid. If superannuation was underpaid, the system can now create the appropriate amendment and report the difference through STP, helping payroll teams correct issues more reliably.
Original PR description
Amending STP creates an update action if full file replacement is not available. Amended STPs create delta superannuation stream lines. task-6245415 Forward-Port-Of: odoo/enterprise#119946
Odoo can now use email activity captured by the Gmail browser extension to find relevant contacts and suggest them when working with timesheets. This helps users quickly identify and add the right people linked to projects or tasks, saving time and improving suggestion accuracy.
Original PR description
[IMP] timesheet_grid: Gmail watcher In this commit, Odoo now consumes data from the new Gmail Chrome and Firefox web extension, which captures the from, to, cc, and bcc fields of read and composed emails and sends them to Activity Watch. Odoo retrieves these events, extracts the emails, searches for partners linked to projects and/or tasks, and adds them to suggestions as keyEvents. task-5956040 Forward-Port-Of: odoo/enterprise#120727 Forward-Port-Of: odoo/enterprise#112014
When users compare report lines against selected lines, the comparison is always shown as a percentage. This update hides the Amount/Percent selector in that case, reducing confusion and simplifying the report setup.
Original PR description
In [^1] support for comparison against user selected lines was added. This is always in percentages, as such, the "Comparison In" option that was added in [^2] is not useful as we would never set it to Amount. In this PR we hide "Comparison In" if the report line is selected. task-6322616 [^1]: odoo/enterprise#116721 [^2]: odoo/enterprise#116480
This change speeds up how Odoo retrieves task activity information by adding a database index for a frequently used query. It reduces the time spent on this lookup, which helps pages and actions that rely on /mail/data load more quickly.
Original PR description
`/mail/data` is called a lot. It spends roughly 33% of its time on the query fetching task activities in `_get_activity_groups` https://github.com/odoo/odoo/blob/a52b277a4db5f14516717738ca962e3bb3c7180f/addons/project_todo/models/res_users.py#L27 This commit adds an index to speed up the query. - before ~25ms https://explain.dalibo.com/plan/72b26edce8448b51 - after <1ms https://explain.dalibo.com/plan/c4g6851e5b4hh702 task-6327159 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272712
The French e-invoicing registration experience was updated to guide companies more clearly toward PDP registration when needed. Odoo now shows more relevant warnings and help messages, and the registration wizard is simpler to complete because key fields are visible and locked at the right time.
Original PR description
#### [IMP] account_peppol,l10n_fr_pdp: rework PDP registration If PDP is not installed but Peppol is installed we suggest installing the PDP module for French companies - in the send & print instead…
#### [IMP] account_peppol,l10n_fr_pdp: rework PDP registration
If PDP is not installed but Peppol is installed we suggest
installing the PDP module for French companies
- in the send & print instead of the following warnings
- "You can send this invoice electronically via Peppol." (what is peppol)
- "partner has requested electronic invoices reception on Peppol."
- in the send & print for any French company that is not on PDP
(this warning can be disabled by setting the system parameter
`account_peppol.disable_pdp_warning` to true)
- in the peppol registration wizard by adding a warning
If PDP is installed we make the following changes to the send & print
- change the wording mentioning "Peppol" to mention the French e-invoicing instead
- make a PDP version of the "Peppol Info" (`account_peppol.WhatIsPeppol`)
- it explains what French E-Invoicing is
- it provides a button to open the registration wizard
- in case the company is registered on Peppol it deregisters the
company first (just like the "complete registration" button)
- display the "You can send this electronically via Peppol" warning
also for French companies (with the wording and "Peppol Info" mentioned above)
- It is displayed in case we are opening the Send & Print wizard from a French
company for a partner on peppol but the "Peppol" / "French
E-invoicing" checkbox is not checked
- Change the wording of the French company non-PDP warning to encourage
the user to register
In the PDP registration wizard
- make all the fields visible directly (already at the start of the KYB/KYC)
- make the SIREN part of the identifier readonly
- make the fields readonly after the verification
- automatically "validate" / register to PDP when we receive the KYC success
task-6320246
#### [IMP] l10n_fr_pdp: add system param for kyc siren
After the previous commit it is not really possible anymore
to use a different SIREN for the KYC than the one in the pdp identifier.
This is because:
- We derive the SIREN directly from the
Identifier in the registration wizard.
- The registration will be validated automatically after the KYC
- The values are readonly after the KYC in any case
That is a problem for testing because we have 1 SIREN to test the
KYC and it is independent from the identifiers provided by the French
datasets for the PDP test environment.
task-None
Forward-Port-Of: odoo/odoo#272208
Forward-Port-Of: odoo/odoo#271733This change corrects a display label in the accounting interface so it matches the updated wording used elsewhere. It helps keep the product terminology consistent and avoids confusion for users working with reconciliation settings.
Original PR description
Since this PR https://github.com/odoo/odoo/pull/249536 "Allow Reconcilation" became "Payment Reconciliation" This change in labels didn't take effect in the account.move.line model. This commit fixes this issue by ensuring that the label of is_account_reconcile field matches that of the account.account.reconcile field. task-6306159 Forward-Port-Of: odoo/odoo#273339
3 changes
Enhancements to existing features
This change speeds up how Odoo retrieves task activity information used by the /mail/data endpoint. By adding a database index, the system can find the relevant records much faster, reducing wait times and improving overall responsiveness.
Original PR description
`/mail/data` is called a lot. It spends roughly 33% of its time on the query fetching task activities in `_get_activity_groups` https://github.com/odoo/odoo/blob/a52b277a4db5f14516717738ca962e3bb3c7180f/addons/project_todo/models/res_users.py#L27 This commit adds an index to speed up the query. - before ~25ms https://explain.dalibo.com/plan/72b26edce8448b51 - after <1ms https://explain.dalibo.com/plan/c4g6851e5b4hh702 task-6327159 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#272712
This update makes Odoo’s logging easier to customize, including support for structured log formats and external logging handlers. It helps teams route, filter, and store logs in ways that better fit their operations, without changing normal logging behavior by default.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127
This update makes sure the label shown for the reconciliation setting is consistent across accounting models. It improves clarity for users by displaying the same updated wording everywhere, avoiding confusion from mixed old and new labels.
Original PR description
Since this PR https://github.com/odoo/odoo/pull/249536 "Allow Reconcilation" became "Payment Reconciliation" This change in labels didn't take effect in the account.move.line model. This commit fixes this issue by ensuring that the label of is_account_reconcile field matches that of the account.account.reconcile field. task-6306159
5 changes
Enhancements to existing features
The POS now sends buyer address details to Fiskaly only when they are actually available. This avoids transmitting placeholder values like "N/A" and helps ensure the information sent is more accurate and cleaner.
Original PR description
In this commit: ------------------- - Buyer address fields are optional and should only be sent to Fiskaly when they are actually available. - Avoid sending placeholder values like "N/A". If the data is not present, the fields should simply be omitted from the request. task: 6113133 Forward-Port-Of: odoo/enterprise#122188 Forward-Port-Of: odoo/enterprise#113621
This update fills in missing translations for user-facing messages across Point of Sale features. It improves the experience for non-English users by making dialogs, errors, alerts, and warnings easier to understand during day-to-day POS use.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/enterprise/pull/102094 Forward-Port-Of: odoo/odoo#273039 Forward-Port-Of: odoo/odoo#239972
This update fills in missing translations across Point of Sale screens, dialogs, errors, and warnings. It helps users see clearer messages in their language, making the POS easier to use and reducing confusion during daily operations.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/odoo/pull/239972 Forward-Port-Of: odoo/enterprise#122251 Forward-Port-Of: odoo/enterprise#102094
This update makes Odoo’s logging easier to configure for different environments, including custom log formats and external logging tools. It also fixes a naming issue so custom log levels work correctly without breaking the standard log level mapping.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127
This update adds a new integration point when an activity is marked as done. It makes it easier for other features to automatically link or process the related message, improving consistency across activity-related workflows.
Original PR description
Add a hook in `_action_done` to allow other modules to link/process message for every activity.
8 changes
Enhancements to existing features
This update adds missing translations across Point of Sale screens, alerts, dialogs, and error messages. It helps users see clearer messages in their language, improving usability and reducing confusion during checkout and payment-related workflows.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/enterprise/pull/102094 Forward-Port-Of: odoo/odoo#272392 Forward-Port-Of: odoo/odoo#239972
This update fills in missing translations for user-facing messages across the Point of Sale apps, including dialogs, alerts, warnings, and error messages. It helps staff see clearer information in their language and makes the POS experience more consistent across supported locales.
Original PR description
pos* = All POS module In this commit: -------------------------------- Add missing translations for user-visible strings across POS modules. - Translated dialogs, errors, alerts, and other UI-visible messages - Updated Python-side UserError, ValidationError, and warning messages Task-5406947 Related PR-https://github.com/odoo/odoo/pull/239972 Forward-Port-Of: odoo/enterprise#121908 Forward-Port-Of: odoo/enterprise#102094
This update makes the POS fiscal integration send customer address information only when it is actually available. It avoids using placeholder values like “N/A”, which helps keep submitted data cleaner and reduces the risk of incorrect information being sent to Fiskaly.
Original PR description
In this commit: ------------------- - Buyer address fields are optional and should only be sent to Fiskaly when they are actually available. - Avoid sending placeholder values like "N/A". If the data is not present, the fields should simply be omitted from the request. task: 6113133 Forward-Port-Of: odoo/enterprise#122188 Forward-Port-Of: odoo/enterprise#113621
When selling products tracked by lot or serial number, the system now automatically applies the correct lot for FIFO/LIFO products and adds them to the cart without extra prompts. If no removal strategy is set, the current selection popup still appears, so existing workflows remain unchanged.
Original PR description
Before this commit: ==== - The lot/serial selection popup was always shown when adding products tracked by lots. Following this commit: ==== - Products configured with FIFO/LIFO removal strategies are automatically assigned the corresponding lot and added directly to the cart without opening the selection popup. - If no removal strategy is configured, the existing lot selection behavior is preserved. task-6226577 Forward-Port-Of: odoo/odoo#265708
The Expense dashboard now follows the same filter rules as the list view for expenses in To Submit, Waiting Approval, and Waiting Reimbursement. This makes totals more accurate for managers, who can now see the amounts for the employees they oversee.
Original PR description
For the expense dashboard with the states 'To Submit', 'Waiting Approval' and 'Waiting Reimbursement', make these states compliants with the current filters of the list view. It means, for example, that a manager can see the total amounts of the people he manages. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#270234
This update gives Odoo more flexible logging options, making it easier to tailor how logs are captured and stored. It also fixes an issue where custom log levels could be interpreted incorrectly, improving reliability for teams that rely on detailed logs for troubleshooting and monitoring.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127
The point of sale product list now uses the larger layout on medium-sized tablets instead of switching to the compact view too early. This makes better use of screen space and improves browsing during checkout, including a fix for iPhone and iPad screen rotation so the layout updates correctly.
Original PR description
Previously, the product list was rendered in "small display" mode for all screen sizes below the medium breakpoint (< 992px). However, some small tablets are able to fully display the product list at the medium breakpoint (≥ 768px and ≤ 991px). After this fix, "small display" mode is only applied when the screen width is below 768px. This commit also includes a fix for iOS devices where the screen breakpoint was not correctly recomputed on orientation change. Task.6251934 Enterprise: https://github.com/odoo/enterprise/pull/119534 Forward-Port-Of: odoo/odoo#266704
The point of sale product list now uses the compact layout only on very small screens. On medium-sized tablets, more products will be shown at once, making browsing easier and improving the checkout experience.
Original PR description
Previously, the product list was rendered in "small display" mode for all screen sizes below the medium breakpoint (< 992px). However, some small tablets are able to fully display the product list at the medium breakpoint (≥ 768px and ≤ 991px). After this fix, "small display" mode is only applied when the screen width is below 768px. Task.6251934 Community: https://github.com/odoo/odoo/pull/266704 Forward-Port-Of: odoo/enterprise#119534
2 changes
Enhancements to existing features
This change makes Odoo’s logging system easier to customize, allowing businesses and developers to define logging behavior in a more standard and flexible way. It also fixes an issue where custom log levels could be misread, which helps keep log output and configuration consistent.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127
This change ensures that the unique transaction ID provided by Italy’s SDI is saved not only for sent documents, but also for received vendor bills. It improves traceability and makes it easier to match and audit incoming electronic invoices.
Original PR description
A unique transaction id is provided by the SDI for every document. This transaction id was saved on document sending, but discarded for received one. backport of f2cc23b30dd4 opw-6111186 Forward-Port-Of: odoo/odoo#268508
13 changes
Enhancements to existing features
The shipping setting formerly called "Batch Shipping" has been renamed to "Multicollo". This makes the wording match Sendcloud’s own terminology and helps avoid confusion for users configuring delivery options.
Original PR description
In order to avoid confusion for the customer, "Use Batch Shipping" was renamed to "Use Multicollo".This way it is consistent with the terminology used by Sendcloud. task-6048477
Users can now see product availability and expected arrival information directly in the stock move list view for planned field service sales orders. This removes the need to open each record just to check replenishment timing, making it faster to review pending deliveries.
Original PR description
Previously, when a sales order for a field service product was planned, adding supplementary products only displayed the basic delivery status in the stock moves list view. To view the replenishment forecast or expected arrival date, users had to navigate into the form view. - This commit exposes the `forecast_widget` in the list view. Users can now check product availability and arrival timelines at a glance without opening individual records. task-5929015
Belgian payroll now better handles extra hours worked by part-time employees, while keeping track of the usual full-time limits in the company. It also adds clearer payroll warnings so unusual cases can be caught earlier, helping avoid validation issues and payroll mistakes.
Original PR description
Introduce support for part-time additional hours in Belgian payroll (hours worked beyond the contractual part-time schedule, without exceeding the normal full-time working limits in the company)
- Add 3 dedicated work entry types (0%, +50%, +100%)
- Add payslip warnings for:
- monthly limit (>12h)
- daily limit (>9h)
- weekly limit (reference schedule)
- invalid type on Sundays/public holidays
- overlap with working time
Related PRs:
odoo: https://github.com/odoo/odoo/pull/269726
upgrade: https://github.com/odoo/upgrade/pull/10581
task-5484105The Belgian payroll configuration now groups certain time-based benefits, such as private car, meal vouchers, and representation fees, into categories instead of simple yes/no flags. This makes the setup more consistent and easier to manage in payroll rules and payslip calculations.
Original PR description
In this commit, we converted time type benefits (private_car, meal_voucher, representation_fees) from boolean fields into categories. task-6193618
When the Shopee connector was introduced, Shopee documented `buyer_user_id` as an int32. We therefore store it in an `Integer` field, which maps to a PostgreSQL int32 column. However, feedback showed that Shopee can send ids exceeding the int32 bounds, leading to a traceback when creating new contacts. Shopee has since updated their documentation to confirm the field is actually an int64. This commit changes the `shopee_buyer_identifier` field type to be `Char` and cleans the stable workar
Original PR description
When the Shopee connector was introduced, Shopee documented `buyer_user_id` as an int32. We therefore store it in an `Integer` field, which maps to a PostgreSQL int32 column. However, feedback showed that Shopee can send ids exceeding the int32 bounds, leading to a traceback when creating new contacts. Shopee has since updated their documentation to confirm the field is actually an int64. This commit changes the `shopee_buyer_identifier` field type to be `Char` and cleans the stable workaround. opw-6325948 See also: - stable: https://github.com/odoo/enterprise/pull/121498 - upgrade: https://github.com/odoo/upgrade/pull/10578
For an accountant, the dmfa report is too detailed, he needs a grouped summary. task: 6307733
Original PR description
For an accountant, the dmfa report is too detailed, he needs a grouped summary. task: 6307733
Enable testing of DIMONA declarations without making actual API calls to ONSS by using the sandbox environment in the settings. Go to Payroll → Reporting → Create Declarations From JSON. Here you can create a declaration in the same format received from the government. You can also go to Payroll → Reporting → DIMONA and create any DIMONA declaration without sending real API calls. Create an employee and click the Check DIMONA button. A wizard will appear, allowing you to enter the fake respon
Original PR description
Enable testing of DIMONA declarations without making actual API calls to ONSS by using the sandbox environment in the settings. Go to Payroll → Reporting → Create Declarations From JSON. Here you can create a declaration in the same format received from the government. You can also go to Payroll → Reporting → DIMONA and create any DIMONA declaration without sending real API calls. Create an employee and click the Check DIMONA button. A wizard will appear, allowing you to enter the fake response you need. Task Id: 6069261
Payroll calculations now ignore worked day lines for company executives, so their payslips are handled more appropriately. This reduces unnecessary payroll data on executive slips and helps keep calculations and reports clearer.
Original PR description
task-6332908
This update aligns the data cleaning and data merge records with the same way Odoo Community stores references to related records. It improves consistency between editions and helps these tools work more reliably with linked data.
Original PR description
Adapt to Odoo community, by applying the same res_id reference change to data_cleaning.record and data_merge.record. Community: https://github.com/odoo/odoo/pull/268906.
The payslip calendar button now includes a Gantt-style timeline view, giving managers a clearer way to see payroll-related dates and scheduling at a glance. This makes it easier to review and plan payroll work without changing the underlying payroll process.
Original PR description
task-6348465
Belgian working schedules now only allow time types that count as working time or support reorganization measures. This helps keep schedule settings aligned with local payroll rules and reduces the risk of choosing an invalid time type.
Original PR description
In this commit, we introduce an extr domain/restraint on the time types that can be selected for belgian working schedules. Now, atop the existing domain, in belgium localization you can only select time types that count as working time, or that contribute to a reorganization measure. task-6333928
The Point of Sale barcode lookup test flow was updated to match the new quick-create product buttons, "Add & New" and "Add & Close." This keeps the automated tour working correctly after the interface change and helps prevent false test failures.
Original PR description
In this commit: =============== new buttons `Add & New` and `Add & Close` are added in quick create product view so adapt changes in tour Task-6260673 Related Comm. PR:https://github.com/odoo/odoo/pull/267661
This update hides the employee record column from standard payslip views to reduce confusion for most users, while still keeping it available in debug mode. It also increases the number of salary computation lines shown by default, which helps users in cases where payslips contain many entries.
Original PR description
Problem: - The column "employee record" on payslips worked day lines is confusing for most users and unnecessary. - The salary computation tab only shows 40 lines by default but in belgium it's always more Solution: - Show the employee record in debug mode only, by setting the `groups` field attribute to `base.group_no_one` on the view. - Increase the number of payslips lines to 200, by using the `limit` list attribute on the view. Task-6348587
2 changes
Enhancements to existing features
The shipping setting previously called "Use Batch Shipping" has been renamed to "Use Multicollo". This makes the wording match Sendcloud’s terminology and reduces confusion for users when configuring delivery options.
Original PR description
In order to avoid confusion for the customer, "Use Batch Shipping" was renamed to "Use Multicollo".This way it is consistent with the terminology used by Sendcloud. task-6048477
This pull request bundles several user-facing fixes and enhancements across accounting, planning, appointments, point of sale, maps, projects, and access to SaaS databases. It improves reporting accuracy, prevents duplicate POS preparation tickets, speeds up appointment availability checks, and makes planning and map views behave more predictably, which should reduce confusion and save time for end users.
5 changes
Enhancements to existing features
The customer-facing label “Use Batch Shipping” has been renamed to “Use Multicollo” in the Sendcloud delivery settings. This makes the wording clearer and aligns it with Sendcloud’s own terminology, reducing confusion for users.
Original PR description
In order to avoid confusion for the customer, "Use Batch Shipping" was renamed to "Use Multicollo".This way it is consistent with the terminology used by Sendcloud. task-6048477
This update removes technical e-reporting fields from the standard invoice screen so regular invoicing users see a cleaner, less cluttered view. The relevant e-reporting flow, status, and any blocking issues are still available in the invoice chatter, with a direct link to the related flow when needed. It also stops showing address validation errors on B2C invoices when they are not required.
Original PR description
E-reporting technical fields were displayed directly on invoices, adding noise for regular invoicing users. Hide the e-reporting status columns and technical block from the standard invoice views. Log the relevant e-reporting flow, status and blocking errors in the invoice chatter instead, with a link to the related flow. Also avoid reporting address validation errors on B2C invoices, as they are not required for Flux 10 e-reporting. Task-6273226
This update alerts cashiers when a Point of Sale device clock is drifting from the server time. It helps prevent wrong order and payment timestamps, which can otherwise lead to mismatches in receipts and daily reports.
Original PR description
PoS timestamps (order creation, payment) are captured from the device clock to support offline sessions. When a device clock is misconfigured, all timestamps in that session are silently wrong, causing discrepancies in daily reports and receipts. opw-6320108 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Event template questions can now be reordered by dragging and dropping them in the Questions page. This brings the template experience in line with regular events and makes it easier to organize questions in the desired order.
Original PR description
In the even template, on the questions page, we can't drag and change the order of the questions. To fix it, we'll add the sequence field with handle widget to event.type questions list view to enable drag-and-drop reordering matching the behavir in event.event. Steps to reproduce: 1.Go to event templates 2.Select any templates 3.Go to questions page 4.We can't drag and drop questions opw-6260478
This update makes Odoo’s logging easier to customize, including support for declarative configuration and structured JSON logs. It helps teams route, format, and store logs in ways that better fit their operations and troubleshooting needs, while keeping existing logging behavior working as before.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127
1 change
Enhancements to existing features
This change makes Odoo’s logging system easier to customize, so teams can route logs to different outputs and formats without writing extra code. It also fixes an issue where custom log levels could be misread, improving reliability for advanced logging setups.
Original PR description
Stable friendly backport of #270562 Less elements where moved, cleaned, removed, ... keeping the minimal changes to make it work in stable. Forward-Port-Of: odoo/odoo#273127