Tuesday, September 1, 2026
4 changes · master
Enhancements to existing features
Warehouse operators using the Barcode app can now be prompted to combine a receipt with related receipts when scanned products belong to another incoming order. This helps process mixed vendor deliveries without manually identifying each purchase receipt, while keeping the scanned product selected after the receipts are combined.
Original PR description
Purpose ======= When an operator is doing a vendor purchase receipt, they may receive items from different orders without having a direct clear view on which ones they are. They should be able to do…
Purpose ======= When an operator is doing a vendor purchase receipt, they may receive items from different orders without having a direct clear view on which ones they are. They should be able to do their receipt in the Barcode app without wondering about that and just get a suggested batch if items belong to different orders. Functionnality ============== When an operator scans a product which isn't reserved in the currently opened operation, a prop will be displayed to ask the user if they want to batch the receipt with another receipt which contains the scanned product. The user can either batch with another receipt, either add the product or either discard (do nothing, don't add the scanned product.) If they chose to batch with another receipt, both receipts (the current one and the selected one) will be batched together, either in a new batch (if none were already in a batch), either in one of the pickings' batch. If both receipts are already in a different batch, their both batches should be merged together (whihch can result in more than one added picking.) The same thing happens if the user tries to add a product with the `stock.move.line` form view (with the "Add Product" button), the same confirmation dialog will be displayed, and if the user choses to batch, the created move's `picking_id` will be set on the selected picking, and the batch will be opened instead of going back picking. Once the pickings are batched, one of the batched move lines for the scanned product will be incremented and after that, when the batch is opened in the Barcode app, this move line will be auto-selected. So, for the user, the product they scanned before batching the receipt isn't lost, they don't need to re-scan it. Note that this implementation is very basic, it doesn't handle scan of lot/serial numbers nor packages for now. Also note that this feature doesn't require to enable the batch setting, it should work even if this setting is disabled. How suggest receipts to batch are chosen ======================================== For a receipt to appear in the suggest batch pop-up, it should match following requirement - It must share with the opened receipt the same contact, the same company and the same state (to avoid to batch confirmed pickings with draft pickings); - It can't be done nor cancelled. [task-6154300](https://www.odoo.com/odoo/966/tasks/6154300)
Appointment booking pages are easier to create and maintain with tools to copy existing slots or days, edit slots directly from the calendar, and generate fixed-duration time slots while dragging. A new sidebar centralizes booking page management and sharing options, making it simpler for organizers to configure availability and keep long-running appointments tidy.
Original PR description
Sometimes people want to share some specific slots one after the other without having to tediously set them one by one. ## Add a "clone last slot" / "clone last day" action in the list view This…
Sometimes people want to share some specific slots one after the other without having to tediously set them one by one. ## Add a "clone last slot" / "clone last day" action in the list view This eases the set up when most days look the same. The copying is done based on the timezone of the appointment so that the result is always consistent. ## Rework the slot editor ### Custom appointments Previously you could create an appointment via the calendar view, which would allow you to select some slots visually in the calendar before sharing them. We rework this system to be able to edit existing appointments, move and delete slots. This removes the appointment dropdown at the top of the calendar and replaces it with a sidebar where you can create and manage appointments where you are an organizer, which would previously have been listed in the dropdown. From there you can copy the url to share it, enter edition mode to make sure the correct slots are bookable, or edit some basic settings of the appointment type. In this settings form, a new duration field is available that will automatically create slots every X minutes as the user drags. Which is a common thing users want to do for example for house showings. To prevent users from accidentally creating way too many slots at once, this is limited to 24 hours at a time which should be more than sufficient. ### Recurring appointments It is also possible to edit recurring appointments by going to their form using a new stat button. It works very similarly to the custom appointments except slots are only split around midnight. Bookable slots (those shown in the frontend, called "subslots" in this code) are represented inside each slot. Depending on duration and "create slots every X hours" settings of the appointment type. ## Old slots garbage collection To avoid cluttering the slots for long-lived appointments, a new garbage collection mechanism is added to remove slots older ending over 1 week ago, always leaving the last 40 slots so users can have an idea of what the schedule was like on old unused appointment types. task-5072614
Mexican eCommerce customers now choose invoicing through clearer buttons, and invoice details are only shown and required when needed. Company name and RFC collection is moved into the dedicated invoicing flows for checkout, address pages, and POS tickets, making invoicing data easier to capture and store correctly.
Original PR description
Improve the dedicated Mexican invoicing checkout step: - replace the "need invoice" Yes/No radios with two buttons, and only require and show the invoicing fields when an invoice is requested - add the Company Name field here and hide the B2B fields (Company Name + RFC) from the address form, both in checkout and in /my/address - read and save the invoicing data on the order's invoice contact (partner_invoice_id) instead of the main partner - POS ticket screen: Collect RFC through the localisation fields required to invoice task-[6234716](https://www.odoo.com/odoo/project/967/tasks/6234716)
Point of Sale can now use payment methods linked to different currencies, allowing shops to accept payments in more than one currency without blocking POS setup. Cashiers will see the relevant currency per payment method, while order totals remain shown in the POS configuration currency.
Original PR description
In some countries it's common to accept multiple currencies when making sales, but we don't let users open POS configs if they assigned to the POS payment methods for journals which use different currencies. This should let users create payment methods assigned to multiple currencies and then still open the POS. If there are multiple currencies set up on the POS, the payment screen will show the corresponding currency for each payment method. The totals are still shown in the config currency, but when selecting a payment method in a different currency there will be the price in the new currency between brackets on the payment line. Task-[5110998](https://www.odoo.com/odoo/project/1737/tasks/5110998) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr