Tuesday, September 16, 2025
9 changes · 19.0
Enhancements to existing features
The Argentine localization now uses the new ARCA name instead of the former AFIP name across labels, messages, documentation text, and related electronic invoicing references. This keeps customer-facing wording aligned with the renamed fiscal authority and reduces confusion for Argentine businesses.
Original PR description
Purpose: - The fiscal institution changed its name to ARCA. - That's why we substitute 'AFIP' (Administración Federal de Ingresos Públicos) by 'ARCA' (Agencia de Recaudación y Control Aduanero) everywhere in AR localization task-4986899
Updates the Argentine localization to use the new ARCA name instead of the former AFIP name across labels, data, documentation text, and examples. This keeps customer-facing tax terminology aligned with Argentina's renamed fiscal authority and reduces confusion for local users.
Original PR description
Purpose: - The fiscal institution changed its name to ARCA. - That's why we substitute 'AFIP' (Administración Federal de Ingresos Públicos) by 'ARCA' (Agencia de Recaudación y Control Aduanero) everywhere in AR localization task-4986899
Mobile users will again see a subtle three-dot action button beside each message, making message options easier to discover without relying on long press. This improves usability on phones and tablets, especially where long press can be unreliable or trigger unwanted text selection.
Original PR description
This was removed when adding support for long press, as it feels unnecessary with long press feature. However there are still arguments to keep showing the "..." button: - it's not that obvious that…
This was removed when adding support for long press, as it feels unnecessary with long press feature. However there are still arguments to keep showing the "..." button: - it's not that obvious that action are triggered from long press, especially when this is a rare case it works in Odoo - long press experience is still not the best on some mobile device, e.g. iOS really wants to select text. Even though the whole message is not selectable to minimize the issue, it can still trigger selection of text somewhere else. - debugging mobile in responsive mode of browser requires long-press but this usually also lead to accidentally pressing the message action that is immediately shown in bottom sheet. - It looks weird for bubbles to go too much on the other end of the screen: avatars should be their own lane, no bubble should touch it. Having the "..." button is not wasted space as the bubble wouldn't really use it. This commit reintroduce "..." button shown in mobile next to all messages. Same as before: the opacity is fine-tuned to be visible but not distracting compared to message and their content. Before <img width="444" height="831" alt="Screenshot 2025-09-15 at 15 58 53" src="https://github.com/user-attachments/assets/a1ec6b0b-1ae2-4b30-abe5-e012e2d43d78" /> After <img width="442" height="830" alt="Screenshot 2025-09-15 at 15 57 52" src="https://github.com/user-attachments/assets/d4aa7e46-d7b8-4b5c-b59e-6b8146fd098b" />
Imported bank statement transactions now use the reconciliation rules linked to the journal's company. This helps payments and bank entries match more accurately during reconciliation, reducing manual work and mistakes.
Original PR description
This commit will apply the reconciliation model of the company of the journal so that imported transaction have the rights reco model applied. task-5092016
GST return reconciliation now matches draft and cancelled vendor bills more reliably when they have a valid invoice reference or IRN. This reduces missed matches during GST-2B reconciliation while keeping stricter checks for posted bills.
Original PR description
Before this PR: - `line_ids.tax_ids` filter was applied too early, excluding some valid draft/cancelled bills. - Bill reference and IRN checks were not consistently combined, leading to missed matches in reconciliation. - Posted bills could be incorrectly excluded when the reconciliation status was not considered properly. After this PR: - Refined domain grouping so `line_ids.tax_ids` and GST treatment checks only apply for posted bills. - Draft/cancelled bills are matched if they have a valid IRN or bill reference. - Posted bills require bill reference, tax, reconciliation status, and GST treatment checks for accurate matching. This ensures more reliable matching of draft bills with GST-2 B during the GST return period reconciliation. Forward-Port-Of: odoo/enterprise#94384
The work entry planning view now shows duration totals more clearly and highlights rows when the duration differs from the expected value. This helps HR teams spot scheduling or attendance discrepancies faster before payroll processing.
Original PR description
Display duration if it's not the expected value Display the row duration sum in column and black if it's the expected value, or in warning task-5068597
Email marketing templates and mail composers no longer offer checklist insertion options. This prevents users from adding checklist formatting that does not display correctly in sent emails, helping keep customer-facing messages clear and reliable.
Original PR description
This task focuses on the following improvements: - removed /checklist command. - removed checkbox option from snippet options. - disabled checklist from toolbar items in mail composer. - removed checklist from power buttons in mail composer. - removed checklist from powerbox in mail composer. Task-3107481
Expense card views now look closer to real payment cards, making them easier for employees to recognize and use. The update also corrects how dark theme styling is applied so the card display remains consistent across themes.
Original PR description
This improves the kanban display to match more closely to the real one. In addition, it fixes the dark theme scss override being also loaded in the regular scss
Point of Sale users can now reopen configurable and combo products directly from an order line to adjust choices without starting over. Matching edited lines are merged automatically, pricing is handled correctly for combo items, and custom text values are kept after refresh, reducing checkout errors and duplicate lines.
Original PR description
Task: [#4890396](https://www.odoo.com/odoo/my-tasks/4890396) Community PR: [#221924](https://github.com/odoo/odoo/pull/221924) --- Improves the POS experience by allowing users to reopen and edit…
Task: [#4890396](https://www.odoo.com/odoo/my-tasks/4890396) Community PR: [#221924](https://github.com/odoo/odoo/pull/221924) --- Improves the POS experience by allowing users to reopen and edit configurable and combo products directly from their orderlines. When a product is edited to match another existing line, the lines are automatically merged to avoid duplicates. - Introduced `useTimedPress` to support both click and long press interactions. - Reopening a configurator now pre-fills default attributes, custom values, and combo selections. - Removed click delay when selecting an orderline, improving responsiveness. - Extracted logic for configurator, combo choice, unit price computation, and orderline merging from `addProductToOrder` into dedicated functions (`tryMergeOrderline`, etc.) for reuse across the codebase. --- The Combo/Product Configurator popups no longer receive default values directly. Instead, they now work with the orderline passed as a prop. ** Combo Configurator Popup ** - Use `props.line.selectedComboIds` as the source for default values. - Save the initial `state.combo` so it can be restored on discard. - Add a **Discard** button in the popup footer. ** Product Configurator Popup ** - Use `props.line.selectedAttributes` for the default values. - If there is no orderline like new combo item, fall back to `props.comboItem?.saveStateAttributes`. - Save the initial `state.selectedAttributes` so it can be restored on discard. - Expose `selectedAttributes` on `pos.orderline` as a function so it can be recomputed at any time. ** Bug Fix: Price ** - Fixed a bug where updating a combo item directly from the Order Summary used the wrong price (ignoring the combo). - We now open the **Combo Configurator** instead of the **Product Configurator** when editing a combo item from the Order Summary. --- When refreshing the page, we also lose the `free text` of the `custom_attribute_value`. By adding the model `product.attribute.custom.value` to the `get databaseTable()` from `DataServiceOptions`, we ensure that the records are saved in IndexedDB Forward-Port-Of: odoo/odoo#227106 Forward-Port-Of: odoo/odoo#221924