Daily updates from Odoo
Friday, September 5, 2025
12 changes · master
New functionality added to Odoo
AI livechat agents can now collect customer contact details and create CRM leads when visitors ask for more information or request a follow-up. This helps sales teams capture opportunities directly from automated chat conversations, with better context and easier troubleshooting when AI tool actions fail.
Original PR description
Purpose: -------- This commit introduces 2 new bridge modules, ai_crm and ai_crm_livechat. The first module adds an AI topic that allows AI agents to create leads when the customer asks for more specific information about products, services, or wants to get contacted back. This topic comes with 2 tools: - the first allows to get the available lead parameters that the agent can chose from (currently teams and tags) - the second allows to create the lead, after having asked the customer's name, email and phone number. The second module adds this topic to the AI livechat agent (this agent is now a data record instead of a demo record). Leads can now be created by this agent when a customer chats with it. Task-5022760
Adds Lithuanian monthly tax and trade reporting support, including i.SAF, EC Sales List, VAT and Intrastat returns. This helps businesses in Lithuania prepare required government filings directly in Odoo, reducing manual reporting work.
Original PR description
Each month, users have to return the i.SAF. It's a simplified version of the SAFT, but for the taxes. They also have to return the EC Sales List and Intrastat So add returns for these 3. task-4893966
VoIP users can now record calls directly from the softphone experience. This helps businesses keep better call records for follow-up, quality review, and accountability.
Original PR description
Task-4417073
Belgian companies can now export annual statements in XBRL format for filing with the National Bank of Belgium. The update adds guided data entry for required filing details and can include payroll-related social balance sheet information when the payroll bridge module is installed.
Original PR description
This commit adds the ability to export annual reports in XBRL format to be able to file with NBB. XBRL button added in Annual Statements report for Belgian companies on the Belgian Annual Statements. The button opens a wizard for user input of required data needed by the XBRL export. New bridge module `l10n_be_reports_hr_payroll` added that depends on `l10n_be_reports` and `l10n_be_hr_payroll` and installed automatically when both are installed. The bridge module adds the social balance sheet data needed for the XBRL export. If the module is not installed, then the XBRL is generated without the social balance sheet information. The XBRL is generated from template files. Each XBRL model has a different template file. The XBRL model depends on the BS and PNL reports chosen in the Annual Statement reports (con or cap & abbr or full) and the type of the company (comp or assoc). Common tags are placed in a common template to avoid duplication. task-4866211
Enhancements to existing features
German point-of-sale exports now better match Fiskaly compliance requirements across VAT rates, gift cards, deposits, tips, discounts, customer account payments, and cash movements. This reduces manual setup and helps businesses produce more accurate regulatory export data for common checkout scenarios.
Original PR description
In this commit: ------------------- - A new field `l10n_de_vat_export_identifier` on tax records to store the correct Fiskaly Export ID. - Extended export logic that supports a wide range of common…
In this commit: ------------------- - A new field `l10n_de_vat_export_identifier` on tax records to store the correct Fiskaly Export ID. - Extended export logic that supports a wide range of common business scenarios. - Support for registering and using non-standard or manually configured tax entries as needed. **VAT Mapping Logic** By default, taxes follow the standard VAT definitions outlined in Fiskaly’s documentation: https://developer.fiskaly.com/api/dsfinvk/v1#tag/VAT-Definition - The export ID is automatically assigned for standard tax rates. - For custom or historical tax configurations, users can override the value manually. - Even non-standard or random tax records can be registered and used in compliant export formats. Special case for 0% VAT: - If the assigned tax grid is 21, 45, or not set → Export ID 5 (non-taxable) - Otherwise → Export ID 6 (0% but taxable) **Business Case Handling** The following POS business scenarios are now fully supported with accurate Fiskaly export types: **Gift Cards** - Sale → MehrzweckgutscheinKauf - Redemption → MehrzweckgutscheinEinloesung **Down Payments** - Payment → Anzahlungseinstellung - Liquidation → Anzahlungsaufloesung **Tips** - If 0% VAT with grid 21, 45, or no tax → Tip to employee → TrinkgeldAN - All others → Tip to employer → TrinkgeldAG **Discounts** - Global discount → Rabatt - Line-level discounts handled via `discounts_per_vat_id` **Customer Account (Receivable) Payments** - Deposits into customer account → MehrzweckgutscheinKauf - Payments via customer account: - Adjustment line (0 payment) → MehrzweckgutscheinEinloesung or Forderungsentstehung - Main sale line → Umsatz (Consider as normal sale) - Settlements: - If invoiced → Forderungsaufloesung - If not invoiced → MehrzweckgutscheinKauf **Cash Discrepancies** - Exported appropriately based on over/short **Cash Movements (via cash_flow_reason)** - Private Reason - Cash Transfer - Payout / Deposit - Wage Payment / Cash Supplement These enhancements ensure that a wide range of real-world POS operations are supported out-of-the-box, making it easier for users in Germany to stay compliant with Fiskaly export requirements. Task: 4660560
The Knowledge app interface has been streamlined, especially on mobile, by moving secondary actions into a More Options menu and making permission management easier to use in a full-screen view. Permission labels, avatar displays, sidebar behavior, and demo content were also improved to make the experience clearer, more polished, and more privacy-conscious.
Original PR description
This pull request introduces several user interface enhancements, with a strong emphasis on improving usability on **mobile devices**: - **Top Bar Redesign**: The top bar has been restructured to…
This pull request introduces several user interface enhancements, with a strong emphasis on improving usability on **mobile devices**: - **Top Bar Redesign**: The top bar has been restructured to enhance the mobile experience. On smaller screens, buttons for toggling the property panel, chatter, comments, and adding/removing articles from favorites have been moved into a consolidated "More Options" menu. This change creates more space for displaying the article hierarchy and breadcrumb navigation, improving readability and navigation clarity. - **Permission Panel as Full-Screen Modal**: Previously displayed as a popover, the permission panel will now open as a full-screen modal on mobile devices. This update reduces the risk of accidental closure and offers a more focused, user-friendly interface for managing permissions. - **Clearer Permission Labeling**: To address confusion around the internal "none" permission setting, the label has been updated to "Members only". This change makes it clear that access is restricted to member sets defined on the article. - **Enhanced Avatar Display**: Portal users will now see actual member avatars instead of generic user icons. This update adds a personal touch and improves visual engagement throughout the interface. - **UI Refinements**: Minor but impactful adjustments have been made, including correcting element misalignments and introducing clearer visual cues to guide users more effectively through the interface. Task-4636494
French VAT and Intrastat returns are now integrated into the account return workflow, allowing users to submit declarations directly from the return screen. The update also keeps French tax return PDFs consistent after reimbursement submissions and improves return period selection when multiple country-specific Intrastat returns exist.
Original PR description
[IMP] l10n_fr_reports, l10n_fr_intrastat: Account returns integrations Add account return integrations for France: - Vat Return - Intrastat This includes the VAT EDI integrations in account return.…
[IMP] l10n_fr_reports, l10n_fr_intrastat: Account returns integrations
Add account return integrations for France:
- Vat Return
- Intrastat
This includes the VAT EDI integrations in account return. Now you can directly submit your vat declarations from an account return.
The submit button on account return now opens directly the EDI VAT wizard, so the user can submit automatically from there. Once the submission is properly done, we mark the return as Submitted.
Same goes for intrastat.
task-4844276
[FIX] l10n_fr_reports: fix tax report pdf inconsistency
When you validate a tax return, it will lock the date and generate the pdf for the tax report.
In France with the edi, if you have to send a reimbursement declaration, the remaining value of this reimbursement will be carryover for the next period, moving the value from line 27 to line 26.
With this change, the pdf of the report will change as well, but we still keep the old pdf in the return attachments, which mean we have 2 pdf with different values for the same tax period.
With this commit, we regenerate the pdf once the reimbursement declaration is sent, with the good values.
Also, if the user reset the account return, the external value originally created when validating is deleted.
task-4844276, task-4932427
[FIX] account_reports: fix return periodicity options
Return periodicity options are supposed to be used to define the report period when opening it from account return.
But in some cases like Intrastat, if you have multiple localizations with intrastat return type, we won't generate the return periodicity options, as we only do if we have 1 return type.
This commit add a new condition on return type we use, checking the country. So if we have one return type for intrastat BE, and one for intrastat FR, we take the good return type based on env company.
IMPORTANT: from now on, each new localization return type should define a country on it.
no-task
[IMP] account_reports: export_file next_action
By default, export_file action in account reports return a 'ir.actions.act_window_close' action.
This commit adds the 'next_action' params to the export_file function, letting the dev choose a different action to execute after the export is done.
no-task
[IMP] account_reports: add new action_reset
Add a new action_reset function to deal with 2 states (submitted, reviewed) reports. This function comes from l10n_be_reports and will be used mainly for intrastat.
no-taskEmployee document folders are reorganized so payroll, contracts, fleet, and related HR documents are easier to find from the employee record. Access rules are tightened so only HR users can open employee folders through the smart button, while link-based access is still supported where configured.
Hong Kong payroll now better supports local employment rules, including severance, long service payments, MPF offsetting, paternity leave, and Average Daily Wage calculations. Businesses gain more flexible end-of-year pay settings and clearer payslip information, helping payroll teams calculate statutory payments more accurately.
Original PR description
Various updates and improvements have been made to make the Hong Kong payroll more usable. - Small code cleanup to rename some fields, add some comments and docstrings,... - Update the computation of Severance Pay/Long Service Pay to handle the MPF Offset abolition correctly. - Adds support for MPF Offsetting. - Create a field to hold the Average Daily Wage amount and display it on the payslip. - Improve End-Of-Year pay to make it more flexible, adding a new setting allowing users to choose the month of pay or disable the feature. Also, allows enabling/disabling the pay per payslip. - Improve the computation of work entries affected by the 713 Ordinance. task-5004835
The rental schedule is now an interactive planning view instead of a static report. Business users can reschedule rentals, adjust durations, change key planning details, and create new orders directly from the schedule, improving logistics coordination.
Original PR description
This commit reworks the rental schedule/planning to make it editable. Previously, the schedule was a static report view of the orders, which made it impossible to reschedule, modify, or create new orders. This limitation hindered logistics organization. With this commit, we replace the custom report model with a Gantt view of `sale.order.line`. The following improvements are introduced: - Users can move order lines left or right to reschedule orders or adjust their duration. - Users can move order lines up or down to change the product, customer, or reserved serial number. - Users can create new orders directly from the schedule view. task-4720184 See also: - https://github.com/odoo/odoo/pull/224751 - https://github.com/odoo/odoo/pull/216161 - https://github.com/odoo/upgrade/pull/8347
This update makes the Mexican customs invoicing workflow more reliable by letting users choose the delivered lots or serial numbers and quantities to invoice. It helps businesses better track which imported goods and customs numbers are reported to SAT, especially when returns are involved.
Original PR description
Previous this commit, the customs workflow was somewhat of a mess. Currently we depended of the origin movements linked to the valuation layer created when delivering stock to a customer to be able to compute the customs numbers to be invoiced. This caused issues for tracking and knowing what and how many is being invoiced and sent to the SAT with the CFDI. This issue is magnified if customer uses returns which breaks the whole original workflow. From this commit this is now reworked so that user can select what is invoiced using Lot/SN(s) delivered. The user can link a landed cost and its customs number to a lot by selecting the transfer or manually selecting the landed cost on the lot An option is added at product level to be able to select the lots and the quantity on an invoice line target: master task-3731106
Users can now upload a new PDF directly from the signature request flow, edit it for signing, and send it without first creating a separate template in the Sign app. The wizard is cleaner and more flexible, with relevant fields shown at the right time, support for Documents uploads, AI-assisted messages, better email subjects, and scheduled sending.
Original PR description
_* = hr_sign, documents_sign Before: - Users could only send documents for signing using existing templates. - To send a new document, they had to go to the Sign app, upload the PDF, create a…
_* = hr_sign, documents_sign Before: - Users could only send documents for signing using existing templates. - To send a new document, they had to go to the Sign app, upload the PDF, create a template, and then send it. - All fields in the wizard were shown even if no template was selected. - A separate section (notebook) was used to add contacts in copy. - Subject of the mail send to signer was not containing details related to reference record. - Upload PDF button was visible to user from wizard when user click on search more in templates. which was of no use as it was not liking base record with referrence_doc. - Users couldn’t upload files from the Documents app when sending a document for signature. - Users couldn’t use AI to help write the message when requesting a signature. - Users couldn’t schedule the email for the sign request. After: - Added a new button in the signature request wizard that lets users upload a PDF directly and edit it in sign app. without need to manually go to sign app then upload pdf and later use it. - Too achieve that Reused an existing widget from hr_sign and moved it to the sign module to make it available for broader use. - Fields in the wizard now appear only after a template is selected or available by default. - Removed the extra notebook section and combined all fields in one place for a cleaner layout. - Add detail of reference record in subject of email send to signer. - Now users can upload files from the Documents app when sending for signature. - Users can use AI to draft the message. - Rename field 'message' to 'body' to make it compatible with `mail_composer_chatgpt` wizard. - Users can schedule the sign request email to be sent later. Impact: - Makes the document signing process faster and easier for users. - Reduces the number of steps needed to send a new document for signature. - Provides a smoother and more user-friendly interface. - Helps avoid confusion by only showing relevant fields when needed. - Users can attach the right files directly, get AI help for messages, and plan exactly when the request should be sent. task-4942867