Daily updates from Odoo
Friday, January 2, 2026
4 changes
1 change
New functionality added to Odoo
This update adds the ability to generate e-invoices in Croatia, specifically for the MojEracun system. It utilizes a new proxy client to handle communication with the eRacun network and ensures compliance with Croatian e-invoice standards. Testing includes XSD validation to guarantee accurate invoice generation.
Original PR description
Adding e-invoice generation base functionality for Croatia. Implemented as an extension of account_edi_ubl_cii, similar to other localisations using such documents. Adding proxy client for MojEracun sevice provider to send invoiced on the eRacun network. Proxy user is entirely separate from the standard Odoo IAP EDI proxy implementation. Adding UBL 2.1 compliant node `cac:SellerContact` to existing node `cac:AccountingSupplierParty` to be used in Croatian e-invoice XLM generation with the new method chain. XSD validation included in the tests on the client side as there is no corresponding Odoo IAP proxy. task-4925745 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241784 Forward-Port-Of: odoo/odoo#230757
2 changes
New functionality added to Odoo
This update adds a new 'Inbox' tab to the messaging menu, providing a central location to view all notifications – both read and unread – if the user prefers to handle them within Odoo. The tab uses lazy loading to efficiently display notifications as the user scrolls, improving performance and usability. This simplifies notification management for users.
Original PR description
**Current behavior before PR:** The messaging menu does not include a tab to view notifications that have already been read. Once read, these notifications disappear from the interface and are only accessible through the Discuss App. **Desired behavior after PR is merged:** A new Inbox tab is added to the messaging menu. This tab displays both unread and read notifications, provided the user’s notification preference is set to “Handle in Odoo.” The Inbox tab uses lazy loading to fetch messages in batches as the user scrolls. task-[4458377](https://www.odoo.com/odoo/project/1519/tasks/4458377) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update adds a dependency on the 'certificate' module for the `l10n_es_edi_verifactu` module. This change was necessary due to a restructuring of the underlying data model within Odoo. While you can still uninstall the 'certificate' module, doing so will cause issues with the `l10n_es_edi_verifactu` module.
Original PR description
Starting from version `18.0`, the module `l10n_es_edi_verifactu` is dependent to `certificate` because of moving the model `l10n_es_edi_verifactu.certificate` into standard model…
Starting from version `18.0`, the module `l10n_es_edi_verifactu` is dependent to `certificate` because of moving the model `l10n_es_edi_verifactu.certificate` into standard model `certificate.certificate`[^1].
On the other side when we install the module `l10n_es_edi_verifactu` then the `certificate` is beiung installed because:
1. (dependency)[^2] --> l10n_es
2. (auto install)[^3] --> l10n_es_edi_facturae
3. (dependency)[^4] --> certificate
But we can uninstall the `certificate` while having `l10n_es_edi_verifactu`. It will make the db unusable with this traceback if we uninstall `certificate`:
```
Traceback (most recent call last):
File "/home/odoo/.local/lib/python3.10/site-packages/werkzeug/serving.py", line 319, in run_wsgi
execute(self.server.app)
File "/home/odoo/.local/lib/python3.10/site-packages/werkzeug/serving.py", line 316, in execute
application_iter.close() # type: ignore
File "/home/odoo/.local/lib/python3.10/site-packages/werkzeug/wsgi.py", line 466, in close
callback()
File "/home/odoo/.local/lib/python3.10/site-packages/werkzeug/wrappers/response.py", line 439, in close
func()
File "/home/odoo/src/odoo/18.0/addons/bus/websocket.py", line 916, in <lambda>
response.call_on_close(lambda: cls._serve_forever(
File "/home/odoo/src/odoo/18.0/addons/bus/websocket.py", line 1030, in _serve_forever
for message in websocket.get_messages():
File "/home/odoo/src/odoo/18.0/addons/bus/websocket.py", line 322, in get_messages
self._handle_transport_error(exc)
File "/home/odoo/src/odoo/18.0/addons/bus/websocket.py", line 625, in _handle_transport_error
registry = Registry(self._session.db)
File "/home/odoo/src/odoo/18.0/odoo/modules/registry.py", line 108, in __new__
return cls.new(db_name)
File "<decorator-gen-13>", line 2, in new
File "/home/odoo/src/odoo/18.0/odoo/tools/func.py", line 97, in locked
return func(inst, *args, **kwargs)
File "/home/odoo/src/odoo/18.0/odoo/modules/registry.py", line 129, in new
odoo.modules.load_modules(registry, force_demo, status, update_module)
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 485, in load_modules
processed_modules += load_marked_modules(env, graph,
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 365, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/18.0/odoo/modules/loading.py", line 195, in load_module_graph
model_names = registry.load(env.cr, package)
File "/home/odoo/src/odoo/18.0/odoo/modules/registry.py", line 302, in load
model = cls._build_model(self, cr)
File "/home/odoo/src/odoo/18.0/odoo/models.py", line 736, in _build_model
raise TypeError("Model %r does not exist in registry." % name)
TypeError: Model 'certificate.certificate' does not exist in registry. - - -
```
[^1]: https://github.com/odoo/odoo/pull/219953
[^2]: https://github.com/odoo/odoo/blob/b991f766e28dc71f8627fdfbf2d59589d9707d3a/addons/l10n_es_edi_verifactu/__manifest__.py#L9
[^3]: https://github.com/odoo/odoo/blob/b991f766e28dc71f8627fdfbf2d59589d9707d3a/addons/l10n_es_edi_facturae/__manifest__.py#L41
[^4]: https://github.com/odoo/odoo/blob/b991f766e28dc71f8627fdfbf2d59589d9707d3a/addons/l10n_es_edi_facturae/__manifest__.py#L16
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr1 change
New functionality added to Odoo
This update adds the functionality to generate e-invoices in Croatia, specifically for the MojEracun system. It utilizes a new proxy client to interact with the eRacun network, ensuring compliance with Croatian e-invoice standards. XSD validation is included to guarantee the accuracy of the generated invoices.
Original PR description
Adding e-invoice generation base functionality for Croatia. Implemented as an extension of account_edi_ubl_cii, similar to other localisations using such documents. Adding proxy client for MojEracun sevice provider to send invoiced on the eRacun network. Proxy user is entirely separate from the standard Odoo IAP EDI proxy implementation. Adding UBL 2.1 compliant node `cac:SellerContact` to existing node `cac:AccountingSupplierParty` to be used in Croatian e-invoice XLM generation with the new method chain. XSD validation included in the tests on the client side as there is no corresponding Odoo IAP proxy. task-4925745 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#241794 Forward-Port-Of: odoo/odoo#230757