Tuesday, March 25, 2025
36 changes
3 changes
Resolved issues and error corrections
This fix improves tax calculations when down payments or global discounts are used on Italian sales and point-of-sale orders. It helps ensure final invoices show accurate rounded tax amounts, reducing billing discrepancies and correction work.
Original PR description
Fix the tax rounding issues in down payment and global discount applied on sale orders and pos orders. To do so, this commit introduces a new field 'extra_tax_data' allowing to split the global taxes computation on subset of lines. This is usefull on the down payment because, when generating the final invoice, the first down payment is subtracted with negative lines. However, those lines represent a separated document so the taxes computation in round globally has to be split between the original lines and the negative down payment lines. This extra field could also contain manual tax amounts to be taken into account in the taxes computation engine. task_id: 4457175
The payroll accounting test for Belgian salary advances now includes the required journal setup, so it no longer fails when demo data is not installed. This improves reliability of automated testing without changing behavior for end users.
Original PR description
Before this fix, the salary advance test was failing when no demo data was installed due to a missing journal on the structure. This commit adds a journal to the structure to avoid test failure without demo data. task-4672827
This fixes an internal automated test issue in the recruitment appointment module when demo data is not available. It helps keep validation checks reliable so future updates can be tested without false failures.
Original PR description
runbot-160911
8 changes
Resolved issues and error corrections
German Point of Sale sessions using Fiskaly certification no longer send an extra blank receipt to the printer when automatic receipt printing is enabled. This prevents confusing printer errors and avoids wasting paper during checkout.
Original PR description
When automatically sending the receipt in a DE PoS, there was 2 receipt sent to the printer, one of them was empty and showing an error. Steps to reproduce: ------------------- * Setup a fiskaly PoS * Activate the automatic receipt printing * Open PoS and make an order * Pay the order > Observation: Two receipt are sent to the printer, one of them is empty and showing an error. Why the fix: ------------ We were calling the `super` method twice. This was causing the receipt to be printed twice. We now call the `super` method only once. opw-4520201
Fixes a display issue in the bank reconciliation widget where very long partner names could disrupt the alignment of dates and amounts. This keeps key transaction details easy to read and compare during reconciliation.
Original PR description
When the name of the partner is too long, we truncate the name but we should have added text-no-wrap on the date and amount. opw-4502699
Refund invoices are now treated as negative amounts when calculating sales commission achievements. This prevents refunded sales from incorrectly increasing commission totals, improving payout accuracy.
Original PR description
Version: 18.0 When the invoice is a refund, it should reduce the achievement's amount and not increase it. opw-4610960
Refreshing an open Sign document or template now returns users to that same item instead of sending them back to the overview list. This preserves context and reduces disruption when working with signed documents or templates.
Original PR description
This commit fixes the redirect to the documents view when reloading the page of an opened document by restoring the client action context and setting the document name as the display name of the document. task-4323698
Long signature request names are now shortened on employee contract cards so they no longer overlap other information. This keeps the kanban view tidy and makes contract status indicators stay visually consistent.
Original PR description
- after having long name of signature request linked to the contract, it's conflicting the visual of kanban view - with same path, kanban state can not stable on their position - because of that, to make stability of kanban state changed path too - Before fix: - for long name of signature request, overwrite the kanban view  - After fix - perfectly fit the name in kanban view, - only show the limited character and appending `...`  - OPW-4590161
This fix prevents the Documents app from crashing when upgraded databases contain older document records with incomplete linked-record information. Users can open the Documents app normally even if some legacy records have missing reference fields.
Original PR description
For databases upgrading to v18 if any `documents.document` records have `NULL` value i.e, `res_id` is present but `res_model=NULL` similarly `res_id=NULL` but `res_model` is present While accessing…
For databases upgrading to v18 if any `documents.document` records have `NULL` value i.e, `res_id` is present but `res_model=NULL` similarly `res_id=NULL` but `res_model` is present
While accessing the documents app by default kaban view is loaded which has `res_id` in its arch after this commit: odoo/enterprise@a32825e
If such records exist it will lead to traceback during `web_search_read` calls while accessing the documents app
```py
File "/home/odoo/odoo/odoo/addons/web/models/models.py", line 46, in web_search_read
values_records = records.web_read(specification)
File "/home/odoo/odoo/odoo/addons/web/models/models.py", line 186, in web_read
co_record = self.env[record[field.model_field]].browse(record[field_name])
File "/home/odoo/odoo/odoo/odoo/api.py", line 596, in __getitem__
return self.registry[model_name](self, (), ())
File "/home/odoo/odoo/odoo/odoo/modules/registry.py", line 240, in __getitem__
return self.models[model_name]
KeyError: False
```
Previously, these types of records did not cause any issues due to the absence of res_id in the Kanban view.
OPW - 4527152This fixes an issue where users could not cancel certain Mexican payments after a related CFDI document had been sent to the government. The change prevents an error during cancellation, helping accounting teams correct or reverse payments without manual technical intervention.
Original PR description
When canceling a payment linked to an entry, we try to unlink the entry, but we end up in the following constains: `ir_attachment._unlink_except_cfdi_document` Steps: - Create, confirm an invoice and sent cfdi - Register a payment with `Por Definir` as payment method - Click on `Update Payments` - On CFDI tab, click on `Force CFDI` on payment line - Go to the payment - Reset it to draft and cancel it -> Error: `You can't unlink an attachment being an EDI document sent to the government.` Fix: Backport of https://github.com/odoo-dev/enterprise/commit/6f21aedf1a107acb4c89f7a8264171597068e102 opw-4644528
Batch payment totals are now calculated using the best available amount source, including the related invoice or bill amount when needed. This helps ensure payment batches show accurate totals in the correct currency, reducing reconciliation and payment processing errors.
Original PR description
This commit change the way amount are computed in batch payment: Amount are now computed in this order: 1 - amount of journal entry (old) 2 - amount of account move (new) 3 - amount of payment (old) opw-4574834