Friday, August 29, 2025
13 changes · master
Enhancements to existing features
Projects created from templates can now automatically plan task dates based on the timing used in the original template. This helps teams start new projects with realistic schedules while still allowing the system to adjust dates to avoid conflicts.
Original PR description
This PR allows planning dates when a project is created from a template. The dates of the created tasks are calculated based on the dates of the task in the template project. Tasks will be scheduled based on the elapsed time between the start of the project and the start of the task in the template. Tasks are scheduled using the smart scheduling algorithm, so the time ranges might not be exact to avoid conflicts, etc. If the template doesn't have planned dates, tasks will be simply scheduled from the start of the created project (or today) using the smart scheduling. Task-4700745
This update makes account return and audit screens clearer and more reliable for users. It fixes navigation and display issues, adds better completion notifications, uses more appropriate dates during setup, and helps prevent duplicate return creation.
Users can now download TDS and TCS tax reports directly as Excel files instead of manually selecting export fields. The file includes the relevant return-filing information and is grouped by section to make review and filing easier.
Original PR description
Receives many feedback from the users that they currently exports report by manually selecting fields to file TDS & TCS return. The problem is many users are unaware of how to export it with existing fields. With this commit, users can now directly download the Excel file from the TDS/TCS Tax report, which includes all the relevant fields needed for filing TDS/TCS returns. Additionally, the XLSX file is grouped by section to make it easier to read. task-4945885 COM PR: https://github.com/odoo/odoo/pull/220707
VoIP call transcription now handles failed uploads more reliably, so users see the correct status instead of calls getting stuck as pending. Calls can also show a short transcript summary and clearer status banner, with demo examples and broader tests added to improve confidence.
Original PR description
Following up on the quick merge of the voip transcription aa5983efc390dc16cff3ee99a55a8878d6e06939 We are improving its state by modifying: **Controller**: doesn't raise errors anymore, returns http…
Following up on the quick merge of the voip transcription aa5983efc390dc16cff3ee99a55a8878d6e06939 We are improving its state by modifying: **Controller**: doesn't raise errors anymore, returns http err codes, keeping transcription_status persist errors (ref.1) **Tests**: added backend controller tests and cron tests covering happy paths and edge cases. (ref.2) **Summary**: added one_liner_summary filed on the voip call, which is generated after successful transcription; (if it fails we still have transcription) **Banner**: Previously we informed user about the transcription_status with a selection field in a view. Now it is replaced by a status banner at the top of the form view **Demo**: added some demo calls to showcase calls in all transcription_status. (ref.3) (ref.1) Without it: when we have an error in the request to transcribe it will rollback the transaction. Example: Controller is asked to transcribe, it can't because the file is too big, so it sets transcription_status=too_big_to_process **and raises**. This revers the transaction resulting in transcription_status set to pending. BAD (ref.2) To avoid gymnastic of creating second cursor for the sake of testing cron try to commit, we restrict committing so it doesn't happen in the test_mode. Subsystem testing covers those <img width="1139" height="408" alt="image" src="https://github.com/user-attachments/assets/90736892-58ce-4a15-b28d-bb8bf4369888" />
Payroll salary rules are now treated as updateable configuration, making it easier to keep standard payroll logic aligned during upgrades. Businesses that need custom payroll behavior should create or duplicate their own rules so those customizations remain protected during migrations.
Original PR description
Purpose ======= Rules that are supposed to be customized and kept over migrations should be created by hand, or duplicated from existing structures.
Employee records now show the official contract type separately from the payroll salary structure category. This helps HR teams keep legally or officially named contracts visible while still seeing the payroll classification needed for compensation processing.
Original PR description
This change ensures that official contract names remain visible while clearly distinguishing them from the salary structure category. task-5013761
Employee work schedule handling has been simplified by removing start and end date limits from resource attendance records. This reduces configuration complexity and supports cleaner payroll and scheduling processes, including Belgian payroll version handling.
Original PR description
Removed date_from and date_to fields for simplification Task: 4929940
This update improves how decimal numbers are displayed and handled by ensuring float fields can keep a minimum number of digits. It helps maintain consistent precision in accounting, payroll, delivery, point of sale, quality, and electronic invoicing workflows, reducing formatting inconsistencies across documents and integrations.
Original PR description
task-4895014
Partner ledger and related customer follow-up reports now include reconciliation date information, giving finance teams clearer context on payments and outstanding balances. This helps users review customer accounts more accurately and align follow-up actions with the latest reconciliation status.
The partner ledger now supports an additional closing date filter, making it easier to view open items up to a specific date. This helps finance teams produce more precise partner balance and reconciliation reports.
Payroll configurations for Jordan and Saudi Arabia now include the missing account mappings for salary rules. This helps ensure payroll entries are posted to the correct accounting accounts, reducing manual corrections and improving reporting accuracy.
Original PR description
xx: jo, sa In this commit we add the maping for all the salary rules accounts Taks: 4882398
Spreadsheet list headers are now kept consistent across user languages, so pivots based on lists continue to work when a spreadsheet is opened by colleagues using a different language. Several spreadsheet dashboard files were also reformatted to make future updates cleaner without changing their business content.
Internal VoIP calls made using extension numbers are now matched to the corresponding Odoo user. This helps employees recognize who is calling instead of seeing only an extension number.
Original PR description
**Purpose:** Improve the user experience by identifying internal calls made using extension numbers (voip usernames) by displaying the corresponding user's name. **Specification:** Enhance the get_contact_info method in the voip.call model to resolve internal extensions by matching the call's phone_number with the voip_username field on res.users. **Task**-4997542