Daily updates from Odoo
Wednesday, July 2, 2025
11 changes
4 changes
Enhancements to existing features
Indonesian localization now displays the required DPP tax base amount on invoice forms and reports. This helps businesses comply with local tax rules where the taxable base is adjusted by 11/12 before applying the 12% tax rate.
Original PR description
Due to government regulations, tax base amount is multiplied by factor of 11/12 and tax value of 12% resulting to essentially 11% of tax. We need to display this DPP value both on invoice form view and reports 4485693 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#215366 Forward-Port-Of: odoo/odoo#202832
Partner enrichment from CRM now automatically includes category tags when updating company or contact details. This saves users from manually adding missing tags and keeps enriched partner records more complete and consistent.
Original PR description
when using partner enrich from CRM category tags were not fetched now category tags are autofilled when using partner enrich from CRM --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#216531 Forward-Port-Of: odoo/odoo#215807
When creating a bank account, Odoo now checks whether the same account is already linked to another partner. If a duplicate is found, users see a non-blocking warning with a link to the existing partner, helping reduce accidental duplicate records without interrupting their workflow.
Original PR description
If a bank account is already linked to a partner, display a non-blocking warning on the bank account creation form, containing a link to the other partner. task-4431041 Forward-Port-Of: odoo/odoo#216189 Forward-Port-Of: odoo/odoo#198127
Live chat agents can now send a past conversation transcript to a visitor after the chat has closed. This helps visitors receive records they may need later, while logging the resend action in the conversation for traceability.
Original PR description
**Purpose of this PR:** Agents can resend previous chat transcripts to visitors. This PR adds a 'Send Conversation' action available after the live chat is closed. Agents can enter the visitor’s email to resend the transcript, and a notification is logged in the conversation for reference. task-[4775228](https://www.odoo.com/odoo/project/1519/tasks/4775228)
2 changes
Enhancements to existing features
Deferred revenue and expense reports now support start and end dates directly on journal entries, making it easier to track the correct reporting periods. The update also avoids showing an unnecessary “No entry to generate” message when reviewing generated entries, reducing confusion for accounting users.
Original PR description
This is a backport of [PR #83441](https://github.com/odoo/enterprise/pull/83441), which was originally merged into 18.4. This version targets 18.3 to ensure the fix is available in the correct release.
Starshipit shipping labels no longer block the delivery flow when the final shipping cost is not immediately available. Odoo now temporarily uses a zero cost, then automatically retrieves and applies the real cost later to both the delivery and the related sales order.
Original PR description
**Description of the issue/feature this PR addresses:** This PR enhances the Starshipit integration to reliably handle scenarios where the exact shipping cost is not immediately available from…
**Description of the issue/feature this PR addresses:** This PR enhances the Starshipit integration to reliably handle scenarios where the exact shipping cost is not immediately available from Starshipit after label creation. Cost is fetched via a cron job and correctly applied to both the stock.picking's carrier_price and, crucially, the corresponding Sales Order delivery line. First commit removes the 3-tries loop, and was already reviewed on this [PR](https://github.com/odoo/enterprise/pull/85088). **Current behavior before PR:** When confirming a picking with a Starshipit Delivery method, the exact Shipping cost was not instantly available. The previous code had 3 attempts to retrieve it, before stopping the process, asking the user to try at a later time. **Desired behavior after PR is merged:** The price fetching becomes non-blocking. If Starshipit did not return an immediate `total_shipping_price`, a temporary price of 0.0 will be used. A Cron job will then run on all pickings with a 0.0 carrier price in order to fetch the exact price from Starshipit, and update the SO delivery lines. opw-4748113 When merging on `master`, further improvement might be to introduce a `starshipit_pending_price` boolean field instead of running the CRON job on all 0.0 carrier price pickings. With the new view `view_picking_form_inherit_stock` being introduced, runbot tests fail when migrating to saas-18.1. (Because view is not yet present in the saas-18.1 codebase) **How to test?** - On a runbot DB, install the `delivery_starshipit` module - Configure the DB to interact with the connector - Place a Sales Order with a delivery method configured to use Starshipit. - Confirm the Delivery. The shipping price, if not available, will be temporarily set to 0.0. - Run the Cron Job manually. You can check and activate the Cron by navigating to Settings > Technical > Automation > Scheduled Actions. - Check that the SO has been updated with the actual shipping price from Starshipit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#89184 Forward-Port-Of: odoo/enterprise#86383
3 changes
Enhancements to existing features
Bank statement reconciliation now avoids matching entries that include cash or credit card account lines when that would create invalid statement entries. This helps prevent reconciliation errors caused by multiple cash or bank accounts appearing on the same statement move.
Original PR description
In this commit: https://github.com/odoo/enterprise/commit/c0f8c5d17b9d78b640d744d8bfb6a2bb4002776a We changed a condition to have the possibility to match move with an account that allows the reconciliation but by doing so, we authorize moves with a cash line to be match. This will trigger a constraint since we cannot have multiple cash or bank accounts on the same statement move. To avoid that we add a condition that the type of the account can be reconcile but is not an asset_cash or liability_credit_card no task id Forward-Port-Of: odoo/enterprise#88659
Payroll pay runs can now generate payslips from selected employees as well as payroll versions, making the process easier when contract details are not selected directly. This improves payroll workflow flexibility while preserving automatic selection of valid contracts for the pay run period.
Original PR description
Problem ---------- Generation of payslip with valid_versions is not enough flexible With work entries, we have to generate payslips for employees. Objective ---------- Change the _get_valid_versions_domain to _get_valid_versions to get only ids Adapt the signature of generate_payslips to use employees or versions to generate payslips Solution ---------- Now the _get_valid_versions give the valid versions ids, so we can directly browse them or add them in a domain, the domain is not forced The generate_payslips can work with versions (first argument by default) and employees, if employee_ids are given, this will fetch valid versions for these employee depending on the pay run config directly. So via the front, we can call generate_payslips with a list of employees if we don't have versions directly. (it will automatically select all contracts valid in the range of payrun as before with contracts) task-4900019 Forward-Port-Of: odoo/enterprise#88768
Egypt and Saudi Arabia payroll setups now include default working calendars that better match local standard schedules. Demo companies, employee contracts, and payroll structures are aligned with these calendars, improving payroll configuration accuracy for those countries.
Original PR description
*: sa,eg - add a new calendar that match the std working schedule for those countries and assign it to thier demo comapny, employees contracts and payroll structure Task: 4724754
2 changes
Enhancements to existing features
Uruguayan electronic invoices now send a valid item name consistently and place longer product details in the description field. This prevents duplicated product names on generated PDF reports and better matches DGI field limits.
Original PR description
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice,…
This PR aims to improve the way we create NomItem and DscItem lines on the XML files we send to DGI in order to generate the PDF report. We have two fields to inform to DGI in an electronic invoice, NomItem which is mandatory an has a maximum of 80 characters to send, and DscItem that is optional an has a limit of 1000 chars. So we ensure NomItem is always sent, and the description will be filled like this: First, if the product name is longer than 80 chars, DscItem field will contain the characters that didn't fit in the NomItem field (characters from the 80th) Then it will contain the description of the product and the addenda content if it exists. Plus, I refactor the method _l10n_uy_edi_cfe_D_global_discount so it is also aligned with what I mentioned before. Another reason for this improvement is that, as the description of a product contains the product name at the beginning, we faced some issues when a user added a description on the fly in the line of the product, and then confirmed and printed the report. In this case, the name of the product was duplicated in the report. With this change, the description will only contain the the part of the product name that exceeds the 80th character. Example: 
Payroll calculations now include additional state-specific employer rates for Alabama, Colorado, and Washington. This helps ensure US payroll results better reflect current state obligations and reduces the need for manual payroll adjustments.
Original PR description
Added salary rules for state: - US: Alabama ESA rate - US: Colorado Support Surcharge rate - US: Colorado Solvency Surcharge rate - US: Washington EAF Rate task-4814709