Thursday, November 13, 2025
4 changes · 19.0
Enhancements to existing features
The website generator now verifies a website URL before sending a request to create a site. This helps block invalid or blocked addresses early, reducing unnecessary processing and avoiding failed scraper attempts.
Original PR description
This PR adds the client side verification of an url for the request we make to generate a website using the website scraper. **The goal is to filter all the unwanted requests (invalid urls, banned urls) before launching the scraper process.** The check is done on the IAP server, and retrieved on the DB. The reason is that we don't want to send a request directly from the db [as this was already discussed](https://github.com/odoo/enterprise/pull/92724). Since the IAP server is also the one that will eventually do the scraping request, it also makes more sense that it is the one to check (to avoid the case where odooDB has access to an URL and IAP server does not).
We removed the warning that compared HSN codes with product type, and now the product type is inferred directly from the HSN. This reduces unnecessary alerts during invoicing while still stopping invoices when the HSN is missing or invalid, helping users complete entries more reliably.
Original PR description
With this **PR**, we remove the warning about mismatches between HSN code and product type. From now on, the product type will be derived directly from the HSN code: if the HSN starts with '99', it will be considered a 'service'; otherwise, it will be treated as 'goods'. This simplifies the user experience by reducing unnecessary warnings. This will also cover cases where the product is service but the HSN is of goods for e.g. Job Work, Discount Line etc. Additionally, invalid/missing HSN on invoice line will now raise a blocking warning. **task**-5061450 Community PR - https://github.com/odoo/odoo/pull/227879
This update makes Indian invoicing easier by removing confusing HSN mismatch warnings and automatically determining whether an item is goods or a service from its HSN code. It also enforces required HSN entries and automatically shortens overly long product descriptions for e-invoicing and e-waybill submissions, helping avoid file rejection while alerting users when changes are made.
Original PR description
**[IMP] l10n_in_*: streamline HSN warnings** - With this PR, we remove the warning about mismatches between HSN code and product type. From now on, the product type will be derived directly from the…
**[IMP] l10n_in_*: streamline HSN warnings** - With this PR, we remove the warning about mismatches between HSN code and product type. From now on, the product type will be derived directly from the HSN code: if the HSN starts with '99', it will be considered a 'service'; otherwise, it will be treated as 'goods'. This simplifies the user experience by reducing unnecessary warnings. This will also cover cases where the product is service but the HSN is of goods for e.g. Job Work, Discount Line etc. - Additionally, invalid/missing HSN on invoice line will now raise a blocking warning. **[IMP] l10n_in_*: truncate product descriptions for e-invoicing** - Product descriptions in invoice lines must comply with character limits for e-invoicing and e-waybill: - E-invoicing: maximum 300 characters - E-waybill: maximum 100 characters for both product names and descriptions - Descriptions exceeding these limits are automatically truncated in the generated JSON. A user alert is displayed during sending to notify about any truncation. **task**-5061450 Enterprise PR - https://github.com/odoo/enterprise/pull/95108
The Point of Sale screen now shows a "force done" option when a payment line gets stuck waiting for a terminal response. This helps cashiers keep serving customers instead of being blocked by an unresponsive payment device.
Original PR description
If a payment line is stuck in a waiting state (e.g. payment terminal not responding to a request), we now display the "force done" button, to avoid blocking the user. Forward-Port-Of: odoo/odoo#235244