Daily updates from Odoo
Navigate
Branch
Thursday, April 18, 2024
341 changes
New functionality added to Odoo
Planning now includes an employee capacity report that shows available capacity, utilization, over-allocation, and time off. This helps managers quickly understand workload distribution and make better staffing decisions.
Original PR description
We create a new "employees" capacity report, providing additional measures on: - The capacity and utilization of resources, to easily identify who is still available or who has been allocated too much work - The time off taken by the employees, to help the user understand the distribution of hours See task-2784246
Payroll now includes a dedicated salary assignment area, making it easier to track and manage employee salary-related assignments. This helps HR teams keep payroll administration more organized and accessible from the Payroll menu.
Odoo Social now supports connecting Pinterest accounts, allowing users to create pins and boards and monitor Pinterest activity from within Odoo. This expands social media management options for businesses using Odoo, with standard subscription-based access and an advanced option for using a custom Pinterest application.
Original PR description
This commit introduces the Pinterest media implementation for the social app. It uses the Pinterest REST API to connect to your Pinterest account and allow users to: - Add new pins on your Pinterest account - Add new boards on your Pinterest account - Monitor pins from your Pinterest account - ... Users will have to connect their Pinterest account to Odoo. (See commit that introduces the social app for more details.) ------- Advanced usage: If you want to use your own Pinterest account, instead of built in IAP usage that requires an enterprise subscription: Users must connect Odoo with their Pinterest account using a Pinterest Application. (Pinterest App information: https://developers.pinterest.com/) ------- Task#2089553
Odoo now supports financial factoring for Mexican electronic invoicing, allowing payment complements to be issued in the financial factor's name while keeping normal administrative records tied to the original customer. This helps Mexican businesses comply with SAT requirements as factoring becomes more common and avoids needing unsupported SaaS customizations.
Original PR description
[Financial Factoring ](https://en.wikipedia.org/wiki/Factoring_(finance)) > Factoring is a financial transaction and a type of debtor finance in which a business sells its accounts receivable (i.e., invoices) to a third party (called a factor) at a discount.[ Payment complement shall be emitted in financial factor's name instead of the original customer's name, but Odoo from an administrative stand point can stay as it is (At least for Mexico). The process is described [here](http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Guia_comple_pagos.pdf) at page 58. Note: This was not common in Mexico before, but it is becomming really common now and it is impossible to do by customizations on the saas, that why this module is necessary. Ticket #1891464 Based on [this](https://github.com/odoo/enterprise/pull/3442) PR for v11
This change introduces a new Planning app to schedule employees, manage recurring shifts, and report on planned work. Managers get dedicated scheduling tools, open shift handling, and external pages that let staff view or take available shifts more easily.
Businesses can now save preferred Mexican e-invoicing payment method and usage values on each customer record. New invoices, payments, and bank statement entries for that customer will use those values automatically, reducing repeated manual entry and helping meet customer-specific billing requirements.
Original PR description
The invoice has the next attributes: - Payment method - Usage That values are defined by the customer, and in many cases is necessary use the same value always. For example: The customer Vauxoo requires that all the invoices received have the payment method '03' and the Usage 'I06', in this case, could be defined this values in the partner, and all the Invoices/Payments to Vauxoo will to have this values by default. The payment method is assigned in the payment & bank statement. Note: Is inherit the method `create` for cases when the invoice comes from a sale order, and the values must be assigned in the new invoice.
The Social app now groups posts by campaign and tracks links with campaign information. Businesses can measure leads, opportunities, quotations, and revenue generated from social campaigns and individual posts.
Original PR description
This PR adds UTMs + sale and crm statistics to the social app Social posts will now be organized by campaign and the links they contain will be correctly tracked. This will allow us to make statistics on lead/opportunity creation, quotations creation and the revenue made by the campaign itself. Each social post will also have those statistics Task ID: 2045210
This update adds social marketing capabilities for sending push notifications directly to website visitors who opt in. It helps businesses re-engage visitors through a new communication channel alongside social posting, while also cleaning up older lead tracking behavior now handled through website visitor records.
Introduces a dedicated Planning app for managing employee shifts, roles, recurring schedules, and templates. Employees can access external pages to view, take, or leave shifts, while managers get improved Gantt planning tools and fixes that reduce scheduling errors.
Adds a dedicated employee referral module to help staff share open jobs, follow referral stages, and receive onboarding guidance. The update supports broader recruitment reach with sharing tools, campaign tracking, demo data, and reporting for business visibility.
This pull request adds a Vietnam-specific reporting module so businesses operating in Vietnam can access localized financial reports in Odoo. It includes the report definitions and Vietnamese translations needed to support local accounting and compliance workflows.
Original PR description
Task : https://www.odoo.com/web?#id=35681&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad : https://pad.odoo.com/p/r.07a39d910d6a7824ba667a2fffee67a7
Luxembourg companies can now generate both full and abridged Balance Sheet and Profit and Loss reports using the official 2016 formats. The reports are also available in French and German, helping local businesses meet reporting requirements more easily.
Original PR description
task: https://www.odoo.com/web#id=1917935&action=327&model=project.task&view_type=form&menu_id=4720 pad: https://pad.odoo.com/p/r.1c7f28f8040717c7c826db9a66898f4f
Adds a New Zealand GST101A tax return report so businesses can prepare GST filing information directly in Odoo. This helps New Zealand companies align their reporting with local tax return requirements and reduces manual preparation work.
Original PR description
task# 1915420 related community PR https://github.com/odoo/odoo/pull/29766 Related Task : https://www.odoo.com/web?#id=1915420&action=327&model=project.task&view_type=form&menu_id=4720 Pad : https://pad.odoo.com/p/r.9047eb7a38e4b7b38c6b0e553dbb5367
Odoo now includes Turkish BA/BS monthly sales and purchase reporting, helping businesses prepare required submissions to local authorities for transactions above the reporting threshold. The update also adds Turkish balance sheet and profit and loss reporting to improve local accounting compliance.
Original PR description
Task ID: [2784881](https://www.odoo.com/web#id=2784881&menu_id=3940&cids=1&action=4043&model=project.task&view_type=form)
Users can now insert spreadsheet documents directly into Knowledge articles using a new spreadsheet command or button. This makes it easier to combine written guidance with live reports or data in one shared article.
Original PR description
This PR will allow the user to embed a spreadsheet document into a Knowledge article. This new feature can be really useful for users wanting to integrate reports or data in an article. task-2796155
Knowledge users can now hide selected files from their own menu, making it easier to keep their workspace focused without affecting what others see. This adds a personal curation option for Knowledge content and updates related portal/helpdesk integrations and tests.
Original PR description
We are adding the possibility to hide files for each user task-2900465
Enhancements to existing features
Users can no longer duplicate payslips, preventing accidental creation of multiple payslips for the same employee and pay period. This helps reduce payroll errors and keeps employee payroll records cleaner.
Original PR description
If a user duplicate a payslip, this payslip will have the same period and the same employee; it will create multiple payslips for the same period for the same user. It's why, the duplicate option is removed. task-3820229
Discuss now shows breadcrumbs, making it easier for users to move back through their navigation path. This improves usability by helping users keep context and return to previous areas more quickly.
Original PR description
This commit adds breadcrumbs to Discuss page, so that users can easily browse backwards. [Community PR](https://github.com/odoo/odoo/pull/153802) Task-3734245
The event Twitter wall configuration screens were adjusted to keep working after a related website event registration option was removed. This prevents configuration layout issues and helps ensure the feature remains usable during upgrades.
Original PR description
Adapt xpath in order to handle the removal of the `menu_register_cta` in community . Community: - https://github.com/odoo/odoo/pull/158545 Upgrade: - https://github.com/odoo/upgrade/pull/5848 task-3820273
Quality teams can now use Next and Previous buttons while reviewing worksheet-based quality checks. This lets users move between all quality control points without leaving the quality check wizard, making inspections smoother and faster.
Original PR description
This PR adds "Next" and "Previous" buttons to the quality checks flow in case the control point was of type "Worksheet". Therefore, users now can review quality points of type "Worksheet" and move between quality control points of all types without exiting the quality check wizard. Task-3635995
This update improves performance by reducing unnecessary links between user accounts and contact records. It helps large databases handle user searches and access checks more efficiently, with related updates across appointment, payroll, invoicing, subscriptions, and mail activity tests.
When a project’s sales order line is corrected, uninvoiced timesheet entries are now moved to the new line automatically. This reduces manual cleanup and helps ensure future billing is tied to the right sales order line.
Original PR description
Description of the issue/feature this PR addresses: There is no easy way to re-assign the time sheets to the correct SOL (changing the task's SOL does not change the non-invoiced time sheets automatically) Current behavior before PR: On a project, if a user put a wrong sale order line, and after that he changes this SOL, the timesheet line will not be moved. Desired behavior after PR is merged: On a project, if a user put a wrong sale order line, and after that he change this SOL, all non invoiced timesheet line will be moved to new line. TaskId: 2144703
Project planning now shows how many hours were originally planned for a task and how many have already been forecast, making workload planning easier. Forecast entries are also linked directly to their related tasks, helping teams navigate between planning and task details more quickly.
Original PR description
Currently, when forecasting resources for a task, there is no clear overview of the number of hours initially planned and what was already forecasted. This makes planning difficult. In addition, there is no direct link between the task and the forecast. id=1985510
Inventory users can now find transfers by searching for a product's barcode, not just product names or other product details. This makes it faster to locate relevant transfers when working with scanned items or barcode-based warehouse processes.
Original PR description
Task: https://www.odoo.com/web#id=2144636&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.25fbfdd24f92cda9559acded08742e61
Event teams can now view events on a map and manage attendee check-ins more flexibly from the barcode interface, including registering attendees for other ongoing events. The update also corrects how initial event dates are calculated, helping schedules display more reliably.
Original PR description
TODO
Helpdesk users can now turn wrongly routed customer inquiries into CRM leads from the ticket, carrying over customer contact details and assigning sales ownership. The update also ensures lead-to-ticket actions only appear for users with the right Helpdesk access, reducing confusion and permission issues.
Original PR description
Purpose ======= Some business inquieries end up in the Helpdesk pipeline by mistake. There is no direct way to convert those tickets into leads. In addition, there is an access right issue on the…
Purpose ======= Some business inquieries end up in the Helpdesk pipeline by mistake. There is no direct way to convert those tickets into leads. In addition, there is an access right issue on the current 'convert to ticket' button displayed on leads if the user doesn't have the Helpdesk > User access right level. Specifications ============== In Helpdesk ----------- - Add a 'fa-star Convert to Lead' button in non-primary on Helpdesk tickets - Only visible if: - the user has at least the Sales > Own Documents only access right level - the CRM app is installed - the 'Leads' feature is active - Open a modal with the following fields when clicking on the button: - Customer (should be prefilled with the info from the ticket) - Sales Team - Salesperson - If the user confirms, convert the ticket into a lead: populate the title, description and customer info (name, email, phone, mobile) based on the ticket - Add a Phone and a Mobile fields below the Customer Email one on helpdesk tickets In CRM ------ - The 'Convert to ticket' button on leads should only be displayed if the user has at least the Helpdesk > User access rights - Change the icon in front of the button to fa-life-ring - Put the 'Lead to Tickets' module in autoinstall when CRM + Helpdesk are installed TaskID: 2083049
Fleet access is now better aligned with employee and fleet roles. Fleet administrators retain full visibility, fleet users get appropriate vehicle access, and employees can view their assigned car and request eligible models from their profile.
Original PR description
Pad: https://pad.odoo.com/p/r.d4f0b5078c80af04780c7dfb1853c446 Task: https://www.odoo.com/web?#id=2144728&action=327&model=project.task&view_type=form&menu_id=4720
Field Service tasks now better support products tracked by lot or serial number, including selecting or removing the right tracking number from the task view. Stock movements also respect source locations, avoid removing already delivered items, and validate related multi-step deliveries when the task is completed.
Original PR description
Purpose ======= When a Field Service task is marked as done, the stock pickings linked to the SO are automatically confirmed. This flow works fine with a basic stock configuration, but it doesn't handle products tracked by Lots / Serial Numbers or multi-warehouse/locations set-ups. Specifications =============== 1. Products tracked by lots or by serial number Display products tracked by lots or by serial number among the products selectable from a task. Manage SN from this kanban view, open a modal to select/remove a corresponding serial number. If a lot/sn is set through the modal, set the same value on the stock.picking. 2. Avoid to remove already delivered products. 3. Source Location Add a 'Source Location' field on the fsm task, it must be consistent with SO and picking. 4. Multi-step routes: each picking should be validated when validation of FSM Task. TaskID: 2081191
This update brings the Chilean payroll localization and related HR contract screens in line with Odoo 12. It refreshes payroll setup data, salary structures, contract details, and reporting components so payroll teams can continue using the localization after the version upgrade.
Belgian payroll now keeps a record of all generated 281.10 and 281.45 tax sheets for employees. This helps payroll teams retain better documentation and access historical tax forms more reliably.
Original PR description
TaskID: 2034472
Indian payroll salary reports were adjusted to match a platform change in how report links are opened. This helps keep monthly and yearly salary report access reliable after the underlying reporting behavior changed.
Original PR description
Task : https://www.odoo.com/web#id=21893&model=project.task&view_type=form&menu_id=5195 Pad : https://pad.odoo.com/p/r.97f1361bd170f477b107f1b8836d4bd4
This update modernizes how several Odoo Enterprise apps handle and display exceptions, aligning them with changes in the core platform. It helps keep banking, payments, delivery, sales, manufacturing, and reporting flows reliable after the underlying error mechanism changed.
Original PR description
Complements https://github.com/odoo/odoo/pull/40669
Several country-specific financial reporting modules are now placed under the Accounting category instead of broader localization categories. This makes these reporting features easier for accounting users to find and aligns their presentation with their purpose.
Original PR description
Task: https://www.odoo.com/web#id=2048019&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.39e3084be7880f57842e2dfa1b03a2c7
Loyalty program discounts now behave consistently when an order contains products with different tax rates. This improves checkout accuracy and helps ensure discounts are calculated fairly and predictably for customers and retailers.
Original PR description
https://www.odoo.com/web#id=1981188&action=333&active_id=1737&model=project.task&view_type=form&menu_id=4720
This update strengthens automated checks around rental, stock rental, subscription, and SEPA subscription flows. It helps reduce the risk of future changes disrupting important sales and billing scenarios, with no direct change to day-to-day user workflows.
Original PR description
Task : https://www.odoo.com/web?#id=2075587&action=327&model=project.task&view_type=form&menu_id=4720 Pad : https://pad.odoo.com/p/r.c0f83c791f9abd6f327578844df464dc
Payroll processing is made more flexible by reducing its dependency on time off and work entry apps. Businesses can now manually enter worked days on payslips and still have salary amounts recalculated correctly, making payroll easier for users who only need payslips and accounting entries.
Original PR description
Payroll depend on time off and work entries, it limits people or fiduciaries who just want to generate payslip and make accounting entries. All amount of work days are computed on the payslip. So we can enter manually worked days and all amounts will be recomputed based on monthly salary and structure (for paid and unpaid work entry type). id=2092248
The project forecasting sample data has been refreshed so demonstrations better reflect the latest forecasting tools. This helps users and sales teams see more relevant examples when exploring or presenting the feature.
Original PR description
purpose of this commit is to change the demo data as it is a bit outdated and doesn't showcase our new forecasting tools. So, improved demo data. Task: https://www.odoo.com/web#id=2024631&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.da7006e84213fe1bcaf4632d6d01af8d
The timesheet app now shows favorite projects first and adds a “search more” option when additional projects are available. This helps users quickly pick common projects while still making it easy to find less-used ones without cluttering the dropdown.
Original PR description
Task: https://www.odoo.com/web?debug=1#id=49283&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.8a1da41bad626871ba09689432f33434
The sale renting test suite was updated so it no longer depends on demo data being installed. This helps ensure the rental sales module can be validated reliably in cleaner business environments and reduces false test failures.
Original PR description
<b>Task:</b> https://www.odoo.com/web?#id=2037858&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 <b>Pad:</b> https://pad.odoo.com/p/r.2ac4fef60bb8ce7ca804c044eab286de
The eCommerce dashboard now uses the same website-based filtering as the Orders menu, so order figures are more consistent across views. This makes the dashboard more reliable for comparing online sales activity by website.
This update makes field service easier to plan and manage with clearer labels, better scheduling defaults, and more reliable timer behavior. It also lets helpdesk teams turn support tickets into field service tasks, improving follow-up when customer issues require on-site work.
Original PR description
Provides several improvements to the fsm applications such as - renaming - makig some project fields required - altering demo data - technical improvements - wizards to link material to tasks and projects
Forecast planning is easier to monitor with clearer hour totals on tasks and forecast forms. Creating forecasts is also smoother, with fewer validation issues and better project pre-filling when working from a specific project.
Original PR description
This PR brings some small improvements in Forecast : - add Forecasted Hours and Remaining Hours fields in respectively Task and Forecast form views to improve the monitoring of the ratio between planned and forecasted hours. - fix a validation error happening when creating forecasts through the grid view out of the working schedule of an employee. - pre-fill project field during the creation of new forecasts when coming from a particular project. Task-1985510
Helpdesk ticket statistic buttons now take users directly to the related coupon, return, or repair when there is only one item. When there are multiple related items, users still see the list, with creation and import options removed to keep the view focused on existing records.
Original PR description
…desk ticket's stats buttons. If there is only 1 Coupon / Return / Repair, clicking on the stat button now opens the form view of the Coupon / Return / Repair. If there are stricly more than 1 Coupon / Return / Repair, clicking on the stat button nows open the current list view. Removed the Create & Import buttons from the current list views. Task-2017554
Employees now see only their own documents when opening Documents from their employee record, improving privacy and reducing confusion. The HR document structure is also updated with clearer tags for employee documents, payslips, certifications, and fleet-related files, while the appraisal tag is removed.
Original PR description
[IMP] documents: added new tags in hr folder. … In this commit - 1) Restrict the employee. Now he/she can only see his/her documents when from the stat button on employee form, the employee goes to the dms. 2) Added new tag in HR folder of DMS - 2.1) Employees Documents 2.2) Payslips 2.3) Certifications 3) New folder in DMS - 3.1) Fleet 3.1.1) Vehicles Documents 3.1.2) Fine 4) Removed the appraisal tag. task-1933708
The dashboard test suite was updated to better account for different currency formatting rules, including negative sign placement, currency symbol position, and spacing. This helps ensure dashboard monetary values are validated consistently across locales and reduces false test failures.
Original PR description
<b> Task:</b> https://www.odoo.com/web?#id=35636&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 <b> Pad:</b> https://pad.odoo.com/p/r.11ed19a243459e5cbd148b9c1fe75b4d
This update makes payment workflows easier to start and understand from accounting screens, including batch payments, SEPA transfers, and SEPA direct debits. It also adds clearer guidance and configuration options so users can avoid errors and complete common payment tasks with fewer steps.
This update improves the Planning app experience by making employee names clearer, adding role color selection, and ensuring project information works correctly in recurring and published schedules. It also fixes email headers and planning template creation so scheduling communications and setup are more reliable.
This update makes Field Service easier to set up and use by improving onboarding, planning access, permissions, and sales order creation from tasks. It also adds task worksheets/reports that can be printed or emailed to customers, helping teams document completed work more clearly.
Original PR description
https://www.odoo.com/web?debug#id=1943792&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720
This update renames internal company references to better match how users and the system already describe companies. It reduces confusion for developers and lowers the risk of misunderstandings in accounting, reporting, payments, assets, and online synchronization features without changing business workflows.
Original PR description
The goal is to be coherent with the user property. Actually, company_id and company_ids on the environment are no fields. Calling env.company_id returns a browse record, not an id.
Closed payslips can no longer be moved back to draft, helping preserve payroll history. Users can now create a linked correction payslip instead, while new checks prevent duplicate payslips for the same contract and period unless they are corrections.
Original PR description
Once a payslip is closed, we shouldn't be able to reset it to draft. Add a button: Payslip Correction -> this will create a new payslip in draft with a specific status or flag to say it is a correction and link between both payslips. Add unique constraint to payslip to avoid to have multiple payslips for the same contract during the same period (except if is a correction). id=1985537
Subscription products now use subscription variants to manage templates, pricing, and related details in one place. Sales teams can set subscription templates at order or line level, with optional restrictions to keep recurring product choices consistent and prices accurate.
Original PR description
[IMP] sale_subscription : modify models due to specs ------------------------------------------------------------------------- - Products are no longer linked to subscription_template. - Now,…
[IMP] sale_subscription : modify models due to specs ------------------------------------------------------------------------- - Products are no longer linked to subscription_template. - Now, products and subscription_template are both linked to a subscription_variant that simulate a many2many relation in a table with additional fields. - Price and other information are available in thhis subscription_variant table. They are visible on either the product, tab 'sales' or under the Subscription Variants menu in Subscription module. - Subscription_template can be set on sale_order as well as on sale_order_line. - Restrictions exist so that it is possible to set a subscription_template on a sale_order_line only if the product is a recurring product. Same for a sale_order. [IMP] sale_subscription : modify demo datas and adapt tests -------------------------------------------------------------------------------- - Adapt demo datas - Adapt test datas after changes done to model sale_order_line [IMP] sale_subscription : add sub_temp restriction setting ---------------------------------------------------------------------------- - Add a setting 'Restrict Subscription Template' - This setting locks the subscription_template on sale_order_line. Once the user choose a recurring product in a sale_order_line, its subscription template is fixed and he has to set it at the sale_order level. If he changes the subscription template on the sale_order, it is adapted on every sale_order_line containing a recurring product. [IMP] sale_subscription : price selection for subscription product ------------------------------------------------------------------------------------- - It is now possible to apply a pricelist_item on a particular subscription_template. - Overriding methods to do so. - Price for a recurring product in a sale_order_line is now depending on subscription_template that is chosen for that product in that sale_order_line. (remember, link is done in subscription_variant) - lst_price is hidden from product_template/product_product form, tree and kanban views since it isn't relevant to show it anymore. Indeed, the real prices for recurring product are set in corresponding subscription_variant for those products. [IMP] sale_subscription : prevent adding rec product on confirm SO ----------------------------------------------------------------------------------------- - Users are now unable to create a new Sale Order Line with a recurring product if the Sale Order is confirmed. - They are also unable to change the product of an existing Sale Order Line if the Sale Order is confirmed. [IMP] sale_subscription : add partner phone number --------------------------------------------------------------------- * Customer phone number is now available from Subscriptions : - in form view - in kanban view * It is either partner_id phone, mobile, or related company phone, mobile or nothing. In that order.
SEPA payment processing now better supports invoices that use payment terms, where the total amount may be split across multiple due dates. This helps businesses collect or send the right payment amounts when invoices are scheduled in instalments.
Original PR description
Task 1986641
Adds financial report templates for U.A.E. accounting localization, helping businesses prepare country-specific financial statements in Odoo. The update also improves report presentation by showing negative amounts as positive where appropriate.
Original PR description
task: https://www.odoo.com/web#id=1931322&action=327&model=project.task&view_type=form&menu_id=4720 pad: https://pad.odoo.com/p/r.64d6ba9feeff21cf1188b520ee4d2ef4 linked community PR: https://github.com/odoo/odoo/pull/31541
Signing templates are now easier to create and edit from related document workflows, guiding users to the proper Sign app setup while still allowing quick template adjustments. Sign requests can also be completed even when no signature fields are required, letting recipients confirm agreement with the document content without getting blocked.
Original PR description
<b>Task:</b> https://www.odoo.com/web#id=1963939&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 <b>Pad:</b> https://pad.odoo.com/p/r.4f311bab7638b5430aa2d384641c4b3c
Payroll teams can now rely on more automatic generation and validation of employee benefits and related work entries. This reduces manual steps in the payroll flow, helps prevent delays or missed validations, and improves visibility through calendar, Gantt, and payslip workflow updates.
Original PR description
…n and validation
Timesheet list views now open with useful default grouping, making entries easier to scan and compare. My Timesheets are grouped by project and task, while validation lists are grouped by employee and project so managers can review work more efficiently.
Original PR description
Task:https://www.odoo.com/web#id=1824569&action=333&active_id=131&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.4fbdcc4d0249f83ce23817bbbd5739f3
This update adds VAT registry reporting for Italian localization, helping businesses produce clearer VAT register information in Odoo. It improves compliance workflows by aligning reporting output more closely with expected Italian VAT registry formats.
Original PR description
[WIP] Ref:  Current:  See OCA module: https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_vat_registries
Knowledge users can now export articles as PDF files, making it easier to share, archive, or print content outside Odoo. The update adds the necessary report layout and rendering support so exported articles keep a readable format.
Document users can now reorder workspaces in the search panel, making it easier to organize frequently used areas around team priorities. This improves navigation and helps teams keep their document workspace list aligned with their workflow.
This update improves the reliability of automated tests for the Documents app by using stable identifiers during test setup. It helps reduce false test failures and supports smoother ongoing maintenance without changing how users interact with the app.
Original PR description
task-2869408 community: https://github.com/odoo/odoo/pull/103835/
VoIP configuration details are no longer sent when using public Discuss, where VoIP features are not available. This reduces unnecessary data exposure and keeps public chat contexts focused on relevant information.
Original PR description
As VoIP assets are only available in backend, there is no point in sending VoIP config in the context of public Discuss. This commit adds VoIP configuration fields to the list of the fields that must not be sent outside of the backend. Community: https://github.com/odoo/odoo/pull/104729 Task-3053208.
HR users now see a warning when generating a salary simulation link for an employee who does not have an email address set on their home address. This helps prevent employees from completing the configurator only to encounter a signing error later because required signer email details are missing.
Original PR description
In case HR provides the simulation link to the employee via copy pasting the link from the wizzard, and employee does not have email set on home address, after filling in the configurator, it will raise an error that not all signers have valid email address. To avoid this behavior, we display warning in the wizzard. task -2971112
Resolved issues and error corrections
Australian payroll settings can now be updated by HR managers without requiring contact editing permissions. The change prevents access errors while limiting the sensitive setting to the appropriate user group.
Original PR description
The inverse `_set_super_payable_account` raises an access error if the user does not have write access on contacts. Since the HR manager does not require access rights for contacts, we set this field with a sudo and add a group to restrict access to specific users. https://runbot.odoo.com/runbot/build/61307134
Fixed an error that could occur in Point of Sale when settling a customer's dues from an empty order. This prevents an unexpected crash and lets staff continue the dues settlement flow reliably.
Original PR description
Steps: ========= - Install point_of_sale and pos_settle_due. - Open pos and don't add any items to the order. - Click on "settle dues" options on a partner - Observe traceback. Issue: ========= - Error Occurs while settle due account. Cause: ========= - There is no field of "paymentlines". Fix: ========= - Change "paymentlines" to "payment_ids". task-3859454
This fix prevents kit products from being handled like regular manufactured items in production-related reporting tests. It helps keep inventory quantities accurate and avoids misleading manufacturing accounting results.
Original PR description
community PR: https://github.com/odoo/odoo/pull/161020 fix test that were trying to use Kit BOMs for production opw-3681703
This fix updates the appointment feature to use the shared link-handling helper from the correct core location. It helps appointment pages preserve relevant page details in URLs, avoiding broken or inconsistent navigation after a related platform change.
Original PR description
The method keep_query was moved from base to http_routing at odoo/odoo@880954ebfc110 but it should have stayed in base as it is used by some module like auth_signup. Enterprise part of odoo/odoo#87489
This update removes a duplicate check in the spreadsheet bundle's currency loading test. It helps keep automated testing accurate and reduces the chance of false test failures, with no expected change for end users.
Original PR description
Remove the double assert
The “View on Google Maps” button now opens results that match the current map search instead of ignoring it. It also avoids showing duplicate map points when multiple records share the same location, making map results cleaner and more accurate.
Original PR description
The button "View on Google Maps" now care about the search If we have multiple records with the same latitude/longitude, we do not duplicate the points on Google Maps Task #2072186
The German profit and loss report now calculates interim operating results using the correct formula. This helps businesses relying on German financial reports see accurate subtotal figures for review and compliance.
Original PR description
Fixed formula to compute correct results, document referred: https://de.wikipedia.org/wiki/Betriebsergebnis task- 2072849
The Mexican electronic invoicing flow now handles the Draft action correctly when several invoice records are selected at once. This prevents errors or inconsistent behavior during bulk invoice updates, helping finance users work more reliably.
Original PR description
Button Cancel Takes Several Recordsets so it has be properly fixed
This fixes a Helpdesk test setup issue that could cause failures when demo data is not installed. The test now sets the company calendar timezone consistently, helping ensure reliable validation across environments.
Original PR description
Task: https://www.odoo.com/web#id=2075719&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720 PAD: https://pad.odoo.com/p/r.3a73dd45c487a31123fef6a3e689c991
This fixes how Mexican e-invoicing identifies journal entries that come from invoices after an underlying accounting field changed. It helps ensure invoice-related entries are included or excluded correctly, reducing errors in localization-specific electronic invoicing processes.
Original PR description
`invoice_id` is no longer a valid field in `account.move.line` object we have to use the new elements to identify a Journal Entry as coming from an Invoice.
Asset sale and disposal entries now derecognize fixed assets in line with IFRS/IAS 16 instead of posting remaining value incorrectly to depreciation expense. This improves financial statement accuracy and helps businesses stay compliant when removing assets from their books.
Original PR description
(master) account_asset: Sell or Disposal adheres to IFRS/IAS 16 - Derecognition of Assets = Impacted versions: - master Current behavior: - - Configure an Asset Model like the following <img…
(master) account_asset: Sell or Disposal adheres to IFRS/IAS 16 - Derecognition of Assets = Impacted versions: - master Current behavior: - - Configure an Asset Model like the following <img width="1043" alt="Screen Shot 2019-08-14 at 5 55 22 AM" src="https://user-images.githubusercontent.com/7598010/63016041-38bfbc80-be58-11e9-9c3d-532892f500e9.png"> - Configure Account for Fixed Asset as the following <img width="1043" alt="Screen Shot 2019-08-14 at 5 57 13 AM" src="https://user-images.githubusercontent.com/7598010/63016168-8b997400-be58-11e9-9fd0-25c7339f7bed.png"> - Create a new Vendor Bill and Validate it. <img width="1073" alt="Screen Shot 2019-08-14 at 5 59 39 AM" src="https://user-images.githubusercontent.com/7598010/63016237-c6031100-be58-11e9-8c73-c389ca1b1ae8.png"> - Let us check on the newly created Asset in the button upper right. <img width="1073" alt="Screen Shot 2019-08-14 at 6 01 15 AM" src="https://user-images.githubusercontent.com/7598010/63016314-f64aaf80-be58-11e9-9b83-b7ef10cb3f19.png"> - Confirm it and the run depreciation for the already past depreciations. <img width="1073" alt="Screen Shot 2019-08-14 at 6 03 15 AM" src="https://user-images.githubusercontent.com/7598010/63016450-50e40b80-be59-11e9-926d-b0f1df4812d7.png"> - Hit Sell or Dispose button and set a date on the wizard. <img width="975" alt="Screen Shot 2019-08-14 at 6 05 05 AM" src="https://user-images.githubusercontent.com/7598010/63016517-8557c780-be59-11e9-8d75-82829aec0904.png"> - Let us check on the newlyJournal Entry created for the disposal of this asset. <img width="1068" alt="Screen Shot 2019-08-14 at 6 05 52 AM" src="https://user-images.githubusercontent.com/7598010/63016594-b59f6600-be59-11e9-8c9f-7f6c959f2924.png"> Issue - **Here is the actual issue**. Sell or Dispose button creates a Journal Entry where the remaining value of the asset is sent to Depreciation Expense versus Cumulated Depreciation Regarding [IFRS/IAS 16](http://eifrs.ifrs.org/eifrs//bnstandards/en//2019/IAS16.pdf) -Derecognition - Paragraph 68 & 71 <img width="771" alt="Screen Shot 2019-08-14 at 6 15 39 AM" src="https://user-images.githubusercontent.com/7598010/63017096-006dad80-be5b-11e9-8542-d053d4adc976.png"> <img width="771" alt="Screen Shot 2019-08-14 at 6 16 00 AM" src="https://user-images.githubusercontent.com/7598010/63017101-04013480-be5b-11e9-82a9-5ec5e2a5a130.png"> This supported by the fact that for [IFRS® Taxonomy Illustrated](https://www.ifrs.org/issued-standards/ifrs-taxonomy/ifrs-taxonomy-illustrated/#illustrated2019) For `[822100] Notes - Property, plant and equipment` report it must properly identify the parties where impairment, retirement or sell of assets have occurred  Furthermore in `[520000] Statement of cash flows, indirect method` report it must be properly identified in the regarding adjustment other than the Depreciations.  Expected behavior: - With the new approach we should have some settings like this one. <img width="1072" alt="Screen Shot 2019-08-14 at 6 34 03 AM" src="https://user-images.githubusercontent.com/7598010/63018067-9571a600-be5d-11e9-8010-b6a81fd9af0f.png"> Notice there is a new field for the Disposal of the Asset. - Execute all the previous step to accomplish a new Asset until the step where you can sell or dispose it. <img width="1072" alt="Screen Shot 2019-08-14 at 6 40 24 AM" src="https://user-images.githubusercontent.com/7598010/63018438-745d8500-be5e-11e9-807c-a159e6b5653a.png"> - Hit the Sell or Dispose button. We can see that -- The whole value of the asset has been derecognized -- The Cumulated Depreciation has been reverted. -- The Remaining Value of the asset has been recorded as Impairment Expense <img width="1072" alt="Screen Shot 2019-08-14 at 6 41 11 AM" src="https://user-images.githubusercontent.com/7598010/63018459-86d7be80-be5e-11e9-9919-7bb2d14370f5.png"> In this way we could afford to properly: - Have Adjusted Assets for Balance Sheet report. - Have a PP&E report. - Have a Cash Flow Indirect method the right way. - Have an Income Statement where the Impairment is set aside from the Depreciation Expenses.
When an invoice or journal item is cancelled, any linked asset that is still in draft is now deleted instead of remaining as an inactive or confusing record. Assets already in progress or completed are archived, keeping asset records aligned with invoice changes and reducing cleanup work.
Original PR description
(master) account_asset: When Cancelling an invoice with Draft assets. Assets standstill = [FIX] account_asset: Delete draft assets if originating journal items get cancelled. Archive the ones that…
(master) account_asset: When Cancelling an invoice with Draft assets. Assets standstill = [FIX] account_asset: Delete draft assets if originating journal items get cancelled. Archive the ones that are running or done. Impacted versions: - master Current behavior: - - Configure an Asset Model like the following <img width="1060" alt="Screen Shot 2019-08-15 at 10 45 59 PM" src="https://user-images.githubusercontent.com/7598010/63142201-7fbfc600-bfae-11e9-8246-96516c0971ad.png"> - Configure Account for Fixed Asset as the following <img width="1043" alt="Screen Shot 2019-08-14 at 5 57 13 AM" src="https://user-images.githubusercontent.com/7598010/63016168-8b997400-be58-11e9-9fd0-25c7339f7bed.png"> - Create a new Vendor Bill and Validate it. <img width="1073" alt="Screen Shot 2019-08-14 at 5 59 39 AM" src="https://user-images.githubusercontent.com/7598010/63016237-c6031100-be58-11e9-8c73-c389ca1b1ae8.png"> - We can inspect that a new asset in draft state is created in the upper right button in the invoice. <img width="833" alt="Screen Shot 2019-08-15 at 10 50 41 PM" src="https://user-images.githubusercontent.com/7598010/63142386-3754d800-bfaf-11e9-8556-f810df18225a.png"> - No depreciation board is yet set on the asset. <img width="1086" alt="Screen Shot 2019-08-15 at 10 51 02 PM" src="https://user-images.githubusercontent.com/7598010/63142392-420f6d00-bfaf-11e9-9267-fe4658accb66.png"> - For whatever the reason. You have to amend the invoice so you cancel it to amend it. In cancel state we are able to see that my invoice is still linked to an asset. <img width="1086" alt="Screen Shot 2019-08-15 at 10 54 05 PM" src="https://user-images.githubusercontent.com/7598010/63142484-9f0b2300-bfaf-11e9-993e-84f55bc3bc36.png"> - Though when checking on the linked asset there is none. It have been deactivated. <img width="1086" alt="Screen Shot 2019-08-15 at 10 57 19 PM" src="https://user-images.githubusercontent.com/7598010/63142617-18a31100-bfb0-11e9-99da-3189a3fdde3a.png"> <img width="1086" alt="Screen Shot 2019-08-15 at 10 56 12 PM" src="https://user-images.githubusercontent.com/7598010/63142584-fa3d1580-bfaf-11e9-9d4c-163ff8a1eb57.png"> - So far so good. Let us know `Reset to Draft` our cancelled invoice and reuse. Make some changes. Let it be that Price of the asset was wrong. and try to validate our fixed invoice. <img width="1086" alt="Screen Shot 2019-08-15 at 11 00 48 PM" src="https://user-images.githubusercontent.com/7598010/63142717-8c451e00-bfb0-11e9-8772-3dc371e14a0d.png"> - In trying to do something on the Archived Asset we are now greeted with this Warning. <img width="1086" alt="Screen Shot 2019-08-15 at 11 02 12 PM" src="https://user-images.githubusercontent.com/7598010/63142796-e1812f80-bfb0-11e9-8046-9585f7ab5a14.png"> Now we are locked with a draft invoice linked to an archived asset with no way to make something on the archived asset. Expected Behavior = At invoice cancelation, get rid of the Draft Assets. Actions Performed = - Drafts assets are now Deleted - Other assets just get Archived just the way it was before but using existing method `action_archive()` (more on this activity in coming issues) - `sudo()` method on `search()` for assets has been left to allow actually searching if user has no read privileges. - `sudo()` method on `unlink()` & `action_archive()` methods is not deployed because user entitled to do should be granted such as privileges and not the superuser.
The optional column icon in list views is now positioned correctly in the header. This small visual fix makes the list view cleaner and easier to use when managing visible columns.
Original PR description
Task: https://www.odoo.com/web?#id=2032196&action=333&active_id=1251&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.6c35636a1ef5ed06abd0cec54262621f
Portal users can now add attachments when posting messages in the subscription portal. This fixes an access problem that previously blocked customers from sharing files through subscription chatter.
Original PR description
Before this - Was unable to attach the attachments in subscription portal chatter. Access was denied for ir.attachment when logged in by - portal user. In method _message_post_after_hook of mail, ir.attachments are accessed, but for subcription as token was not passed in mail.thread record was coming without sudo(). In this - Account uuid is passed as access token and in uuid is set as mail _mail_post_token_field. task-37264
Subscriptions using the "Invoice & try to charge" option will now still create an invoice even when the automatic payment attempt fails. This ensures customers are billed correctly and keeps this option distinct from only invoicing after successful payment.
Original PR description
When creating a subscription and selecting a subscription template on which the payment mode is set to "Invoice & try to charge", there is no invoice created if the automatic payment failed. However, an invoice should be created despite the failed payment as there is another option for the payment mode which is "Invoice only on successful payment". opw:2007288
Social post cards now show their small statistics labels with the correct spacing. This makes engagement and campaign information easier to read in Social Marketing, CRM, and Sales views.
Original PR description
Since the whitespace is removed by the compiler, we have to put the small tags on the same line separated by a white space. Usually a padding is sufficient but not always. Task-3047477
This fix ensures delivery order locations are handled correctly for field service project tasks. It helps prevent inventory or delivery records from using the wrong location, reducing operational errors when products are delivered for on-site work.
Deleting document workspaces has been corrected so users no longer encounter unexpected validation errors. This helps keep document management workflows smooth when teams reorganize or remove unused workspaces.
Features or functions removed from Odoo
Barcode scanning for warehouse transfers is being shifted away from the standard picking form to the dedicated barcode client action. This avoids fragile scanning flows, such as missing products on other pages or difficulties capturing lot names during receipts, making warehouse operations more reliable.
Original PR description
The purpose of this task is to use the client action as the barcode-picking is brittle, user cannot scan products of another page, difficult to handle the lot name in receipt, etc. task-id: 2039720
The signing app now uses the standard browser redirect behavior instead of an older helper. This is a minor cleanup that keeps the module aligned with modern browser standards while maintaining the same user experience.
Original PR description
This helper is now obsolete as most modern mainstream browsers now implement RFC 7231 [1], which dictates that browsers preserve the original fragment of the URL through redirects. Its use has been replaced by `werkzeug.utils.redirect` since browsers now automatically block/sandbox `data:` and `javascript:` schemes. Complement of https://github.com/odoo/odoo/pull/30805 [1] https://tools.ietf.org/html/rfc7231
Code cleanup and technical improvements
This update removes obsolete code from the Chilean electronic invoicing point-of-sale module after customer editing was moved to Odoo's standard interface. It reduces maintenance overhead without changing the business workflow for users.
Original PR description
We have recently replaced the custom form for editing res_partner records that was used in pos with the default `view` component from web. ( commit 2c068a719617314a3c7c875af7f9027d0531652c ) In this commmit we remove code that is now useless.
The spreadsheet pivot table infrastructure has been reorganized so key plumbing can live in the shared o-spreadsheet project. This prepares Odoo for future spreadsheet pivot table capabilities while keeping existing Odoo tests in place to protect current behavior.
Original PR description
This commit is the enterprise counterpart of https://github.com/odoo/odoo/pull/159259. This commit prepares the ground to the introduction of the spreadsheet pivot table in github.com/odoo/o-spreadsheet. It's basically a move of the plumbing necessary to make a pivot works from odoo codebase to o-spreadsheet codebase. A note on this commit: - Tests are kept in Odoo Moving tests would require to make a dummy pivot in o-spreadsheet, which is not ideal. Let's write tests during/after the introduction of spreadsheet pivot. Task: 3748583
Point of Sale formatting logic has been streamlined so amounts and related values are handled through one consistent method. This reduces duplication behind the scenes and helps keep receipts, payment screens, and localized POS flows more consistent.
Original PR description
Before, we were using multiple functions in order to format the numbers. This pull request allow us to use a single method format which take for arguments: The Type of the format you want to apply The value The different options available for the given type Community pr: https://github.com/odoo/odoo/pull/85770
This change simplifies how CRM leads and helpdesk ticket conversion handle partner matching by removing an unnecessary shared component. It should not change day-to-day workflows, but it makes the underlying code easier to maintain and align with the wider CRM refactoring.
Original PR description
This refactoring commit follows the one from Community (From PR https://github.com/odoo/odoo/pull/35864) : Because it seems to be a mixin for unnecessary fields (redefined in inheriting models) holding a utility method we could move on lead model. - move _find_matching_partner to crm.lead - move action into crm.lead2opportunity.partner - move partner_id to each model that inherits crm.partner.binding Task ID: 2056759
This change removes an older phone validation component and standardizes the VoIP module on the newer shared phone handling approach. It reduces duplicate technical paths, making future maintenance more consistent without changing the expected business workflow.
Original PR description
…thread.phone This commit 7e8a02cd6e9f08e5ff45db804b357bc3537ff1f6 introduced the 'mail.thread.phone' mixin. The 'phone.validation.mixin' became at that point a less powerful version of it. This commit cleans the code and completely removes the 'phone.validation.mixin' to lessen entry points of phone validation methods and reduce mixins amount. Task#2092372
Engineering change orders and quality controls have been adjusted to work with the newer calendar view experience. This keeps planning and scheduling screens consistent with the latest interface changes, with minimal direct business impact.
This update removes obsolete internal markers that are no longer needed because Odoo now handles data conversion consistently across remote connections. The change simplifies maintenance across several business apps without changing everyday user workflows.
Original PR description
They are no longer needed as the serialization of several Odoo objects over JSON/XML rpc is now global Depends on https://github.com/odoo/odoo/pull/35595
This update modernizes internal automated tests by replacing older testing helpers and browser test naming. It helps keep the test suite maintainable and aligned with current browser testing tools, with no expected impact on day-to-day users.
Original PR description
Remove deprecated helpers and rename phantom_js to browser_js. Enterprise counterpart of https://github.com/odoo/odoo/pull/34011
This update adjusts how the Documents app connects shared behavior across its list, kanban, and inspector views. It should make the document interface easier to extend and maintain, with limited direct impact on day-to-day users.
Miscellaneous changes
- Compute the best resources for a slot only for distinct capacity info and improve performance when updating table booking from 1 to 12 capacities with appointment type with a lot of linked resources (tested on Table Booking without any event booked): Before: ~105s (local time) After: ~15s (local time) This also allows the first slot computation to be a little faster (4s => 3s) - Don't use intervals_overlap in _slot_availability_is_resource_available: ~15s => ~4s (local
Original PR description
- Compute the best resources for a slot only for distinct capacity info and improve performance when updating table booking from 1 to 12 capacities with appointment type with a lot of linked…
- Compute the best resources for a slot only for distinct capacity info and
improve performance when updating table booking from 1 to 12 capacities
with appointment type with a lot of linked resources (tested on Table Booking
without any event booked):
Before: ~105s (local time)
After: ~15s (local time)
This also allows the first slot computation to be a little faster (4s => 3s)
- Don't use intervals_overlap in _slot_availability_is_resource_available:
~15s => ~4s (local time)
It was called a lot because of the default resource calendar and the work intervals
computed from it.
- Single filtered on booking lines for _get_resources_remaining_capacity
Queries count (from profiler - local):
/appointment/4 : ~1500 => ~830
/appointment/4/update_available_slots (capacity -> 12) : ~7700 => ~455
/appointment/4/update_available_slots (capacity 12 -> 1) : ~1130 => ~430
/appointment/4/update_available_slots (capacity 1 -> 12) : ~7700 => ~455
Queries count (profiler - runbot):
/appointment/4/update_available_slots (capacity -> 12) : ~1190 => ~130
task-3640599
Forward-Port-Of: odoo/enterprise#59101**Current behavior:** On the pivot view for the budget analysis view, the percentage column total is the sum of each row's percentage. **Expected behavior:** This value is the mean of all percentages. **Steps to reproduce:** 1. In the Accounting app, create a budget that has a non-zero Achievement value in at least 2 rows 2. Go to *Reporting* -> *Budgets Analysis* and expand the y-axis to show the lines created, observe that the Achievement total is displaying the sum of all percenta
Original PR description
**Current behavior:** On the pivot view for the budget analysis view, the percentage column total is the sum of each row's percentage. **Expected behavior:** This value is the mean of all percentages. **Steps to reproduce:** 1. In the Accounting app, create a budget that has a non-zero Achievement value in at least 2 rows 2. Go to *Reporting* -> *Budgets Analysis* and expand the y-axis to show the lines created, observe that the Achievement total is displaying the sum of all percentages **Cause of the issue:** The percentage field is being aggregated by summation in the read_group() method of the `crossovered.budget.lines` model. **Fix:** Calculate the mean instead of the sum. opw-3761952 Forward-Port-Of: odoo/enterprise#60464 Forward-Port-Of: odoo/enterprise#59103
When sending an automatic followup, the wrong template is set. This is because of a typo when getting the followup line from the options. Steps: - Have 2 followup levels, 15 and 30 days with 2 different templates and automatic reminder - Have a customer with an invoice overdue by +15 days, and go to his followup report - In the action menu, select "Process Automatic Follow-ups" -> The template used is the one from the 2nd followup level instead of the one from the 1st level. opw-3858013
Original PR description
When sending an automatic followup, the wrong template is set. This is because of a typo when getting the followup line from the options. Steps: - Have 2 followup levels, 15 and 30 days with 2 different templates and automatic reminder - Have a customer with an invoice overdue by +15 days, and go to his followup report - In the action menu, select "Process Automatic Follow-ups" -> The template used is the one from the 2nd followup level instead of the one from the 1st level. opw-3858013 Forward-Port-Of: odoo/enterprise#60843
Within #45236 the sale subscription batching method was rewritten to allow invoices to be consolidated during the cron. However, batch_size was adjusted that caused the code to never actually batch. Because `batch_size` was reassigned to `batch_size + 1` before the search call, the batch check: `need_cron_trigger = len(all_subscriptions) > batch_size` Will always fail as `all_subscription` will never be a larger recordset than `batch_size`. Solution: Don't re-write batch_size and ins
Original PR description
Within #45236 the sale subscription batching method was rewritten to allow invoices to be consolidated during the cron. However, batch_size was adjusted that caused the code to never actually batch. Because `batch_size` was reassigned to `batch_size + 1` before the search call, the batch check: `need_cron_trigger = len(all_subscriptions) > batch_size` Will always fail as `all_subscription` will never be a larger recordset than `batch_size`. Solution: Don't re-write batch_size and instead do `batch_size and batch_size + 1` in the search directly. opw-3846540 Forward-Port-Of: odoo/enterprise#60050
Currently, an inherited view for `account.view_move_form` targets field `fiscal_position_id` directly with an xpath. While that works for standard modules, it is a very broad xpath that only succeeds in selecting the correct field because it appears before other ocurrences of identically named fields. This commit narrows down the xpath to make it explicit that we target the field located in `account.move`'s "Other Info" page. This fixes an ongoing issue with a customization (described i
Original PR description
Currently, an inherited view for `account.view_move_form` targets field `fiscal_position_id` directly with an xpath. While that works for standard modules, it is a very broad xpath that only succeeds in selecting the correct field because it appears before other ocurrences of identically named fields. This commit narrows down the xpath to make it explicit that we target the field located in `account.move`'s "Other Info" page. This fixes an ongoing issue with a customization (described in the task) while improving readability and extensability of `account_invoice_form_inherit`. Task link: [odoo/task#3837027](https://www.odoo.com/web#model=project.task&id=3837027) Task-3837027 Forward-Port-Of: odoo/enterprise#60462 Forward-Port-Of: odoo/enterprise#60358
Payment tokens that are created when SEPA Direct Debit transactions are confirmed were not linked to those transactions. This prevented subscriptions from saving the tokens as recurring payment method because they could not be found through the payment transactions. opw-3756773 See also: - https://github.com/odoo/odoo/pull/161561 Forward-Port-Of: odoo/enterprise#60562
Original PR description
Payment tokens that are created when SEPA Direct Debit transactions are confirmed were not linked to those transactions. This prevented subscriptions from saving the tokens as recurring payment method because they could not be found through the payment transactions. opw-3756773 See also: - https://github.com/odoo/odoo/pull/161561 Forward-Port-Of: odoo/enterprise#60562
For the custom engine report, _compute_formula_batch_with_engine_custom always uses None for the warnings in the function custom_engine_function, even if a good warnings argument is sent. Now it correctly use the warnings instead of None Forward-Port-Of: odoo/enterprise#60929
Original PR description
For the custom engine report, _compute_formula_batch_with_engine_custom always uses None for the warnings in the function custom_engine_function, even if a good warnings argument is sent. Now it correctly use the warnings instead of None Forward-Port-Of: odoo/enterprise#60929
Current behavior: When doing an order from self ordering on phone, there was an error because the fiskaly_uuid was not created directly when the user was creating the order. But it's created when the order is processed by the cashier. Steps to reproduce: - Setup fiskaly on your db (ask me if you need help) - Setup a pos to use QR Menu + payment in a DE company - Create an order from this PoS - Validate the order, you get an error opw-3773777 Forward-Port-Of: odoo/enterprise#59449
Original PR description
Current behavior: When doing an order from self ordering on phone, there was an error because the fiskaly_uuid was not created directly when the user was creating the order. But it's created when the order is processed by the cashier. Steps to reproduce: - Setup fiskaly on your db (ask me if you need help) - Setup a pos to use QR Menu + payment in a DE company - Create an order from this PoS - Validate the order, you get an error opw-3773777 Forward-Port-Of: odoo/enterprise#59449
STEP TO REPRODUCE: ================= * Go on Employee App * Select contracts menu item * Select two contracts * Click on actions * Select "signature request" You will have a traceback due to multiple selection. task: 3802377 Forward-Port-Of: odoo/enterprise#59447
Original PR description
STEP TO REPRODUCE:
=================
* Go on Employee App
* Select contracts menu item
* Select two contracts
* Click on actions
* Select "signature request"
You will have a traceback due to multiple selection.
task: 3802377
Forward-Port-Of: odoo/enterprise#59447