Daily updates from Odoo
Wednesday, April 15, 2026
12 changes · master
Enhancements to existing features
This update seamlessly connects the Documents app with Project Tasks, automatically syncing attachments and providing easy access via a new 'Documents' button. A key addition is a warning system to alert users about potential access rights changes when linking documents to tasks, ensuring data security and preventing unintentional data exposure.
Original PR description
Previously, there was no connection between the Documents app and Project Tasks (`project.task`). Attachments added to a task via the chatter were not synced to the Documents app, and documents…
Previously, there was no connection between the Documents app and Project Tasks (`project.task`). Attachments added to a task via the chatter were not synced to the Documents app, and documents manually saved from the chatter lacked a link back to the corresponding task. This PR bridges that gap. Implementation Details: - Automated Syncing: Inherited `documents.mixin` on `project.task`. Now, whenever an attachment is added to a task via the chatter, the system automatically creates a corresponding Document and links it back to the task. - Improved Navigation: Added a 'Documents' stat button to the task form view, giving users one-click access to all files associated with that task. - Access Rights UI Warning: Added a visual warning in `documents_details_panel`. When a user links a document to a specific record, the UI now warns them that this action may broaden the document's visibility (since the linked attachment inherits the access rights of the parent record). This prevents users from unknowingly exposing sensitive data to portal users or unauthorized internal users. task-5941719
This update enhances the accuracy of Dimona declaration reporting within Odoo Enterprise. Two new warnings have been implemented to identify missing employee information and unpaid payslips, ensuring compliance and providing clearer insights for users. The changes also include improved data storage for employee details within the Dimona declaration.
This update improves the creation of financial reports by allowing external data to be directly linked to existing Odoo records. This eliminates manual data entry, reducing errors and saving users significant time when generating reports like the 'Liasse Fiscale'. The change also corrects a previous issue with string-based external values, ensuring accurate reporting.
Original PR description
External values should be linkable to an existing model. For example, in the french accounting report "Liasse Fiscale", users have to manually fill a lot of fields. For that purpose, external values are used. However, sometimes, the required info are already known in Odoo. Users currently need to rewrite everything manually. It comes with a high risks of errors and time lost encoding data. As those type of forms will become more and more frequent in Odoo, we improve it in generic for everyone. task-5951888
This update allows administrators to set payment tolerance specifically for each journal, addressing previous limitations where a single global setting impacted all accounts. It also introduces a new option to prioritize matching invoices based on either the oldest or newest date when multiple invoices share the same details, leading to more accurate reconciliation processes.
Original PR description
Before: - Payment tolerance for bank fees was managed globally through a system parameter. - It was difficult for users to adjust and applied to all journals. - If multiple invoices matched, the system selected the invoice with the closest prior or equal date. After: - Added payment tolerance to journal settings under Advanced Settings. - Tolerance is now configured per journal. - Added a matching order option to choose whether reconciliation should match the oldest or newest invoice when multiple invoices share the same partner and amount. Impact: - Allows configuring payment tolerance per journal. - Improves reconciliation behavior when multiple invoices have the same amount for the same partner. Related PR-https://github.com/odoo/upgrade/pull/9806 taskID-5985965
This update enhances how approval notifications are handled in Odoo. It introduces a new message subtype for both approved and rejected approvals, making it easier to filter and manage these notifications. This improves the clarity and organization of approval-related messages within the system.
Original PR description
Adds a message subtype to approval added via studio, when they are approved / rejected for easy message filtering. BEFORE: The message type from an approval notification was a note. NOW: The message type from an approval notification is a validated approval or a rejected approval. WHY: Allows filtering of approval message by subtypes in ` Settings > Technical (debug) > Messages`, Community PR: https://github.com/odoo/odoo/pull/252759 task#5961149
This update improves room booking functionality by limiting users' views to only the companies they are authorized to use. Previously, users could see bookings across all companies. This change aligns with existing multi-company rules and enhances data security and user experience.
Original PR description
Currently, users can see room bookings from all companies. After this PR, users will only see bookings from their allowed companies. Technical: Add an ir.rule record to restrict room.booking records based on the user's allowed companies, consistent with the existing multi-company rules for room.room and room.office.
This update implements the core functionality for CP302 (Joint Committee 302) in Belgian payroll, a key regulatory requirement. It includes features like seniority calculations, various work entry types with premium adjustments, and specific allowances for students and work clothes. This ensures Odoo Enterprise continues to meet Belgian tax and labor law standards.
Original PR description
In this commit, we introduced the basics implementation of CP302 (Joint Committee 302) for Belgian Payroll - Add employee seniority field with automatic calculation - Add work entry types: night work, Sunday/holiday work, flexible work with seniority-based premiums - Add student wage reductions and work clothes allowance - Add CP302 salary scales, Crew/Chef de Partie contract templates task-3081508
This update enhances the pickup delivery process by updating how pickup locations are retrieved, aligning with recent changes in Odoo. It ensures accurate pickup location data is used, streamlining the order fulfillment workflow and improving delivery accuracy. This change was driven by a community enhancement to address data retrieval issues.
Original PR description
*: website_delivery_sendcloud, website_sale_fedex This PR adds several improvements to pickup delivery feature. All details are in community PR. Community PR: odoo/odoo#160187 Upgrade PR: odoo/upgrade#6315 Task-3645144
This update allows employees to use fuel cards for private vehicle use, offering a more flexible transportation benefit. The system now splits fuel card expenses between taxable private rides (for ONSS and withholding taxes) and non-taxable daily commutes (affecting only withholding taxes). This simplifies benefit administration and provides greater employee choice.
Original PR description
Allow employees to have a fuel card without requiring a company car. This enables more flexible transportation benefits where employees can use a fuel card for private vehicles. Changes: - Add fuel_card_private_ride field to split fuel card between private rides (subject to ONSS and withholding taxes) and daily commute (only impacts withholding taxes) - Create new salary rules FUEL.CARD.PRIV and FUEL.CARD.COMMUTE to handle the split taxation - Remove dependency between fuel_card and transport_mode_car in views and onchange methods - Include fuel card private ride in gross salary calculation The private ride portion is taxable for both ONSS and withholding taxes, while the commute portion only affects withholding taxes. task-5486140
This update adjusts how invoices are handled for Colombian tax reporting (DIAN) to align with current regulations. It now allows non-service products to use mandates and enables different principals for individual invoice lines. This simplifies compliance and supports a wider range of product types.
Original PR description
Allow non-service products as mandate contracts since DIAN no longer restricts this. Remove the mandate principal field from the invoice header and use the standard partner_id field on the lines instead. This way individual invoice lines can have different principals. task-5498047
This update enhances the timesheet assistant by adding icons next to each rule type in the views. This provides a clearer visual representation for users configuring rules, making the process more intuitive and efficient. Additionally, a bug fix has been implemented to prevent issues with default scope settings when selecting rule types.
Original PR description
Task-6094928
This update introduces a new, more flexible way to connect to Avalara, leveraging Odoo's IAP proxy. Users can now choose between using their existing Avalara credentials or creating a new account directly within Odoo. This simplifies the integration process and enhances reliability.
Original PR description
Allow connecting to Avalara through Odoo's IAP proxy ("Avalara Included") as an alternative to direct API credentials ("Avalara Direct"). Users can either create a new Avalara account from within Odoo or migrate an existing direct account to the IAP-backed flow.
The `AvataxClient` now dispatches requests through the IAP proxy or directly based on the chosen connection method. Ping also fetches company info and nexus locations.
task-5259842