Daily updates from Odoo
Monday, June 22, 2026
41 changes
5 changes
Enhancements to existing features
This update strengthens the process of exporting Liasse Fiscale reports by implementing crucial data checks. Specifically, it verifies that key information related to writers, debtors, and referenced partners is complete and accurate before reports are generated and sent. This improves data reliability and reduces potential errors in tax reporting.
Original PR description
while exporting liasse fiscale, no chceks were done before the export and there were no account returns checks before sending it, this commit add account return checks to the liasse fiscale: -writer and debtor have the necessary informations on their record -partners mentionned in the reports have the necessary fields completed on their records -for some line, we have to choose between some values task-6127270
This update expands the data sent to payment processing systems (Powens and Saltedge) by including debtor and creditor information. This change is necessary to correctly initiate payments and improve integration with these external payment gateways.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
This update enhances the visual appearance of receipts and preparation tickets within the Point of Sale and Stock modules. Specifically, font styling has been improved, and table numbers on preparation tickets now include floor information, making them easier to read and understand for staff.
Original PR description
In this commit - --------------- Enhanced font styling for receipt and preparation ticket Added floor information next to table number on preparation ticket Task - 6125322 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#270068 Forward-Port-Of: odoo/odoo#260559
This update simplifies cash basis accounting in the French localization module by automatically disabling payment reconciliation. This change ensures that cash basis accounts align with standard French accounting practices and reduces potential user confusion. It's a minor improvement focused on clarity and consistency.
Original PR description
Cash basis accounts now have payment reconciliation set as false by default task-6226984
This update allows users to group and filter POS orders based on their DIAN transmission status. Previously, the system couldn't easily identify rejected or failed syncs, making it difficult to monitor the health of daily DIAN transmissions. This change provides better visibility and control over POS order synchronization with DIAN authorities.
Original PR description
The DIAN transmission status (l10n_co_edi_pos_dian_state) is a non-stored computed field, so it could not be used to group, filter or sort the POS Orders list: users had no way to isolate rejected or failed orders, nor to get an overview of daily sync health. Provide a compute_sql for the field so the ORM can express it in SQL, making it groupable/searchable/sortable without storing it. This avoids a schema change while keeping the value derived from the most recent DIAN document. task-6273842
2 changes
Enhancements to existing features
This update improves the payment process by adding debtor and creditor information to the data sent to Odoofin, which is required for initiating payments through Powens and Saltedge. This change ensures smoother and more complete payment initiation workflows. It's a necessary improvement for supporting key payment integrations.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
This update standardizes the font style for customer notes in the Point of Sale system to align with the appearance of line customer notes. This enhances visual consistency and improves the overall user experience for customers and staff.
Original PR description
We updated the general customer note font to match the line customer note's one. task-6294200
3 changes
Enhancements to existing features
This update clarifies the process for adding handwritten signatures within the HTML editor. The wording has been changed from 'Insert your signature from Sign' to 'Insert your handwritten signature' for better user understanding and a more natural workflow. This improves the overall user experience.
Original PR description
Purpose of this PR: - Replace 'Insert your signature from Sign' with 'Insert your handwritten signature'. task-6217718 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enhances the timesheet assistant by providing clearer guidance when the Odoo Timesheet Assistant (AW) isn't properly set up, offering helpful warnings if the extension is missing, and displaying more relevant suggestions for time tracking. It also improves the accuracy of time entries by resolving record names and prioritizing recent timesheeted projects.
This update improves the payment process by adding debtor and creditor information to the data sent to Odoofin, which is required for using Powens and Saltedge payment gateways. This change ensures smoother and more complete payment initiation workflows.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
1 change
Enhancements to existing features
This update improves the Odoo payment process by adding debtor and creditor information to the data sent to Odoofin, a payment processing partner. This change is necessary to successfully initiate payments using Powens and Saltedge, ensuring smoother and more reliable payment transactions.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
1 change
Enhancements to existing features
This update improves the Odoo payment process by adding debtor and creditor information to the data sent to Odoofin, a payment processing partner. This change is necessary to successfully initiate payments using Powens and Saltedge, ensuring smoother and more accurate payment transactions.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
1 change
Enhancements to existing features
This update enhances payment processing by adding debtor and creditor information to the data sent to Odoofin. This is necessary to support payments initiated through Powens and Saltedge, ensuring accurate and complete payment initiation.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
26 changes
Enhancements to existing features
This update improves the user experience by ensuring that clicking the budget icon on project overviews directly opens the budget action. Previously, this icon was inactive. This change streamlines the process of accessing project budgets, making it easier for users to manage financial planning.
Original PR description
**Before this commit:** - In the project overview, there's a button that indicates whether a budget has been set for a particular project. - Currently, clicking this button does not trigger any action. **After this commit:** - Clicking the budget icon on a project overview now opens the budget action. **Task-4841050**
This update adapts the SEPA Direct Debit payment process to support the new 'Pay on Invoice' option. This allows customers to choose to pay invoices directly, streamlining the payment process and offering greater flexibility. The changes were driven by community feedback and are designed to enhance the user experience.
Original PR description
See community commit for details. task-5149051
This update improves the live map experience by allowing users to easily focus on colleagues' locations and automatically including their live locations in Google Maps routing. This provides a more efficient and accurate way to coordinate with team members and plan routes.
Original PR description
# [IMP] web_map: allow inheritance of pin list for mobile view Prior to this commit, it was not possible for child modules to inherit from the pin list popover (i.e., the one used for the mobile view). # [IMP] planning_field_service: focus on user marker in live map In this commit, we add a button allowing users to focus on users' live location markers. The button is displayed only if the user is located (i.e., has a live location), and the view will zoom with an animation on the user pin. # [IMP] planning_field_service,web_map: google maps routing includes user location This commit adds users' live location as original addresses when opening the routing in Google Maps in the live map. task-6168733
This update introduces continuous production tracking for work orders, allowing workers to easily record completed quantities. The latest quantity recorded automatically updates the production quantity, speeding up the process. Enabling this feature ensures work orders become ready as soon as some quantities are completed, improving efficiency.
Original PR description
Allow workers to record the quantities completed on each workorder, the latest recorded quantity becomes the mo's producing quantity. Add a flag to enable continuous production (subsequent work orders will become ready as soon as some quantities are ready). See https://github.com/odoo/odoo/pull/267113 task: 6175830
This update adds AI-driven transcription to Odoo calls (VoIP and Discuss), improving meeting summaries and searchability. The new system processes call recordings in smaller chunks, preventing performance issues and ensuring reliable transcription, while also integrating with VoIP demo mode for testing.
Original PR description
This PR builds upon the Community PR (odoo/odoo#233836) by extending the call.artifact model with AI-powered transcription capabilities for both VoIP and Discuss calls. Rather than attempting to…
This PR builds upon the Community PR (odoo/odoo#233836) by extending the call.artifact model with AI-powered transcription capabilities for both VoIP and Discuss calls.
Rather than attempting to transcribe monolithic, multi-hour call recordings, this architecture processes chunked artifacts independently. This solves the 25MB payload limit of the LLM APIs and allows for granular error handling.
**Overview:**
- Gevent Orchestration (vs. Cron): Abandoning cron-based approach. Transcription is now orchestrated via a background gevent thread (action_transcribe_gevent). This provides immediate feedback post-call and prevents long-running I/O operations (LLM API calls) from hogging the Odoo cron workers.
- Safe 3-Phase Processing: To keep db connections short during the slow LLM API calls, the gevent orchestration uses a Claim → Process → Finalize pattern, committing the transaction between each step.
- Cloud Storage Architecture: Persistent call recordings are strictly offloaded to the cloud_storage module to prevent Odoo filestore bloat. However, transient STT audio chunks bypass this requirement, saving locally and deleting themselves immediately after successful transcription.
- VoIP Integration (voip_ai): Fully integrates the transcription flow into the VoIP softphone, including automated one-liner call summaries generated from the concatenated artifact transcripts.
- VoIP bonus -- demo, as a byproduct of this PR the demo for call was enriched with bying able to record and transcribe
(Note: Previous legacy recordings/transcriptions are migrated to call.artifact via odoo/upgrade#9521).
**Artifact Transcription Lifecycle:**
When an audio chunk is uploaded for transcription, it state machine to guarantee it is processed exactly once, with built-in retry logic for transient API failures.
```mermaid
stateDiagram-v2
[*] --> Pending : Chunk Uploaded (is_stt=True)
state "Pending" as Pending
state "Claimed (Leased)" as Claimed
state "Done" as Done
state "Error (Terminal)" as Error
Pending --> Claimed : action_transcribe_gevent (TX#1)
Claimed --> Pending : API Failed (Retries < Max)
Claimed --> Done : API Success (TX#3)
Claimed --> Error : API Failed (Retries >= Max)
Claimed --> Error : File too large / No media
Claimed --> Pending : Worker Crash (Lease Expires)
Done --> [*] : Media unlinked, Parent notified
Error --> [*] : Media unlinked, Parent notified
```
task-5153790This update adjusts the Odoo payroll accounting configuration to align with the latest Egyptian Chart of Accounts. This ensures that all payroll journal entries accurately reflect the correct accounts, complying with Egyptian tax regulations.
Original PR description
The Egyptian Chart of Accounts has been updated, so the payroll accounting configuration must be adjusted accordingly to ensure payroll journal entries use the correct accounts. Related PRs Community - https://github.com/odoo/odoo/pull/266614 Upgrade - https://github.com/odoo/upgrade/pull/10339
This update simplifies the process of tracking stock by vehicle within Field Service. Previously, configuring vehicle warehouses was hidden and difficult, but now a centralized dashboard provides easy access and management, streamlining operations at scale. The new system enforces data integrity to prevent errors and ensures accurate fleet assignments.
Original PR description
Since v14, tracking stock by vehicle required manually setting a 'default warehouse' hidden deep within individual user preferences. Because this field was completely invisible unless multi-warehouses were enabled, the feature was largely undiscoverable and extremely tedious to manage at scale. This commit solves the discoverability and configuration issues by introducing a centralized Vehicle Warehouses dashboard directly in the Field Service settings. Key impacts: - Adds a direct "Stock by Vehicle" setup link in the Field Service settings. - Introduces a dedicated list and mobile Kanban view to easily map specific warehouses (vehicles) to assigned technicians (planning users). - Enforces strict constraints to prevent duplicate fleet assignments and ensures warehouses and users remain strictly linked within the same company. Task: 6190476
This update removes an unnecessary abstraction layer in the SGK Hiring report process. The previous abstract model was deemed redundant as it was only used in one place, leading to a simpler and more maintainable codebase. This change improves efficiency and reduces complexity.
Original PR description
Previously, we had an SGK abstract model that was used by the SGK Hiring report. The idea was that we might extend its functionality to other models in the future, improving code readability and maintainability. However, it turns out that there is currently no benefit to having an abstract model, as it is only used in one place. Therefore, this change removes the unnecessary abstraction and keeps the implementation simpler. Task: TBD
This pull request makes minor improvements to the user experience within the MRP modules (mrp_plm, mrp_workorder, quality_mrp). Specifically, the 'Review Changes' button has been simplified for better clarity and the wording of the work order timer setting has been updated for improved understanding. These changes enhance usability and streamline workflows.
Original PR description
Minor UI tweaks for MRP submodules: * 'Review Changes' smart button renamed to simply 'Review' in PLM form view. * Reworded description for the WO timer setting. Built atop #112997. Task ID: [6152764](https://www.odoo.com/odoo/my-tasks/6152764)
This update enhances the map view by displaying resource avatars when routes are grouped by resources. This provides a clearer visual representation of the routes and makes it easier to identify associated resources within the map interface. This change improves usability and provides a more intuitive experience for users.
Original PR description
## [IMP] web_map: define template for routing information popup This commit defines the routing information popup as a template, allowing other modules to extend/modify it. ## [IMP] planning_field_service: show resource avatar on route popover In this commit, we add the resource's avatar to the routing popover in the map view. This only applies when the view is grouped by resources. task-6273760
This update enhances the layout of the MRP BOM line view by aligning the 'Bom Version' and 'Product Version' columns with their corresponding 'Final Product' and 'Bill of Material' counterparts. This change improves clarity and consistency for users reviewing BOM information, mirroring a previous update in the Odoo Community.
Original PR description
The 'Bom Version' and 'Product Version' columns positions are switched to match their 'Final Product' and 'Bill of Material' counterparts on the same view (see PR 262691 on Odoo Community). Task: 6113304
This update introduces a variable resource calendar, allowing users to precisely define attendance dates instead of relying on fixed schedules like weekly recurring options. This provides greater flexibility in managing employee working schedules and accommodates diverse attendance patterns, replacing the previous two-week calendar.
This update adjusts the Peru withholding module's test cases to align with current business practices. Previously, tests incorrectly generated withholding payments without associated bill taxes. Now, tests accurately reflect the real-world workflow of creating withholding amounts from bill taxes, streamlining the payment process.
Original PR description
As the should_withhold_tax field is being replaced by withhold, the Peru withholding module must be updated accordingly. In Peru, withholding can only be deducted when withholding taxes are applied on bills. However, the existing tests were creating withholding payments without adding withholding taxes on the bill and were manually providing withholding line values when creating the payment wizard. This no longer reflects the actual business flow. This commit updates the test cases to follow the real-world workflow by creating withholding amounts from bill taxes and letting the payment wizard generate the withholding lines accordingly. task-5438849 com:https://github.com/odoo/odoo/pull/266946 upg:https://github.com/odoo/upgrade/pull/10436
A new 'Cancelled' filter has been added to the ticket screen, allowing cashiers to easily view and manage all cancelled orders, regardless of their origin. This change improves order management and provides greater control for cashiers, aligning with a streamlined workflow. The cancellation process is now logged for transparency.
Original PR description
..., pos_hr, pos_self_order, pos_platform_order --- In order to give the cashier more control over orders, a new "Cancelled" filter has been added to the ticket screen. This filter already existed in `pos_platform_order`, but it was limited to orders cancelled from platform orders only. It now shows all cancelled orders, regardless of their origin. Previously, cancelling an order would delete it locally — it remained in the backend but was absent from the frontend, making it impossible to display in the cancelled filter. This behaviour has been removed. We also no longer load only draft orders for the current POS config, but all orders for the current session, whatever their state. Additionally, the cancellation is now logged in the chatter under the current cashier's name. --- Task: https://www.odoo.com/odoo/project/1737/tasks/6112014
This update enhances payment processing by adding debtor and creditor information to the data sent to our payment processors (Powens and Saltedge). This ensures accurate payment initiation and improves integration with financial systems.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729 Forward-Port-Of: odoo/enterprise#119843
This update improves the marketing automation form by aligning its settings with a recent design change. The Autofocus plugin has been moved to a more accessible location, allowing it to be used in mass email campaigns. This ensures a smoother user experience for creating and managing marketing emails.
Original PR description
This PR updates marketing_automation overrides for the mailing form view to match the new structure of the view, and moves the Autofocus plugin from knowledge to html_editor to make it available in mass_mailing. task-5976317
This update adds travel time calculations and display to the Field Service Gantt view, specifically designed for resource-based scheduling. It introduces travel time buffers, automatically tracking distances and times, and provides a popover for detailed travel information when hovering over a shift. This improves scheduling accuracy and efficiency for field service teams.
Original PR description
## [IMP] web_gantt: allow setting conditions to display buffer times This commit allows children to conditionally display buffer times in the Gantt view. This is particularly important for Field…
## [IMP] web_gantt: allow setting conditions to display buffer times This commit allows children to conditionally display buffer times in the Gantt view. This is particularly important for Field Service, where buffers do not make sense if the view is not grouped by resource. ## [IMP] web_gantt: editable specification for get_gantt_data rpc This commit allows views inheriting from `GanttModel` to modify the specification passed to the `get_gantt_data` rpc call. This will become handy for Field Service, where we want to read extra fields (other than `display_name`) for partners. ## [IMP] planning: check user group before loading data This commit ensures that the `isManager` boolean value is always fetched before loading the Gantt view. ## [IMP] planning_field_service: travel time computation in the Gantt view This commit introduces travel time and distance tracking for field service shifts. Travel times displayed as buffers on the day-scale gantt view when grouped by resource. - Add `travel_time_in/out` and `travel_distance_in/out` fields on planning slots - Travel data is reset automatically when the partner, resource, or datetime changes, and preserved when splitting/undoing splits or undoing drag-and-drop - Compute routes using MapBox on gantt load (when all records are stale) or on demand via a toolbar button (when some are stale)` - The travel data are computed starting and ending at the resource's work location (i.e., work, daily interventions, work) - Hide the buffer-end visually when a subsequent shift exists for the same resource ## [IMP] planning_field_service: add travel time and distance popover in gantt This commit adds a popover containing the travel time information for the intervention, when hovering its buffer time. It contains the departure time, travel time, and distance. If there is no previous intervention, the information is relative to the resource's work location. task-6200248
This update adds necessary fields to the payment process for Saltedge, enabling seamless payment initiation. The changes were made to ensure compatibility with Saltedge's requirements. The update will be applied across all Odoo Enterprise versions.
Original PR description
In order to be able to initiate payments using Saltedge we need to include a couple more fields in our payload. This commit adds them. This PR is in master to ease testing but will be backported to 18.0 to cover all versions of the payment initiation flow. Task ID: 6095729
This update enhances the safety of product template merging by preventing the automatic merging of complex templates with variant configurations. Previously, this could lead to unexpected product behavior. Now, only simple, single-variant templates can be merged directly, ensuring more reliable and predictable product management.
Original PR description
Before product template merge could try to merge templates with variant configuration this could lead to unsupported or confusing product behavior there was no clear check for only simple templates After added a merge guard for product templates only plain single variant templates can be merged directly configurable or multi variant templates now stop with a clear message Impact safer product merge behavior prevents incorrect merges on configured products keeps de-duplication limited to the simplest valid cases task id - 5928499
This update simplifies how prices with taxes (included or excluded) are managed within Odoo. Users can now dynamically adjust tax settings on invoices, orders, and purchase orders, reducing the risk of duplicate taxes and improving overall financial accuracy. However, be aware of potential complexities when overridden tax settings are in place.
Original PR description
### Purpose To improve management of prices with tax included and tax excluded. To simplify handling a mix of both in the same company and avoiding duplicate taxes. ### Implementation Users can…
### Purpose To improve management of prices with tax included and tax excluded. To simplify handling a mix of both in the same company and avoiding duplicate taxes. ### Implementation Users can change default taxes into included or excluded in the prices dynamically on account.move, sale.order and purchase.order. This is done through a selection field document_tax_mode that allows the user to set any default taxes on the lines to tax included or excluded. This will be reflected on the total amounts of the document. Taxes with an override tax mode set (price_include_override on account.tax) will keep their overridden behavior regardless of the document tax mode. Beware of functionally non-applicable cases with overridden taxes that can lead to erratic behavior: -company tax mode set to tax included, with a tax included override tax, document set to tax excluded, -company tax mode set to tax excluded, with a tax excluded override tax, document set to tax included. odoo/odoo/pull/251800 odoo/upgrade/pull/9951 task-5942016
This update enhances the payroll experience for employees classified as 'company executives.' Specifically, it adds support for a 'joint committee' of 999 and hides irrelevant fields (sub-type, dimona category, and flat rate) to simplify data entry and improve usability. This change aligns with user needs and streamlines the payroll process.
Original PR description
This PR expected to - Add the joint committee 999 on the employee type 'company executive' - If the join committee of the employee is 999: - Hide the field sub-type and make sure it's empty - Hide the field dimona category and make sure it's empty task: 6300301
This update simplifies the systray check-in process by aligning it with backend attendance settings. Previously, check-in was triggered by attendance status, but now it's controlled solely through backend configurations. This change streamlines the process and reduces complexity.
Original PR description
[IMP] hr_work_entry_attendance: systray check_in appearance adjustment Systray check-in was available when the employee or user is attendance based but now, it will only depends on attendance check-in from backend setting. So, no need to look to attendance_based now. task - 6309593
This update enhances the user experience for payroll reports in the Belgian HR module. Now, users can preview reports as PDFs, even for batch reports, and the 'Eligible Employee' button directly navigates to the employee's profile, streamlining workflows.
Original PR description
1. Display the preview button even for batch reports. When clicking on it, a PDF appears: it is the same PDF that would be shown if we previewed the report as web. 2. From the Eligible Employee smart button, allow the user to navigate to the employee profile. __ task-6304028
This update enhances the customer display within our POS apps (enterprise, IoT, and mobile) by incorporating dark mode assets and streamlining URL calculations. By centralizing the URL computation, we've reduced redundancy and improved the overall consistency of the customer display across all POS experiences. This change ensures a better user experience and simplifies future updates.
Original PR description
pos*: pos_enterprise, pos_iot, pos_mobile - Add proper dark mode assets for the customer display (aligned with POS styling) - Centralize customer display URL computation in the PoS store service to avoid code duplication Task-6139178 Related PRs: - https://github.com/odoo/odoo/pull/260331
This update improves reporting for Belgian payroll runs by renaming and reorganizing key data fields. Specifically, it adds information on NSSO contributions and withholding taxes, providing a more complete picture of Belgian pay run data. This change is limited to the Belgium localization.
Original PR description
This PR expected only applies to Belgium Localization. There are fews changes in this view: - Rename Employer cost to Total Cost - Remove Gross - Add NSSO Contribution - Add Witholding taxes This changes to provide important information on belgian pay run task: 6290433
This update simplifies the process of creating Quality Alerts directly from Manufacturing Orders, making it easier for users to report issues. The form has been redesigned with a clearer layout and streamlined fields, reducing unnecessary complexity. This change improves efficiency and data accuracy when managing quality control.
Original PR description
Users cannot easily create a Quality Alert directly from a Manufacturing Order (MO), and the Quality Alert form exposes fields that are unnecessary or unclear depending on the context. This commit…
Users cannot easily create a Quality Alert directly from a Manufacturing Order (MO), and the Quality Alert form exposes fields that are unnecessary or unclear depending on the context. This commit improves alert creation from MOs and refines the form behavior. This commit's changes: - Add an action on the Manufacturing Order form to create a Quality Alert directly from the Action menu. - Simplify the Quality Alert form header and move the priority widget to the top of the form. - Show "Title..." as the Title field placeholder for new alerts, then use the Quality Alert reference once assigned if no title was entered. - Remove the Product Template field from the quality.alert model. - Rename the Product Variant field label to "Product". - Update the form to show either the Picking or Manufacturing Order, hiding the unused field. - Rename the "Lot" field to "Lot/Serial". - Show the "Lot/Serial" field only when the selected product is tracked by lot or serial number. - Add "allowed_lot_ids" to identify lots/serials linked to the current Manufacturing Order or Picking. - Restrict "Lot/Serial" selection to "allowed_lot_ids" when available; otherwise fall back to all lots of the selected product. - Hide the Work Center field on the form unless it is set. task-6102168
1 change
Enhancements to existing features
This update allows administrators to control when payslip PDFs are generated and emailed to employees – options include automatic delivery on validation or payment, or manual delivery. Previously, this setting was managed differently, requiring a migration script. This change simplifies management and avoids disruption for existing users.
Original PR description
Backport of odoo/enterprise#97957 adapted for stable 19.0 policy.
This commit adds a global setting that controls when payslip PDFs are generated and emailed to employees: on validation, on payment, or never (manual). The three modes are exposed in Payroll settings.
Difference from 19.1: the trigger is stored in ir.config_parameter ('hr_payroll.payslip_generate_and_send_trigger') instead of a new column on res.company, avoiding any migration script. When the parameter is absent the behaviour falls back to 'on_confirmed', preserving the existing behaviour for all current installations.
task-62686441 change
Enhancements to existing features
This update adds debtor and creditor information to the data sent to payment processors (Powens and Saltedge) when initiating payments. This enhancement ensures accurate payment processing and compliance with payment gateway requirements.
Original PR description
In order to be able to initiate payments using Powens and Saltedge, we need to include debtor information in the payload sent to Odoofin. This commit adds the necessary fields and updates the tests accordingly. Task ID: 5977148, 6095729