Thursday, September 7, 2023
18 changes · master
New functionality added to Odoo
Thai localization now supports PromptPay QR codes on invoices, making it easier for customers in Thailand to pay quickly via supported banking apps. This improves invoice payment convenience and helps businesses streamline payment collection.
Original PR description
Impacted Version: - 17.0 and above This commit improve below features: - Add PromptPay QR code payment for invoice based on below github repository https://github.com/kittinan/thai-qr-payment task-3165449
Sales teams can now offer optional product add-ons as simple checkboxes, with each selected option adding its own extra price. This makes it easier to sell customizable extras without creating separate product variants, while keeping the selected options visible on sales documents.
Original PR description
Currently there is no efficient way to suggest extra-options to customers in PoS or eCommerce. Extra options should be easily selected by customers (or PoS waiters) with checkbox. Each checked option would add an extra-price to the product price and appear on tickets, receipts, invoices, kitchen display, ... This commit introduces a new type of attribute: multi-checkbox. This will not create product variants. A default extra-cost is defined at the attribute level, but it can be changed at the product level. The new attribute is available in Sales, not yet in eCommerce and PoS (will be in a future task). task-3256585
Enhancements to existing features
Accounting now includes validation helpers for structured payment references used in Belgium, Finland, Norway, Sweden, and ISO formats. This improves payment communication accuracy and supports more country-specific banking requirements for SEPA-related workflows.
Original PR description
Add helper functions to check structured communication references for ISO (existing), Belgium, Finland, Norway and Sweden. [task-3284330](https://www.odoo.com/web#id=3284330&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Related to https://github.com/odoo/enterprise/pull/41629 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
Fixed how Point of Sale order dates are prepared so they use the format expected by the system. This helps prevent issues when retrieving or processing sales tickets, including restaurant orders, caused by incompatible date values.
Original PR description
Before this commit ================== Previously, the order date was being passed in the incorrect format: 'Fri Aug 04 2023 18:37:27 GMT+0530 (India Standard Time)'. Our code requires the format 'yyyy-MM-dd HH:mm:ss'." After this commit ================= Implemented changes to rectify the order date format, ensuring compatibility with 'yyyy-MM-dd HH:mm:ss'. This update includes adjustments to the processing flow to precise handling of order dates. task - 3451384
Code cleanup and technical improvements
The point of sale app now uses one shared number pad across its screens instead of several separate versions. This makes the checkout interface easier to maintain and helps keep the cashier experience more consistent over time.
Original PR description
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component. One of the reasons why there are…
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component.
One of the reasons why there are multiple numpads is because each requires a slightly different set of buttons. The new `Numpad` component provides a simple API which allows the consumer to specify what the buttons should be.
This is done by proving the `buttons` prop, which has the following type:
```js
buttons: {
type: Array,
element: {
type: Object,
shape: {
value: String,
text: { type: String, optional: true },
class: { type: String, optional: true },
disabled: { type: Boolean, optional: true },
},
},
}
```
In this PR we also provide a simple set of helper functions for the tours and adapt all of the existing tests accordingly.
https://github.com/odoo/enterprise/pull/46427
Task: 3470346
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prProducts created or linked through POS combos are now available in the Point of Sale by default, reducing setup steps for staff. The update also prevents combo-related products from being disabled in POS, helping avoid broken combo offers during sales.
Original PR description
Products can be created directly from the `pos.combo` view. Before this PR, such products would not be automatically available in the POS app. This PR makes it so products linked to combos are available in POS by default. We also introduce an additional check that makes it so products associated to combos cannot be disabled in the pos. Task: 3481899 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Live chat sessions embedded on websites now use guest visitor records instead of broader public-user handling. This makes visitor conversations cleaner and more consistent across live chat, mail, CRM live chat, and website live chat flows.
Original PR description
*: mail, test_discuss_full, website_livechat. part of task-3332628 enterprise: https://github.com/odoo/enterprise/pull/45767 upgrade: https://github.com/odoo/upgrade/pull/5049
The website editor now lets users drag and drop content blocks within editable areas, making it easier to place new content between blocks that cannot be edited directly. This improves page editing workflows for cases like separators or template blocks where cursor placement was previously difficult.
Original PR description
- [REF] web_editor,mass_mailing,website: make `closestElement` support `predicate` - [REF] web_editor: prepare absolute containers for the movable node - [IMP] web_editor: drag and drop nodes within the editable PURPOSE The main reason is that when there are two block side by side that are not editable (eg. the `HR` tag, the `/template` block), it is impossible to set the cursor in between to add more content. task-2984709 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now adjust the order of product attributes after adding them to a product. This makes product setup more flexible and helps businesses present product options in the preferred sequence.
Original PR description
Currently the user cannot modify the order as he adds new attribute to the product .In this commit he will be able to do that task-3451377 Desc
Sales and inventory settings now include Shiprocket as a third-party shipping connector. This makes it easier for businesses using Shiprocket to discover and configure shipping integration options from Odoo settings.
Original PR description
Shiprocket added in settings as a third-party shipping connector. task-3071078 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Expense receipts are now easier to read by showing the expense name alongside the filename and improving how receipt previews are positioned. This helps employees and approvers quickly identify and review receipts without visual overlap or hidden titles.
Original PR description
The goal of this PR is to improve the readability of expense receipts on hr_expense and hr_expense_sheet. This PR do the following: - Add the expense name next to the filename - Vertically center the receipt on both model (was previously done in hr_expense but not for the sheet) - Make sure the title doesn't get hidden by the image (was previously done in hr_expense but not for the sheet) Also, to achieve the first point we had to modify the attachment so that we can retrieve easily the information of which line the attachment is attached. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale screens now use one shared number pad component instead of several separate versions. This makes the interface more consistent across POS, IoT payment flows, and restaurant preparation displays, while reducing maintenance effort and improving test reliability.
Original PR description
pos*: pos_iot, pos_restaurant_preparation_display
At the moment, the point_of_sale module has 3 different implementations of numpads. This is absurd. In this PR we unify them all into a single numpad component.
One of the reasons why there are multiple numpads is because each requires a slightly different set of buttons. The new `Numpad` component provides a simple API which allows the consumer to specify what the buttons should be.
This is done by proving the `buttons` prop, which has the following type:
```js
buttons: {
type: Array,
element: {
type: Object,
shape: {
value: String,
text: { type: String, optional: true },
class: { type: String, optional: true },
disabled: { type: Boolean, optional: true },
},
},
}
```
In this PR we also provide a simple set of helper functions for the tours and adapt all of the existing tests accordingly.
[Odoo: odoo/132245
](https://github.com/odoo/odoo/pull/132245)Task: 3470346Live chat visitors in the Helpdesk website flow are now treated as guests when interacting with chatbots and support ticket creation. This improves consistency for anonymous website users and helps ensure support conversations can be converted into tickets more reliably.
Original PR description
part of task-3332628 community: https://github.com/odoo/odoo/pull/129770/files
SEPA payment files now recognize structured payment references and place them in the correct section of the file. This improves compatibility with banking standards in supported countries and reduces the risk of payment processing issues caused by incorrectly formatted references.
Original PR description
When creating SEPA files to perform payments, we did not check for structured references and always put the reference in the `Ustrd` field in the SEPA xml file. This change makes sure we check whether the reference of a move is a structured reference (ISO CF, BE, CH, FI, NO or SE), and if so, add the reference in the right `Strd` field along with the correct tags for that type of structured reference. [task-3284330](https://www.odoo.com/web#id=3284330&cids=1&menu_id=4720&action=333&active_id=967&model=project.task&view_type=form) Related to https://github.com/odoo/odoo/pull/122835
Event tickets and foldable badges now include QR codes alongside existing barcodes, making them easier to scan with smartphones. Ticket layouts have been adjusted to fit both codes, and sample tickets now show a default QR code.
Original PR description
As qr codes are simpler to scan on smartphones, they are added alongside the existing barcode on event full page tickets as well as foldable badges. Space on tickets is reworked and redistributed to do so. The example tickets on events are also given a default qr code. The qr code is based on the barcode and represents the same registration number. The route /report/barcode is used to generate the codes. It allows users to access their tickets even if they are not logged in. UPG PR - https://github.com/odoo/upgrade/pull/5007 COM PR - https://github.com/odoo/odoo/pull/120933 Task-3061851
The self-ordering kiosk now correctly shows the combo page header with steps and product names. This helps customers follow the ordering flow more easily and avoids confusion when selecting combo items.
Original PR description
Previously, header height in pages was managed by `kiosk_template.js` and in the various other components via props. This caused a bug in the `combo.xml` page, as the header with steps and product names was not displayed. Now the height of header, content and footer is managed entirely via the components and never via the template. This corrects the error in question.
This fixes an issue where Point of Sale could keep loading only products from previously restricted categories even after category restrictions were turned off. Stores using POS will now see the full expected product catalog when restrictions are disabled, reducing missing-product confusion during sales.
Original PR description
The products are not correctly loaded in the POS because of a bug regarding the `Restrict Categories` feature. Steps to reproduce: 1. Create a `pos config` with `Restrict Categories` set to: `categ1` and `categ2` 2. Disable `Restrict Categories` 3. Open the POS and notice that although all the categories are present in the category selector, only the products from `categ1` and `categ2` are loaded. Task: 3497308 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
QIF bank statement uploads no longer fail when the file uses an encoding other than UTF-8, such as ISO-8859-1. The system now detects the file encoding automatically, making imports more reliable for users receiving statements from different banks or regions.
Original PR description
When uploading a QIF file, the UTF-8 encoding is assumed, which causes a traceback if a different encoding is used (e.g. ISO-8859-1). To solve the above, encoding is automatically detected. X-original-commit: 8f43bc558c16f67e394cb76fc3e4a7ea9128d585