Tuesday, September 1, 2026
6 changes · 19.0
Enhancements to existing features
Indian POS orders now decide whether to create an invoice based on the customer's GST treatment instead of whether the contact is marked as a company. This helps ensure GST-registered business customers receive mandatory tax invoices, while consumer and unregistered customers are treated as retail sales.
Original PR description
### **PURPOSE** - Currently, we enable Invoice checked based on 'is_company' (i.e Contact Type) - However, in India, for businesses registered under GST, It is mandatory to issue a Tax Invoice. ### **SPECIFICATION** - Invoice generation in POS must be determined based on GST Treatment Type - If the contact’s GST Treatment Type is not equal to “Consumer,” not equal to “Unregistered,” and not empty. Treat it as B2B and make the invoice boolean True. - For all other cases than this, treat it as B2C and make invoice boolean False task-4894111
This change reuses an existing rental product rule instead of defining a separate one in the rental stock area. It makes the behavior easier for other Odoo extensions to customize while keeping the current rental stock calculations unchanged.
Original PR description
There is already an existing hook on product.product ([sale_renting.models.product_product.ProductProduct._get_qty_in_rent_domain](https://github.com/acsone/enterprise/blob/2cd105c93bb7199a5ecea67a919a7ab5d9251cbf/sale_renting/models/product_product.py#L24)), use it to get the domain, so it can be inherited by other modules.
While the upstream method uses `('product_id', 'in', self.ids)` instead of this one's `('product_id', '=', self.id)`, this isn't an issue since there's a `self.ensure_one()` just above.Invoice journal item lines now hide zero debit and credit amounts, making the accounting details easier to read. This reduces visual clutter for users reviewing invoice entries without changing the underlying accounting data.
Original PR description
Mutes the 0.0 credit and debit amounts for journal items page in the invoices form view
The invoices list now includes an "In Payment" filter so users can quickly find posted invoices where payment has been started but not fully completed. This helps finance teams distinguish completed payments from invoices still awaiting final payment confirmation.
Original PR description
Created a new payment filter "In Payment" in invoices list view, to filter posted and in_payment invoices.
Cancelled invoices now hide the due date because no payment is expected after cancellation. This reduces confusion for users reviewing invoice details and keeps the invoice view focused on relevant information.
Original PR description
Make due date invisible for cancelled invoices task from the onboarding.
When appointment staff update only the capacity, the system now automatically chooses suitable resources using the same logic as online bookings. Manual resource choices are still respected when users update resources directly, helping reduce scheduling effort without removing control.
Original PR description
If the user only selects a new capacity, and not new resources it is best to set the resources with logic similar to what is used when an attendee would want to book from the website front-end. If both resources and capacity are updated (or only resources) then the behavior remains the same as before, so users are still able to manually assign resources. task-6185278