Daily updates from Odoo
Wednesday, January 14, 2026
19 changes
3 changes
New functionality added to Odoo
This update reflects new regulations from the Mexican government (DOF) regarding Employment Subsidy calculations for 2026. The UMA subsidy percentage has been adjusted to 15.59% from January 1st, 2026, and 15.02% from February 1st, 2026, ensuring compliance with current tax laws.
Original PR description
As per the DOF publication on December 31, 2025, the UMA percentages used to calculate the Employment Subsidy have been updated for 2026. New values: - From Jan 1st, 2026: 15.59% - From Feb 1st, 2026: 15.02% This commit adds these new parameter values to "Mexico: UMA Percentage for Subsidy". Reference: https://www.dof.gob.mx/nota_detalle.php?codigo=5777649&fecha=31/12/2025 target: 19.0 task-5488347 Forward-Port-Of: odoo/enterprise#104053
This update adds support for payment channels in Thailand (TH), Malaysia (MY), and Vietnam (VN) through Xendit. This expansion allows our business users to accept payments from customers in these key Southeast Asian markets, broadening our reach and payment capabilities.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#243430 Forward-Port-Of: odoo/odoo#189527
This update reflects a recent change in the daily UMA (Mexican Wage Base) value as determined by INEGI, effective February 1st, 2026. The new value of 117.31 MXN ensures accurate payroll calculations for Mexican employees within the Odoo Enterprise system. This change is necessary to comply with updated Mexican tax regulations.
Original PR description
As per the INEGI press release (published on January 8, 2026), the daily UMA value has been updated for 2026. New value: 117.31 MXN Effective date: February 1st, 2026. This commit adds this new parameter value to "Mexico: Daily UMA". Reference: https://www.inegi.org.mx/app/saladeprensa/noticia/10533 target: 19.0 task-5488243 Forward-Port-Of: odoo/enterprise#104064
2 changes
New functionality added to Odoo
This update adds support for payment channels in Thailand (TH), Malaysia (MY), and Vietnam (VN) through Xendit. This expansion allows Odoo to process payments from these key markets, broadening our customer base and improving payment flexibility.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#189527
This update allows businesses to seamlessly handle self-billed invoices, a key requirement for Peppol integration. It enables the export of vendor bills as compliant self-billed invoices and the import of Peppol-provided invoices into Odoo, streamlining accounting processes and facilitating international trade.
Original PR description
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice…
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice internally for accounting purposes. Peppol provides the ability for customers to send self-billed invoices to the vendor over the Peppol network. This way the vendor can verify whether the invoice is correct. See the Peppol documentation at https://docs.peppol.eu/poacc/self-billing/3.0/bis-sb/ #### This PR provides (1) the ability to export vendor bills as self-billed invoices conformant to the BIS3 standard (2) the ability to import BIS3 self-billed invoices as customer invoices (3) the ability to send vendor bills as self-billed invoices over Peppol (4) the ability to receive self-billed invoices from Peppol in a specified Sales journal. #### Configuration Purchase journals now have a `Is Self Billing` boolean field. Self-billing journals have a per-partner sequence, and can send vendor bills as self-billing invoices via Peppol if the option is activated in the Peppol configuration. We also add the self-billed invoice Peppol document type IDs in the list of documents which the user can select or deselect to allow/prevent reception of those document types. Backport of https://github.com/odoo/odoo/pull/222658 Enterprise PR: https://github.com/odoo/enterprise/pull/97803 Upgrade PR: https://github.com/odoo/upgrade/pull/8886 task-5153851 Forward-Port-Of: odoo/odoo#232548
2 changes
New functionality added to Odoo
This update expands Odoo's payment capabilities to include Xendit, a popular payment gateway, in Thailand, Malaysia, and Vietnam. The changes add necessary configurations to support local payment channels, enabling businesses to accept payments from customers in these regions.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#189527
This update allows businesses to seamlessly handle self-billed invoices, a key requirement for Peppol integration. It enables exporting vendor bills as compliant invoices, importing Peppol invoices, and sending/receiving them via the Peppol network, streamlining accounting processes and verifying invoice accuracy.
Original PR description
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice…
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice internally for accounting purposes. Peppol provides the ability for customers to send self-billed invoices to the vendor over the Peppol network. This way the vendor can verify whether the invoice is correct. See the Peppol documentation at https://docs.peppol.eu/poacc/self-billing/3.0/bis-sb/ #### This PR provides (1) the ability to export vendor bills as self-billed invoices conformant to the BIS3 standard (2) the ability to import BIS3 self-billed invoices as customer invoices (3) the ability to send vendor bills as self-billed invoices over Peppol (4) the ability to receive self-billed invoices from Peppol in a specified Sales journal. #### Configuration Purchase journals now have a `Is Self Billing` boolean field. Self-billing journals have a per-partner sequence, and can send vendor bills as self-billing invoices via Peppol if the option is activated in the Peppol configuration. We also add the self-billed invoice Peppol document type IDs in the list of documents which the user can select or deselect to allow/prevent reception of those document types. Backport of https://github.com/odoo/odoo/pull/222658 Enterprise PR: https://github.com/odoo/enterprise/pull/97803 Upgrade PR: https://github.com/odoo/upgrade/pull/8886 task-5153851 Forward-Port-Of: odoo/odoo#232548
2 changes
New functionality added to Odoo
This update expands Odoo's payment capabilities to include Xendit, a popular payment gateway, in Thailand, Malaysia, and Vietnam. The changes add the necessary configurations to support local payment channels through Xendit, enabling businesses to accept payments from customers in these regions.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#189527
This update introduces support for Peppol Self-Billing, allowing customers to create invoices on behalf of vendors for easier accounting. It enables the export of vendor bills as compliant invoices and allows receiving these invoices directly within Odoo, streamlining the billing process for Peppol transactions.
Original PR description
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice…
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice internally for accounting purposes. Peppol provides the ability for customers to send self-billed invoices to the vendor over the Peppol network. This way the vendor can verify whether the invoice is correct. See the Peppol documentation at https://docs.peppol.eu/poacc/self-billing/3.0/bis-sb/ #### This PR provides (1) the ability to export vendor bills as self-billed invoices conformant to the BIS3 standard (2) the ability to import BIS3 self-billed invoices as customer invoices (3) the ability to send vendor bills as self-billed invoices over Peppol (4) the ability to receive self-billed invoices from Peppol in a specified Sales journal. #### Configuration Purchase journals now have a `Is Self Billing` boolean field. Self-billing journals have a per-partner sequence, and can send vendor bills as self-billing invoices via Peppol if the option is activated in the Peppol configuration. We also add the self-billed invoice Peppol document type IDs in the list of documents which the user can select or deselect to allow/prevent reception of those document types. Backport of https://github.com/odoo/odoo/pull/222658 Enterprise PR: https://github.com/odoo/enterprise/pull/97803 Upgrade PR: https://github.com/odoo/upgrade/pull/8886 task-5153851 Forward-Port-Of: odoo/odoo#232548
6 changes
New functionality added to Odoo
This update reflects new regulations from the Mexican government (DOF) regarding Employment Subsidy calculations for 2026. The UMA subsidy percentage has been adjusted to 15.59% starting January 1st, 2026, and 15.02% starting February 1st, 2026. This ensures compliance with current tax laws.
Original PR description
As per the DOF publication on December 31, 2025, the UMA percentages used to calculate the Employment Subsidy have been updated for 2026. New values: - From Jan 1st, 2026: 15.59% - From Feb 1st, 2026: 15.02% This commit adds these new parameter values to "Mexico: UMA Percentage for Subsidy". Reference: https://www.dof.gob.mx/nota_detalle.php?codigo=5777649&fecha=31/12/2025 target: 19.0 task-5488347 Forward-Port-Of: odoo/enterprise#104053
This update adds support for Xendit's new payment channels in Thailand, Malaysia, and Vietnam. This expansion allows our business to accept payments through these local payment methods, broadening our reach and improving customer convenience.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#243430 Forward-Port-Of: odoo/odoo#189527
This update adds a new service within Odoo that can decode EPC (Electronic Product Code) barcodes. It allows the system to translate these barcodes into their corresponding URIs or Element Strings, improving the ability to identify and track products. The decoder supports common EPC formats like SGTIN and SSCC, enhancing data capture and integration.
Original PR description
Add an EPC decoder as a front-end service. The decoder takes an EPC as a hexadecimal input and return the resulting URI or Element String. On incorrect input or unsupported decoding, the returned value is null. Currently support SGTIN-96, SGTIN-198, SSCC-96, SGLN-96, SGLN-195. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This pull request introduces support for GS1 EPC codes, a standard for identifying products using RFID tags. The changes include the necessary data structures and logic to encode and decode these codes, enabling better tracking and inventory management. The work is currently focused on testing and refining the encoding process, with future development planned for automation.
Original PR description
# Current State Overview <details><summary>$${\color{red}Deferred}$$ Backend/Python</summary> <p> Deferred: decoding doesn't make sense in the backend, and manufacturing isn't ready for EPC write…
# Current State Overview
<details><summary>$${\color{red}Deferred}$$ Backend/Python</summary>
<p>
Deferred: decoding doesn't make sense in the backend, and manufacturing isn't ready for EPC write automation, such that encoding isn't a priority.
Encode & Decode :
- sgtin-96
- sgtin-198
- sscc-96
- sgln-96
- sgln-195
TODO :
- Replace compute by explicit calls : more efficient and less complicated
- Implement logical segment bit count at scheme template level
Simple test :
```
# model: Electronic Product Code Scheme, gs1.epc.scheme
vals = [
#SGTIN
{'uri_tag': "urn:epc:tag:sgtin-96:3.0614141.812345.6789"},
{'raw_value': 0X3074257bf7194e4000001a85},
{'uri_tag': "urn:epc:tag:sgtin-198:3.0614141.812345.6789"},
{'raw_value': 0X3674257bf7194e5b3770e4000000000000000000000000000000},
{'uri_tag': "urn:epc:tag:sgtin-198:3.0614141.712345.32a%2Fb"},
{'raw_value': 0X3674257bf6b7a659b2c2bf100000000000000000000000000000},
#Others
{'uri_tag': "urn:epc:tag:sscc-96:3.0614141.1234567890"},
{'raw_value': 0X3174257bf4499602d2000000},
{'uri_tag': "urn:epc:tag:sgln-96:3.0614141.12345.5678"},
{'raw_value': 0X3274257bf46072000000162e},
{'uri_tag': "urn:epc:tag:sgln-195:3.0614141.12345.32a%2Fb"},
{'raw_value': 0X3974257bf46072cd9615f8800000000000000000000000000000},
]
schemes = model.create(vals)
message = []
for scheme in schemes:
message.append(f"Uri : {scheme.uri_tag}\nHex : {scheme.hex_value}\n") # Bit : {scheme.raw_value:b}\n
log('\n'.join(message))
```
Result :
```
Uri : urn:epc:tag:sgtin-96:3.0614141.812345.6789
Hex : 3074257bf7194e4000001a85
Uri : urn:epc:tag:sgtin-96:3.0614141.812345.6789
Hex : 3074257bf7194e4000001a85
Uri : urn:epc:tag:sgtin-198:3.0614141.812345.6789
Hex : 3674257bf7194e5b3770e4000000000000000000000000000000
Uri : urn:epc:tag:sgtin-198:3.0614141.812345.6789
Hex : 3674257bf7194e5b3770e4000000000000000000000000000000
Uri : urn:epc:tag:sgtin-198:3.0614141.712345.32a%2Fb
Hex : 3674257bf6b7a659b2c2bf100000000000000000000000000000
Uri : urn:epc:tag:sgtin-198:3.0614141.712345.32a%2Fb
Hex : 3674257bf6b7a659b2c2bf100000000000000000000000000000
Uri : urn:epc:tag:sscc-96:3.0614141.1234567890
Hex : 3174257bf4499602d2000000
Uri : urn:epc:tag:sscc-96:3.0614141.1234567890
Hex : 3174257bf4499602d2000000
Uri : urn:epc:tag:sgln-96:3.0614141.12345.5678
Hex : 3274257bf46072000000162e
Uri : urn:epc:tag:sgln-96:3.0614141.12345.5678
Hex : 3274257bf46072000000162e
Uri : urn:epc:tag:sgln-195:3.0614141.12345.32a%2Fb
Hex : 3974257bf46072cd9615f8800000000000000000000000000000
Uri : urn:epc:tag:sgln-195:3.0614141.12345.32a%2Fb
Hex : 3974257bf46072cd9615f8800000000000000000000000000000
```
</p>
</details>
<details><summary>$${\color{orange}In \space Progress}$$ Frontend/Javascript</summary>
<p>
Decode Only :
- sgtin-96
</p>
</details>
To compare and test :
- https://www.gs1.org/services/epc-encoderdecoder
- TDS 2.1, part E.3 (https://ref.gs1.org/standards/tds/2.1.0/, p.242)
[Task #4256189](https://www.odoo.com/odoo/project.task/4256189)This update adds the expiration date of product lots to invoices, aligning with industry standards for the pharmaceutical sector. This ensures accurate information is provided to customers regarding product shelf life, improving transparency and compliance. The change impacts the Point of Sale, Sale Stock, and Stock Account modules.
Original PR description
It's common in pharmaceutical industry to provide expiration dates of lots on customer invoices. Because of that, the lot expiration date is now added to `_get_invoiced_lot_values()`, together with lot properties. Task: 4985878 Related: https://github.com/odoo/enterprise/pull/103649 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-pr
This update simplifies the process of using the 'Purchase Alternative' feature by moving it into a separate module. Previously, it was hidden within the purchase requisition process, making it difficult to find. Now, users can directly enable this feature from the Purchase settings, improving usability and streamlining workflows.
Original PR description
*: purchase_requisition ----------------------------------------------------------------------------------------- We have separated the `Purchase Alternative` functionality from the `purchase_requisition` module and created a new independent module called `purchase_alternative`. A new Boolean field, Purchase Alternative, has been added in Purchase settings to manage this feature. Previously, the `Purchase Alternative` option was hard to find; It only appeared after enabling Purchase Agreements, saving, and refreshing the Purchase settings view. This was very confusing and difficult to find for the user Now, users can directly enable the `Purchase Alternative` feature from the Purchase settings without relying on the `purchase_requisition` module. This makes the feature easier to access and more modular. taskId :- 4737059
1 change
New functionality added to Odoo
This update adds support for payment channels in Thailand (TH), Malaysia (MY), and Vietnam (VN) through Xendit. This expansion allows Odoo users to accept payments from customers in these key Southeast Asian markets, improving our payment processing capabilities and customer reach.
Original PR description
Xendit has expanded to TH, MY and VN supporting the local payment channels. This commit is to add the supported pamyent channels according to what they have added. task-4334511 Forward-Port-Of: odoo/odoo#189527
3 changes
New functionality added to Odoo
This update ensures Argentinian users can correctly issue credit notes by adding document type 110 - CREDIT NOTE TICKET, as required by AFIP regulations. Previously, this option was missing, causing errors when creating credit notes. This change improves compliance and usability for Odoo users in Argentina.
Original PR description
**Description of the issue/feature this PR addresses:** This PR adds the AFIP document type 110 - CREDIT NOTE TICKET, which is required for the Argentinian localization **Current behavior before…
**Description of the issue/feature this PR addresses:** This PR adds the AFIP document type 110 - CREDIT NOTE TICKET, which is required for the Argentinian localization **Current behavior before PR:** When users in Argentina tried to create a credit note for a ticket, the corresponding document type was not available as an option. **Desired behavior after PR is merged:** After this change, users can now select "110 - CREDIT NOTE TICKET" to issue the document correctly. [HERE](https://app.screencastify.com/watch/fVBWwSD6DAcodKO57qUZ) is a video replicating the issue 1) In localization Argentina, check document types and see that 110 CREDIT NOTE TICKET exists 2) Create a new journal as shown in the video 3) Create an invoice selecting that journal, and (83) TICKET as Document Type 4) Confirm the invoice and try to create a credit note. See that (110) CREDIT NOTE TICKET does not appear as an option --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update introduces a new module to seamlessly sync POS receipts with the JoFotara portal in Jordan. This allows businesses to automatically generate and manage e-receipts for their Point of Sale transactions, improving accounting accuracy and customer satisfaction. The changes include new models and overrides to support UBL 2.1 invoice generation from POS orders.
Original PR description
This commit add a new module to sync receipts with JoFotara portal. task-4213323 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update allows businesses to seamlessly handle self-billed invoices – invoices created by customers for their own accounting – through the Peppol network. It enables the export, import, and automated receipt of these invoices, streamlining accounting processes and improving data verification for vendors.
Original PR description
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice…
Self-billed invoices are invoices which are created by the customer on behalf of the vendor. These can be used in certain business flows, typically when the customer needs to create an invoice internally for accounting purposes. Peppol provides the ability for customers to send self-billed invoices to the vendor over the Peppol network. This way the vendor can verify whether the invoice is correct. See the Peppol documentation at https://docs.peppol.eu/poacc/self-billing/3.0/bis-sb/ #### This PR provides (1) the ability to export vendor bills as self-billed invoices conformant to the BIS3 standard (2) the ability to import BIS3 self-billed invoices as customer invoices (3) the ability to send vendor bills as self-billed invoices over Peppol (4) the ability to receive self-billed invoices from Peppol in a specified Sales journal. #### Configuration Purchase journals now have a `Is Self Billing` boolean field. Self-billing journals have a per-partner sequence, and can send vendor bills as self-billing invoices via Peppol if the option is activated in the Peppol configuration. We also add the self-billed invoice Peppol document type IDs in the list of documents which the user can select or deselect to allow/prevent reception of those document types. Backport of https://github.com/odoo/odoo/pull/222658 Enterprise PR: https://github.com/odoo/enterprise/pull/97803 Upgrade PR: https://github.com/odoo/upgrade/pull/8886 task-5153851