Daily updates from Odoo
Friday, December 5, 2025
13 changes
1 change
Enhancements to existing features
This update enhances the handling of Chilean electronic invoices by ensuring correct folio number management based on available CAF files. It also strengthens data validation for certificate information, specifically requiring a valid owner document to meet SII validation requirements. This improves data integrity and compliance.
Original PR description
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the…
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the codebase. The most significant changes focus on ensuring that document folio numbers are correctly managed in accordance with available CAFs, making the certificate model more robust, and updating code style for clarity and consistency. This improvement is mostly made because CAFs have expiration dates and fixed folio numbers. If the expiration date is reached but the folios were not fully consumed, the system will try to generate a document with following number in the sequence but an error will be raised because that number belongs to an expired CAF, althought the user had already uploaded a new CAF. To fix this, whenever the system looks for the highest number to set to a document, it previously check if that number is between the folio numbers of a valid CAF file. ### Chilean electronic document sequence management * Added `_get_last_sequence` method to `account_move.py` to ensure that the folio number used for Chilean electronic documents (DTE) is valid and corresponds to an available CAF. If no CAF is available for the current folio, the sequence is reset using the document type's prefix and starting number. ### Certificate model validation * Made `subject_serial_number` a required field in the `Certificate` model, enforcing that every certificate has a valid owner document and improving data integrity. We made this change to prevent the field being empty after loading the certificate in Odoo, since it is required by the SII to validate invoices. Forward-Port-Of: odoo/enterprise#92208
1 change
Enhancements to existing features
This update enhances the handling of Chilean electronic invoices by ensuring document folio numbers align with available CAF files. A key change requires a valid owner document (subject_serial_number) for certificates, improving data integrity and compliance with SII regulations. This resolves an issue where expired CAF folio numbers caused errors and ensures accurate invoice processing.
Original PR description
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the…
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the codebase. The most significant changes focus on ensuring that document folio numbers are correctly managed in accordance with available CAFs, making the certificate model more robust, and updating code style for clarity and consistency. This improvement is mostly made because CAFs have expiration dates and fixed folio numbers. If the expiration date is reached but the folios were not fully consumed, the system will try to generate a document with following number in the sequence but an error will be raised because that number belongs to an expired CAF, althought the user had already uploaded a new CAF. To fix this, whenever the system looks for the highest number to set to a document, it previously check if that number is between the folio numbers of a valid CAF file. ### Chilean electronic document sequence management * Added `_get_last_sequence` method to `account_move.py` to ensure that the folio number used for Chilean electronic documents (DTE) is valid and corresponds to an available CAF. If no CAF is available for the current folio, the sequence is reset using the document type's prefix and starting number. ### Certificate model validation * Made `subject_serial_number` a required field in the `Certificate` model, enforcing that every certificate has a valid owner document and improving data integrity. We made this change to prevent the field being empty after loading the certificate in Odoo, since it is required by the SII to validate invoices. Forward-Port-Of: odoo/enterprise#92208
1 change
Enhancements to existing features
This update enhances the handling of Chilean electronic invoices by ensuring document folio numbers align with available CAF files. A new validation rule requires a valid owner document for certificates, improving data accuracy and compliance with SII regulations. These changes increase the reliability of invoice processing for Chilean businesses.
Original PR description
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the…
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the codebase. The most significant changes focus on ensuring that document folio numbers are correctly managed in accordance with available CAFs, making the certificate model more robust, and updating code style for clarity and consistency. This improvement is mostly made because CAFs have expiration dates and fixed folio numbers. If the expiration date is reached but the folios were not fully consumed, the system will try to generate a document with following number in the sequence but an error will be raised because that number belongs to an expired CAF, althought the user had already uploaded a new CAF. To fix this, whenever the system looks for the highest number to set to a document, it previously check if that number is between the folio numbers of a valid CAF file. ### Chilean electronic document sequence management * Added `_get_last_sequence` method to `account_move.py` to ensure that the folio number used for Chilean electronic documents (DTE) is valid and corresponds to an available CAF. If no CAF is available for the current folio, the sequence is reset using the document type's prefix and starting number. ### Certificate model validation * Made `subject_serial_number` a required field in the `Certificate` model, enforcing that every certificate has a valid owner document and improving data integrity. We made this change to prevent the field being empty after loading the certificate in Odoo, since it is required by the SII to validate invoices. Forward-Port-Of: odoo/enterprise#92208
6 changes
Enhancements to existing features
This update enables administrators to modify the work entries associated with payslips that have been reversed or refunded. Previously, these entries were immutable. This change improves operational efficiency by allowing corrections to be made directly within the system through the user interface.
Original PR description
-Originally, work entries for validated payslips cannot be modified. -This task allows for the modification of the work entries for the reverted payslips. -State of work entries can be modified manually through list view + form view on gear icons Task-id: #5380821
This update improves the AI live chat experience by enabling real-time streaming of AI responses to users. The system now displays 'AI is thinking...' messages while the AI processes requests, providing a more responsive and informative user experience. This change streamlines the AI interaction flow and enhances user engagement.
Original PR description
Convert the LLM processing loop in LLMApiService to a generator that yields (done, text_response) tuples, enabling real-time streaming of AI responses to clients. Key changes: - _request_llm_gen…
Convert the LLM processing loop in LLMApiService to a generator that yields (done, text_response) tuples, enabling real-time streaming of AI responses to clients. Key changes: - _request_llm_gen yields intermediate text responses during tool execution, allowing callers to stream progress updates - Introduce AITool NamedTuple to replace ad-hoc tuples, improving code clarity and enabling subtitle extraction from tool descriptions - Add "thinking text" mechanism using tool subtitles (parsed from `**Tool Thinking Message: <text>**`) to show users what the AI is processing - Move HTML conversion (markdown_format) out of _generate_response, making it the caller's responsibility - Add _call_tool method to LLMApiService for runtime introspection by other packages - Update /ai/generate_response endpoint to use HTTP streaming instead of JSON-RPC - Adapt JS to consume streamed responses and display thinking text Tests updated to consume generators before asserting results. TASK-ID: 5153674
This update improves how bank statement PDFs are handled within Odoo. When a PDF attachment is linked to a bank statement and synchronization is enabled, a corresponding document is automatically created in the Documents app, mirroring the journal's settings. This allows for easier retrieval of bank statements, similar to handling XML attachments.
Original PR description
[IMP] documents_account, test_documents_full: sync bank statement attachment When creating PDF (only) attachments linked to a bank statement and the document synchronization is configured for the…
[IMP] documents_account, test_documents_full: sync bank statement attachment When creating PDF (only) attachments linked to a bank statement and the document synchronization is configured for the journal of the statement, we create a document linked to the attachment following the synchronization settings of the journal (in the configured folder). This is similar to what is done for xml attachment for account move entry. The goal is to have PDF document of the bank statement in the app Document (ex.: when fetching coda from codabox, see TestDocumentsCodabox.test_codabox_file_import_document_creation). Note that we use the statement create_uid as owner of the created document and the create_uid.partner_id as partner_id. [MOV] l10n_be_codabox: extract test setup to use in test_documents_full We extract the setup of the tests so that we can test the document synchronization when fetching coda file in test_documents_full which ensures that documents_account is installed. Task-5187510 *: l10n_be_codabox, test_documents_full
This update enhances the user interface for managing work entries within Odoo, streamlining workflows and improving usability. The changes include a reorganized layout, a simplified editing process, and added features like source links for better tracking and reporting. This improves efficiency for HR and payroll teams.
Original PR description
*={_attendance,_enterprise,_holidays_enterprise,_planning}
- split MultiSelectButtons in 2:
- standard tools on the left
- quickAction on the right
- Use the multiCreateForm for the edit popover
- Allow the split by uncollapsing the current edited work entry to have a new empty record ready to be created
- Creation of a service to use the same popover behavior in calendar & gantt.
- Add a source link/text on each work entry
task-5122722This update enhances the way location units are managed within Odoo's payroll system for Belgium (l10n_be_hr_payroll). Specifically, it prevents data loss related to company information on payslips and introduces a new, more organized structure for managing fictitious location units used by the ONSS system. This ensures accurate payroll calculations and reporting.
This update enhances the handling of Chilean electronic invoices by ensuring document folio numbers align with available CAF files. A key change requires a valid owner document (subject_serial_number) for certificates, improving data integrity and compliance with SII regulations. This ensures accurate invoice processing and avoids errors related to expired CAF files.
Original PR description
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the…
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the codebase. The most significant changes focus on ensuring that document folio numbers are correctly managed in accordance with available CAFs, making the certificate model more robust, and updating code style for clarity and consistency. This improvement is mostly made because CAFs have expiration dates and fixed folio numbers. If the expiration date is reached but the folios were not fully consumed, the system will try to generate a document with following number in the sequence but an error will be raised because that number belongs to an expired CAF, althought the user had already uploaded a new CAF. To fix this, whenever the system looks for the highest number to set to a document, it previously check if that number is between the folio numbers of a valid CAF file. ### Chilean electronic document sequence management * Added `_get_last_sequence` method to `account_move.py` to ensure that the folio number used for Chilean electronic documents (DTE) is valid and corresponds to an available CAF. If no CAF is available for the current folio, the sequence is reset using the document type's prefix and starting number. ### Certificate model validation * Made `subject_serial_number` a required field in the `Certificate` model, enforcing that every certificate has a valid owner document and improving data integrity. We made this change to prevent the field being empty after loading the certificate in Odoo, since it is required by the SII to validate invoices. Forward-Port-Of: odoo/enterprise#92208
3 changes
Enhancements to existing features
This update enhances the handling of Chilean electronic invoices by ensuring folio numbers align with available CAF files. A new validation rule requires a valid owner document for certificates, improving data accuracy and compliance with SII regulations. These changes contribute to smoother invoice processing and reduced errors.
Original PR description
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the…
This pull request introduces improvements to the handling of Chilean electronic document sequences, enforces stricter validation for certificate data, and modernizes string formatting throughout the codebase. The most significant changes focus on ensuring that document folio numbers are correctly managed in accordance with available CAFs, making the certificate model more robust, and updating code style for clarity and consistency. This improvement is mostly made because CAFs have expiration dates and fixed folio numbers. If the expiration date is reached but the folios were not fully consumed, the system will try to generate a document with following number in the sequence but an error will be raised because that number belongs to an expired CAF, althought the user had already uploaded a new CAF. To fix this, whenever the system looks for the highest number to set to a document, it previously check if that number is between the folio numbers of a valid CAF file. ### Chilean electronic document sequence management * Added `_get_last_sequence` method to `account_move.py` to ensure that the folio number used for Chilean electronic documents (DTE) is valid and corresponds to an available CAF. If no CAF is available for the current folio, the sequence is reset using the document type's prefix and starting number. ### Certificate model validation * Made `subject_serial_number` a required field in the `Certificate` model, enforcing that every certificate has a valid owner document and improving data integrity. We made this change to prevent the field being empty after loading the certificate in Odoo, since it is required by the SII to validate invoices. Forward-Port-Of: odoo/enterprise#92208
This update significantly speeds up the process of retrieving product information, particularly when configuring products. By using a batch processing method, the system now completes this task in just 0.8 seconds, compared to 2.7 seconds previously – a 70% improvement. This change enhances the user experience and overall system performance.
Original PR description
Performing read operations on attributes and values in batch yields a significant performance improvement and is standard practice. Tested with 60 attributes and 8000 values: went from 2.7s to 0.8s (-70%) No task --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#237037 Forward-Port-Of: odoo/odoo#235170
This update automatically opens the Return creation wizard when generating reports with no existing returns, eliminating the need for users to manually re-enter information. This improves efficiency and reduces the time spent on report generation, particularly for Intrastat and standard reports.
Original PR description
Currently, accessing the 'Returns' view from a report with no existing returns shows an empty list. The user then has to click 'New' and manually re-enter values like dates and the report itself, which are already known. This commit improves the workflow. If no returns exist for the current report, the system will now automatically open the Return creation wizard pre-filled with the corresponding default values derived from the report context. This removes the redundant data entry step for the user. task-5155832
1 change
Enhancements to existing features
This update ensures that the total tax paid by the company, which is then claimed as a refund, is accurately included in the reports submitted to the government. This change aligns the GSTR export data with the company's tax payment records, improving reporting accuracy and compliance. It addresses a requirement for complete and accurate tax reporting.
Original PR description
Here we are not collecting tax from the customer but the company has pay taxes to the goverment and after that the company can claim refund for the taxes. So when we are sending report data to goverment then we need to include tax part into the invoice total task-5369117