Thursday, March 19, 2026
4 changes · 17.0
Resolved issues and error corrections
This update fixes an issue where tax reports were incorrectly calculating period boundaries, leading to inaccurate reporting figures. The change ensures that the correct tax period is used for calculations, particularly when dealing with trimester-based tax periods, improving the accuracy of financial reports.
Original PR description
To reproduce the issue: - Setup tax periodicity to "trimester" - Create a report evaluating something with previous_tax_period date_scope (real cases tend to do that for carryover ; see monthly Italian tax report for an example) - Create the appropriate data so that in the current trimester, the report line evaluates to 42, and to 1 in the previous trimester - Open the report for the second month of the trimester => The line has value 42, while it should have 1. This happens because the date bounds for previous_tax_period were computed too naively, considering the date_from was always the first day of the tax period. The first day of the second month of the trimester, it's not the case, and we return the period boundaries of the day before that day. That day is the last day of the first month of the trimester, but belongs to the same trimester, so it's the same tax period. Therefore, we display the value of the current tax period, which is wrong.
This pull request includes a series of bug fixes and improvements across various Odoo modules, focusing on stability and performance. Key changes include addressing UI issues in the web editor, resolving invoicing errors, and enhancing localization support for multiple languages and regions. The update also incorporates improvements to the core system's installation process.
Original PR description
- **[IMP] *: disable auto-install** - **[IMP] google_gmail, web_unsplash: disable auto_install** - **[IMP] OCB README** - **[ADD] setup: support PEP 660 and setuptools >= 64** - **[FIX]…
This update corrects a bug that prevented users from adding a partner's bank account to the 'Recipient Bank' field when creating a credit note. Previously, the system only showed company-owned accounts. Now, the field correctly filters based on the expected recipient for both invoices and credit notes, ensuring accurate financial transactions.
Original PR description
Description of the issue this commit addresses: The Recipient Bank field in the Other Info tab of the Account Move form view refilters accounts to only show you company's ones. This is expected for invoices but is blocking when doing a credit note. You can't find a partner's bank account to fill that field. --- Steps to reproduce: 1. Install account. 2. Create an Invoice to a partner which has a bank account setup. 3. Create a Credit Note for that Invoice. 4. In the "Other Info" tab, remove the partner's bank account. 5. Try to search for his bank account to add it back. It won't show up. --- Desired behavior after this commit is merged: The Recipient Bank field prefilters bank accounts based on who is expected to be the recipient of the move. --- task-5976951 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update optimizes how Odoo loads its registry, significantly reducing the time it takes to start up, especially for customers with large addon installations. By avoiding unnecessary file system scans, the change dramatically improves performance and responsiveness, particularly during initial startup.
Original PR description
In `ThreadedServer,` the http daemon will create threads to handle incoming requests. The creation of these threads doesn't wait until the registry is loaded because the request could be serving…
In `ThreadedServer,` the http daemon will create threads to handle incoming requests. The creation of these threads doesn't wait until the registry is loaded because the request could be serving static files. In the WSGI application entry point `__call__`, the threads will be going into `self.get_static_file` and up until this point, there's no locking whatsoever on these threads. Inside `get_static_file`, the `self.statics` lazy_property is evaluated which will walk the addons path. Before this PR, the order of the conditions in the or statement will always evaluate the lazy property regardless of the other parts of the condition. This means that every single request that comes in will do an unnecessary `os.listdir` on all addons paths. For customers with a very large and deeply nested addons path like in opw-5877522 (they had over 93K dirs), this is a tremendous load on the system when there are multiple threads doing that due to the amount of syscalls involved for no reason whatsoever. This is especially worse on SH because disks are not local, so an individual syscall is more expensive. This is slowing down all requests as well as the registry loading time which is a prerequisite for any non-static request. This PR simply reorders this check to only evaluate the self.statics property if all other parts of the condition are False. This means it'll only have to do this expensive `os.list` for a fewer number of requests which are much more unlikely to coincide at the startup of a worker. On top of that it's a better optimization to avoid doing this expensive check for every request. Benchmarks |No. files in addons path| No. concurrent threads | Registry loading time Before PR | Registry loading time After PR | |--------|--------|--------|--------| | 93447 | 5 | 53.23 s | 4 s | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#254660
- **[IMP] *: disable auto-install**
- **[IMP] google_gmail, web_unsplash: disable auto_install**
- **[IMP] OCB README**
- **[ADD] setup: support PEP 660 and setuptools >= 64**
- **[FIX] hr_recruitment, hr_recruitment_sms: bridge module**
- **[IMP] *: More auto-install disablings**
- **[FIX] account_edi_ubl_cii: remove ensure_one call in api.model**
- **[FIX] web_editor: removing icon makes paragraph unreachable**
- **[FIX] web_editor: enter before icon element**
- **[FIX] website: block Escape key on cookies bar**
- **[FIX] account_edi_ubl_cii: fix invoice address in ubl files**
- **[FIX] {sale_,}mrp: rounding on product packaging quantity**
- **[FIX] point_of_sale: closing balance count with rescue sessions**
- **[FIX] l10n_sa: fixing invoice issue time format in qr code**
- **[FIX] account_edi_ubl_cii: use the right VAT when exporting invoices**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] web_editor: open a popover for inline document download**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: export 17.0 source terms**
- **[PERF] bus: tweak acquire cursor delay**
- **[PERF] bus: improve cursor usage efficiency**
- **[FIX] bus: explicit close for notif sockets**
- **[FIX] bus: do not terminate twice**
- **[FIX] hw_drivers: allow upgrades to >= 19.1**
- **[FIX] l10n_vn: Add Vietnamese translations for tax fields**
- **[IMP] l10n_br: add new master data for Brazilian fiscal reform**
- **[FIX] bus: race between terminate and notification dispatching**
- **[FIX] point_of_sale: fix crash when switching tab while printing receipt**
- **[FIX] {account_,}payment,sale: set correct message author**
- **[FIX] website: fix incorrect <p> wrapping for custom button snippet**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] mail: avoid error on service worker push subscription change**
- **[FIX] mail: `ir_cron_web_push_notification` are now more robust**
- **[FIX] mail: `push_to_end_point` method to support `.invalid` TLD.**
- **[FIX] mrp: unlink irrelevant move raws on bom update**
- **[IMP] account_edi_ubl_cii_tax_extension: optional tax exemption reason**
- **[FIX] discuss: increase the ping tolerance for rtc sessions**
- **[FIX] mail: Fix truncate all related table data**
- **[FIX] payment_stripe: enable stripe connect for french territories**
- **[FIX] payment: fix name splitting logic for single-word names**
- **[IMP] hw_drivers: normalise logs around actions**
- **[FIX] account_edi_ubl_cii: prioritize partner legal entity name**
- **[FIX] l10n_vn_edi_viettel: wrong exchange rate when issue foreign**
- **[FIX] account: allow duplicating entries with deprecated accounts**
- **[FIX] website_sale: filter unavailable providers for website in sales portal**
- **[FIX] l10n_fr_hr_holidays: missing default reference leave type in setting**
- **[FIX] hr_holidays, hr_work_entry_holidays: leave with changing calendar**
- **[IMP] core: Fully comply PDF/A-3A on all supported pypdf versions**
- **[FIX] loyalty: Mark service product noupdate**
- **[FIX] l10n_es_edi_verifactu_pos: ensure qr-code is present on order reprint**
- **[FIX] website: preserve custom height on image gallery**
- **[FIX] hw_drivers: tailscale compatible upgrade**
- **[FIX] point_of_sale: guarantee payments order in sales details report**
- **[FIX] base: the .1s timeout in the SMTPD tests is overly conservative**
- **[FIX] sale: prevent invoice_origin from being copied via Invoices smart button**
- **[FIX] website: prevent blurry countdown canvas and text on zoom**
- **[FIX] web_editor: prevent text overlap with icon**
- **[FIX] base: disable session saving on /web/image to prevent logout on Firefox**
- **[FIX] account: adapt how account statement validity is computed**
- **[FIX] mail: fix incorrect avatar display**
- **[IMP] mail_plugin: allow the mail plugin to know the Odoo version**
- **[FIX] spreadsheet: update o_spreadsheet to latest version**
- **[FIX] l10n_br: fix tax names**
- **[FIX] *: api keys group managment**
- **[IMP] l10n_fr: MOA value should be positive**
- **[FIX] l10n_es_edi_verifactu_pos: apply simplified invoice limit in VeriFactu POS**
- **[FIX] mail: mail.message create on no user**
- **[FIX] web: prevent automatic conversion of `B)` to 😎 emoji**
- **[FIX] account: Remove sudo-ed returned bank**
- **[FIX] base_automation: keep to compute values in pre-filter**
- **[FIX] repair: preserve discount on sale order line from repair quotation**
- **[IMP] hr_expense: use payment_reference for payment term line name**
- **[FIX] l10n_es_edi_facturae: fix issuer generation**
- **[FIX] l10n_fr: wrong aggregation**
- **[FIX] account: Fix _aggregate_taxes with multi rep lines taxes**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] base: add help attribute on field element in rng validation**
- **[FIX] purchase_stock: prevent compensation aml when PO other currency**
- **[FIX] sale{,_management}: hide update prices button when no pricelist is set**
- **[FIX] l10n_fr: small errors**
- **[IMP] uom, account{_edi_ubl_cii,}: add 2 UoM from UNECE Recommendation No.20**
- **[FIX] website: properly mock Clipboard API calls in tours**
- **[FIX] account: prevent posting with inactive analytic accounts**
- **[FIX] mail: avoid trying to send scheduled notifications for deleted records**
- **[FIX] mail: hide message failures for deleted records**
- **[FIX] mail: fix management of activities on removed records**
- **[FIX] base: set Bulgaria currency to EUR**
- **[FIX] hr_attendance: prevent a user from updating their attendance record by changing the employee to the one whose attendance is not managed by the current user.**
- **[FIX] hr_expense: include all attachments in generated journal entries**
- **[FIX] portal: link preview triggering page view**
- **[IMP] l10n_fr_facturx_chorus_pro: add Chorus fields to invoice PDF**
- **[IMP] account_edi_proxy_client,*: move unique edi_id constraints**
- **[FIX] account: fix invoice_origin missed in reverse move**
- **[IMP] mail: add missing docstrings for message access**
- **[FIX] mail: correctly check message / document access**
- **[FIX] mail: make _search symetric to read**
- **[FIX] mail: make message search / read coherent for portal**
- **[MOV] mail: add helper for '_get_mail_message_access' usage**
- **[FIX] mail: make activity schedule coherent with mail posting**
- **[FIX] mail: correctly check for post capabilities in discuss**
- **[FIX] website_crm_partner_assign: fix portal chatter**
- **[FIX] mail: fix undefined variable**
- **[FIX] mail: handle wildcard content-type**
- **[FIX] website: only update menu on page creation if the menu has no page**
- **[FIX] l10n_it: migrate from 16.0 without l10n_it_exempt_reason column**
- **[FIX] l10n_latam_invoice_document: get sequence when prefix has numbers**
- **[IMP] account_edi_ubli_cii: Split fixed taxes into allowance charges or additional invoice lines.**
- **[FIX] l10n_it_stock_ddt: generate DDT before completing the picking action**
- **[CLA] Individual CLA signature**
- **[FIX] pos_loyalty: fix saved orders point**
- **[IMP] account: Use invoice_label for tax name in invoice tax computation**
- **[FIX] auth_signup: signup_cancel as sudo when writing on active**
- **[FIX] spreadsheet: update o_spreadsheet to latest version**
- **[FIX] sale_stock: include cogs credit note after downpayment**
- **[FIX] pos_sale: prevent spliting by lots when product is kit**
- **[FIX] web: show scanned barcode for iOS**
- **[FIX] website_slides: prevent error in back button**
- **[IMP] base: update thailand state names**
- **[FIX] hr_attendance: compute company tolerance when multiple attendances**
- **[FIX] pos_loyalty: increase barcode width**
- **[IMP] crm_iap_mine: change leads mining provider to dnb**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[IMP] event_sale: Do not confirm registrations for paid events when the sale is confirmed.**
- **[CLA] Sign CLA for p4v3**
- **[FIX] microsoft_calendar: make Graph timeout configurable**
- **[FIX] purchase: correct POL unit price via catalog**
- **[FIX] bus: fix pool error on server stop**
- **[FIX] website_sale, fixing test**
- **[FIX] hr_holidays : Create allocation with same number of hours**
- **[IMP] l10n_ro: add missing tax mappings for new VAT rates**
- **[FIX] account_edi_ubl_cii: fix cases where VAT is '/'**
- **[FIX] l10n_ch: fix negative values in VAT report figures 382a and 383a**
- **[FIX] base: prevent error when unarchiving company**
- **[IMP] account_edi_ubl_cii,*: backport accounting test helpers**
- **[FIX] account: strip out dots from VAT numbers**
- **[FIX] l10n_id_efaktur_coretax: Fix tax group restriction in efaktur coretax**
- **[FIX] l10n_sa: fix timezone**
- **[IMP] spreadsheet: log data extraction**
- **[I18N] l10n_{cy,gr}: fix Greek language code**
- **[I18N] .weblate.json: add missing modules**
- **[FIX] web_editor: allow non-admin editor user to save Unsplash image**
- **[FIX] mail: typo in search_highlight tests**
- **[FIX] l10n_es_edi_verifactu: restrain certificate access**
- **[FIX] base: prevent server crash on malformed module description**
- **[FIX] account_peppol: safer server deregistration**
- **[PERF] bus: use orjson for faster notification serialization**
- **[FIX] mail: show explicit error of fetch message in message list**
- **[FIX] spreadsheet: update o_spreadsheet to latest version**
- **[FIX] *: Fix json decode error imports**
- **[FIX] stock_delivery: correctly compute package/picking shipping weight**
- **[FIX] maintenance: fix high-priority maintenance request count**
- **[FIX] pos_self_order: fix empty order lines check before printing changes**
- **[FIX] product: prevent infinite loop in `_cartesian_product`**
- **[FIX] point_of_sale: ensure product is loaded before refunding orderline**
- **[FIX] point_of_sale: prevent rounding issues in cash difference removal**
- **[FIX] l10n_ar: taxes 0% NT/NA/EXEMPT amount type**
- **[FIX] web: Support reserved words as customer names**
- **[FIX] account_edi_ubl_cii: fix duple attachment bug**
- **[FIX] l10n_id: fix 1.3 migration script**
- **[IMP] crm_iap_mine: remove redundant fields in mail template**
- **[FIX] *: replace "Deco Addict" with "Acme Corporation"**
- **[FIX] account: make "sample" invoices demo-only**
- **[FIX] sale: prevent payment when so is expired**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: add new language files**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] account_edi_ubl_cii: set imported partner as company**
- **[FIX] base/ir.ui.view: keep tail when remove the field from access group**
- **[FIX] l10n_fr_fec: reduce FEC export memory footprint**
- **[FIX] hr_homeworking: send current day location field in get_views**
- **[FIX] survey: prevent hiding timer in live session**
- **[FIX] account_peppol: neutralize should be consistent**
- **[FIX] mrp_subcontracting{,_purchase}: fix inconsistency between stock move and move line quantities**
- **[IMP] l10n_sa_edi: zatca onboarding bugprovement**
- **[FIX] tests: WebGL disabled in Chrome Headless 144+**
- **[FIX] hr_holidays_attendance, hr_attendance: include attendance between two days in hourly accrual plans**
- **[FIX] sale: use single wizard.res_id in compute_warning**
- **[FIX] hr_attendance: prevent multiple check-ins/outs and geolocation hang**
- **[FIX] mrp: fix ongoing timer for deleted work orders**
- **[FIX] tools: align policy addition API**
- **[FIX] microsoft_calendar: support single-tenant apps**
- **[FIX] website_sale: make test demo-data-independent again**
- **[FIX] account: prevent crash when selecting tax in journal item dialog**
- **[PERF] account: speed up _get_total_amount_using_same_currency**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[CLA] Update for Moduon**
- **[REF] microsoft_calendar: rename test method**
- **[ADD] l10n_ro_cpv_code: A new module to add a new filed 'CPV' code in product**
- **[FIX] hr_recruitment: fix Unable to Send Emails to Refused Applicants**
- **[FIX] discuss: update the sfu bundle to v1.3.3**
- **[FIX] mail: prevent enabling tracking on HTML fields**
- **[FIX] web_editor: prevent error when saving after applying history**
- **[FIX] l10n_ro_efactura: Allow reset to draft for e-bills**
- **[FIX] l10n_it: Wrong exoneration code on 0% EU S**
- **[FIX] point_of_sale: close session with SEPA first payment method**
- **[FIX] hr_skills: prevent duplicate skill creation after validation error**
- **[FIX] l10n_cy: correct vat payable/refundable formula**
- **[FIX] account_edi_ubl_cii: fix EPD on credit notes**
- **[FIX] website_sale: adapt checkout color contrast**
- **[FIX] repair: cancel draft stock moves on repair order deletion**
- **[IMP] base_vat: use dummy tax for Türkiye placeholder ID**
- **[FIX] account_peppol: prevent invoice reset to skipped**
- **[FIX] spreadsheet: update o_spreadsheet to latest version**
- **[FIX] account: allow translation reload without all companies**
- **[FIX] odoo: scope zip_dir**
- **[FIX] mail: mention suggestion prioritizes followers over recent chats**
- **[FIX] mail: fix style of mention suggestion**
- **[FIX] mrp: ensure variant synchronization in BoM report**
- **[IMP] account: simplify switching move type**
- **[FIX] mail: properly sort mention suggestions in the full composer**
- **[FIX] website: keep all parameters on force redirect**
- **[FIX] l10n_es: fix mod 390 computation**
- **[FIX] peppol_proxy: Peppol - don't recommend technical contact for support**
- **[FIX] account_edi_ubl_cii: do not import info on vendor refund**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: export 17.0 l10n source terms**
- **[IMP] test_mail: add performance test for message access**
- **[FIX] mail, various: improve prefetching in message access**
- **[IMP] test_mail: improve msg/activity test access coverage**
- **[FIX] mail: correctly support document message access for activities**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: add new language files**
- **[FIX] project: set correct action target of project window**
- **[IMP] l10n_ro_stock_edi: eTransport improvements**
- **[FIX] purchase_mrp: UoM category error on kit**
- **[FIX] point_of_sale: prevent unfocused input when popup is open**
- **[FIX] account_edi_ubl_cii: log the account numbers**
- **[FIX] account_peppol: allow PEPPOL with audit trail**
- **[FIX] l10n_fr_fec: use correct company when downloading FEC file**
- **[REV] account_edi_ubl_cii: log the account numbers**
- **[FIX] account: disallow untrusted accounts on is_inbound() invoices + log bank account**
- **[FIX] l10n_it_edi: propagate l10n_it on create_company**
- **[IMP] partner_autocomplete,iap_mail: company info in chatter**
- **[FIX] l10n_it_edi: display TC-XX codes for funds**
- **[FIX] calendar: preserve duration when editing quick-created events**
- **[FIX] l10n_it_edi: fix import of cross-company products**
- **[FIX] l10n_sa_edi: converted amount in invoice report**
- **[FIX] stock: prevent traceback when generating serial/lot numbers**
- **[FIX] l10n_es: fix report mod 390**
- **[FIX] website: test_website_force_domain_redirect works w/o demo**
- **[IMP] profiler: Time limit to commit profile**
- **[FIX] tools: never consider a node with a directive as translatable**
- **[FIX] account: portal bill report no proforma**
- **[FIX] hr_attendance: fix access issue**
- **[FIX] account: remove comments while parsing XMLs**
- **[FIX] core: unsafe attributes are privates**
- **[FIX] account_edi_ubl_cii: Don't import null LineExtensionAmount lines**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] account: Add Filter to support selecting multiple journals**
- **[FIX] core: superfluous image processing**
- **[FIX] sale_project: unlink SO when no SO item is linked to a task**
- **[FIX] hr_expense: skip encrypted files from expenses report PDF**
- **[FIX] hr_holidays: fixing leave days allocation use priority**
- **[FIX] web: correct autoresizeInput width calculation**
- **[FIX] web_editor: properly parse pasted XML in email templates**
- **[FIX] website_sale: prevent double delivery amount in express checkout**
- **[IMP] web: update owl to 2.8.2**
- **[IMP] l10n_in: change GSP provider for Indian EDI**
- **[FIX] account_peppol: use correct company context**
- **[FIX] l10n_it_edi: make OSS flow compliant with FatturaPA**
- **[FIX] website, web_editor: only translate views for websites**
- **[REF] web_editor: refactor `WebP` to `JPEG` conversion in upload service**
- **[FIX] web_editor: fix image upload error handling**
- **[FIX] hw_drivers: fix SSL verification for IoT handlers**
- **[FIX] website_sale_loyalty: prevent random shop_sale_ewallet tour failure**
- **[FIX] l10n_it_edi: fix total in company currency**
- **[FIX] hr_attendance, hr_holidays_attendance: update overtimes after reevaluating leave**
- **[IMP] account_edi_ubl_cii: Identify the correct tax at import**
- **[FIX] l10n_sa_edi_pos: prevent error when order has no payment**
- **[FIX] core: missing type check**
- **[FIX] hr_skills: random runbot tour failure**
- **[FIX] survey: use answer token in cookies**
- **[FIX] account: beneficiary account can be incorrect after payments merge**
- **[FIX] point_of_sale: filtering single attribute value products**
- **[FIX] l10n_de: ensure pdf rendering in audit trail test**
- **[FIX] l10n_it_edi: forfettari can now use simplified invoices freely**
- **[CLA] Signature for blackne0n**
- **[FIX] l10n_hu_edi: ensure softwareId meets NAV 18-character requirement**
- **[IMP] core: -t alias for --test-tags**
- **[IMP] account_edi_ubl_cii: (un)group lines by tax**
- **[FIX] hr_expense: skip encrypted files from expenses report PDF (2)**
- **[FIX] account: inherit product category accounts from parent hierarchy**
- **[FIX] account{_peppol,_edi_ubl_cii,}: allow sending via Peppol after PDF or XML generation**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] base_vat: catch broader exceptions in VIES check**
- **[FIX] lunch: prevent order_lunch_tour failure**
- **[FIX] website: prevent random link_tools tour failure**
- **[FIX] l10n_bg: fix tax names and default purchase tax**
- **[FIX] l10n_ro: fixed romanian tax report**
- **[FIX] l10n_ro: Add the "active" column to the account taxes**
- **[FIX] pos_sale: consider the lot location in pos**
- **[FIX] account: allow child companies to use parent contacts**
- **[IMP] account_edi_ubl_cii: update factur-x/zugferd**
- **[FIX] portal: set dir attribute on html element**
- **[IMP] account: add ZIP export for move attachments**
- **[FIX] hr_skills: show traceback when downloading resume with invalid template**
- **[FIX] hr: use action_archive in departure wizard**
- **[FIX] l10n_sa{_edi}: fix future invoicing bug**
- **[FIX] base: correct Qatar currency label**
- **[I18N] base: re-export pot file**
- **[FIX] sale: fix status order in sales kanban view**
- **[FIX] crm_iap_mine: Handle no credit properly**
- **[FIX] core: hide ConnectionLostError after tour termination**
- **[FIX] core: hide AssetsLoadingError after tour termination**
- **[FIX] hr_holidays_attendance: restore removed method and set deprecated**
- **[FIX] account_edi_ubl_cii: avoid potential KeyError**
- **[IMP] account: remove friction when using untrusted company account**
- **[IMP] account,l10n_ch,base: unify bank creation**
- **[FIX] account_edi_ubl_cii: set the account numbers**
- **[CLA] mega-ramo Signature**
- **[IMP] core: don't spam waiting for threads if there are none**
- **[IMP] core: backport neutering of password hash during tests**
- **[IMP] base: lower log level of mail sending during tests**
- **[IMP] google_calendar: move data setup to setUpClass**
- **[IMP] point_of_sale: do the repetitive test setup at the class level**
- **[IMP] google_calendar, microsoft_calendar: lower spam during tests**
- **[IMP] core: add lru on `babel_locale_parse`**
- **[FIX] website: do not prefix `#top` and `#bottom` menu URLs**
- **[FIX] website: load empty iframes on Firefox 148**
- **[FIX] mrp: unlink only outdated workorders and moves on BoM update**
- **[FIX] stock: stock in transit from sublocation**
- **[FIX] pos_sale: amount_unpaid wrong computation**
- **[FIX] l10n_ro_cpv_code: Fix CIUSRO ItemClassificationCode/listID**
- **[FIX] portal: fix error 500 when info edit with no country**
- **[FIX] account: do not block incoming payments**
- **[IMP] account: include draft vendor bills in 'Unpaid' filter**
- **[FIX] website_slides: support Google Shared Drive links**
- **[FIX] web_editor: fix isDirty freezing the editor**
- **[FIX] l10n_hu_edi: Prevent tax audit export from setting invoice chain**
- **[ADD] account_peppol_selfbilling: Peppol Self-Billing backport**
- **[FIX] account_peppol: do not recompute EAS/Endpoint on registered companies**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] core: ensure non zero size for pdf attachment**
- **[REV] account_edi_ubl_cii: Partial revert of "Identify the correct tax at import"**
- **[FIX] account: `_user_can_trust` ensure one**
- **[FIX] l10n_it_edi_withholding: relax import tax check on withholding**
- **[FIX] l10n_it_edi_doi: Remove check on DOI tax being the only one on the line**
- **[FIX] account_edi_ubl_cii: EPD handling in factur-x**
- **[FIX] mail: ignore archived blacklists**
- **[FIX] pos_self_order: fix qr for pos_self_order**
- **[FIX] purchase: fetch discount from vendor in catalog**
- **[FIX] web_editor, mass_mailing: mark field dirty when leaving code view**
- **[FIX] auth_totp_portal: fix secret copy button**
- **[FIX] stock: Prevent RuntimeError on Transit from sublocation**
- **[FIX] sale_timesheet_margin: Timesheet cost compute**
- **[REV] account: portal bill report no proforma**
- **[FIX] account_edi_ubl_cii: automate bill line grouping**
- **[FIX] account_edi_ubl_cii: include sale moves and prevent duplicate PDF**
- **[FIX] base: find or create bank with company contact**
- **[FIX] microsoft_calendar: avoid recurring editing outlook for other users**
- **[FIX] l10n_my_edi: correct prepaid and payable amounts for specific document types**
- **[FIX] im_livechat: rephrase chatbot completion message in composer**
- **[FIX] point_of_sale: disallow multiple order by refund**
- **[FIX] stock: Improve error message on package consistency check**
- **[FIX] l10n_it_edi_ndd_account_dn: refactor typo for field DatiFattureCollegate**
- **[CLA] christian-ramos-tecnativa Signature**
- **[FIX] sale_stock: prevent unlink of sale order from delivery**
- **[FIX] core: warnings manipulations in vendored werkzeug.urls**
- **[FIX] base_vat: ensure valid NRI GSTINs are accepted**
- **[FIX] l10n_in_edi: error hide for second EDI**
- **[FIX] account{_edi_ubl_cii}: don't group lines at import if link with PO**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: add new language files**
- **[I18N] *: fetch latest Weblate translations**
- **[PERF] l10n_sa_edi: Optimize the sanity check of a journal for onboarding on ZATCA.**
- **[FIX] payment_razorpay: fix name with comma and long name issue**
- **[FIX] base_import: fix for import of some date like "2500/1222" guessed as "%Y.%m.%d" format**
- **[CLA] Update Vauxoo's CLA adding edy1192**
- **[FIX] mail: handle bin/plain attachments**
- **[FIX] account_edi{_ubl_cii}: fix UoM to UNECE code**
- **[FIX] stock_delivery: compute shipping weight on multiple pickings**
- **[FIX] base_import: better import info logs**
- **[FIX] point_of_sale: create move line for change when no cash pm**
- **[FIX] account_edi_ubl_cii: allow zero subtotal lines**
- **[FIX] account_edi_ubl_cii: zugferd xml name**
- **[ADD] l10n_dk_fik: Add Danish FIK payment reference on customer invoices**
- **[FIX] bus: send correct im_status when unlinking presence**
- **[FIX] project_timesheet_holidays: Only create timesheets for validated leaves**
- **[FIX] l10n_ar: allow "Export Invoices" document type for "IVA Sujeto Exento" companies**
- **[FIX] account_edi_ubl_cii: handle non-string regex**
- **[FIX] http: use urlsplit in redirect**
- **[FIX] sale_stock_margin: fix missing company context for _compute_average_price**
- **[CLA] Add CLA for Vedant Madane**
- **[FIX] base: fix Departement typo in country state help string**
- **[FIX] website: allow copyright bg color when footer has no bg color**
- **[CLA] Update Therp company CLA**
- **[FIX] point_of_sale: sort taxes before groupby in session load**
- **[FIX] mrp_account: normalize kit cost by bom.product_qty**
- **[FIX] account_edi_ubl_cii : manage charges in UBL docs**
- **[I18N] *: export 17.0 l10n source terms**
- **[I18N] *: export 17.0 source terms**
- **[I18N] *: fetch latest Weblate translations**
- **[I18N] *: fetch latest Weblate translations**
- **[FIX] l10n_in: prevent error when trying to merge multiple contacts**
- **[FIX] calendar: prevent mail defender from cancelling meetings**
- **[FIX] web: new File() should receive a correct mimetype**
- **[IMP] tests: adding environment variable for browser used in testing**
- **[FIX] partner_autocomplete: ensure valid NRI GSTINs are accepted**
- **[FIX] test: chrome littering**
- **[FIX] website*sale*: tours with translation error**
- **[FIX] account: reconciliation when writeoff is exchange account**
- **[IMP] l10n_ec: new withholding percentages for 2026**
- **[FIX] account: include missing company_dependent on avatax settings**
- **[PERF] stock: prevent MemoryError when running schedulers.**
- **[FIX] l10n_in_hr_payroll: relationship field shown to non-indian employee**
- **[FIX] resource: compute date_to from date_from on a resource time off**
- **[FIX] stock : Fix MemoryError in delivery propagation**
- **[FIX] calendar: add csrf token, use keepquery, remove decline url**
- **[FIX] website: restrict header border width to single value**
- **[FIX] l10n_sa_edi: include cash rounding line in payable amount**
- **[FIX] auth_oauth: USER_PRIVATE_FIELDS at uninstall**
- **[FIX] account: allow preview for invoice with early discount and no date**
- **[FIX] pos*: disable confirm button in `TextInputPopup` if input empty**
- **[FIX] l10n_it_edi: ignore product tax when importing vendor bill from XML**
- **[I18N] *: add missing modules to .weblate.json**
- **[17.0][FIX] stock _find_or_create_global_route search route name passing lang to context**
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr