Wednesday, April 6, 2022
44 changes · master
New functionality added to Odoo
Odoo now includes a new India EDI module that lets businesses submit invoices to the Indian government through an API/IAP service. The India localization is also updated with needed tax reporting lines, warehouse address handling, and demo/test data improvements to support compliant e-invoicing.
Original PR description
Add new module l10n_in_edi ====================== New EDI module for India to submit an invoice to Government using API. improvement in l10n_in ================== add get warehouse address method needed in Indian EDI to pass value of dispatched address improve demo data and bypass one GST number from validation because that GST number use to test EDI Add Non-GST Supplies and State CESS tax report line Non-GST Supplies and State CESS is required to get related value from the invoice for send EDI -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Enhancements to existing features
The mail attachment viewer was simplified by removing an obsolete internal download handler. This helps keep the messaging experience easier to maintain without changing how business users work with attachments.
Original PR description
Task-2579306
Resolved issues and error corrections
This change adjusts how Odoo orders database columns so each saved record can use less storage space. It is an internal fix that can reduce database size for some tables without changing user-facing behavior.
Original PR description
This follows up https://github.com/odoo/odoo/pull/87896. Change the heuristics for ordering columns, as padding is not determined by column size, but by column alignment inside a row. Because in Odoo…
This follows up https://github.com/odoo/odoo/pull/87896.
Change the heuristics for ordering columns, as padding is not determined by column size, but by column alignment inside a row. Because in Odoo a row always starts with a column of size 4, the following columns should be the ones aligned on 4 bytes, then the ones aligned on 1 byte, then the ones aligned on 8 bytes.
The analysis in the commit message was not correct, as it did not take into account the fact that rows themselves are aligned on 8 bytes. So we have: before each row used 40 bytes (+24b header)
```
attname | typname | typlen
-------------+-----------+--------
id | int4 | 4
create_uid | int4 | 4
create_date | timestamp | 8
write_uid | int4 | 4 -> 4 bytes padding
write_date | timestamp | 8
active | bool | 1 -> 7 bytes padding
```
After each row uses 32 bytes (8 bytes saved per row):
```
attname | typname | typlen
-------------+-----------+--------
id | int4 | 4
create_uid | int4 | 4
write_uid | int4 | 4
active | bool | 1 -> 3 bytes padding
create_date | timestamp | 8
write_date | timestamp | 8
```
Of course, when more columns are present, the space savings depend on
the alignment of the other columns.Code cleanup and technical improvements
The mail dialog styling was simplified by replacing custom styling with standard Bootstrap classes. This reduces maintenance effort and may improve interface performance without changing core business functionality.
Original PR description
This PR replaces raw SCSS with default Bootstrap classes, in order to reduce code lines and to increase performance. Task-2812497 Part of the overall v16 SCSS optimization/restyle, task-2704984 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
[FIX] point_of_sale: update screen at every orderline update In version 15 when product is added or deleted, it is shown accordingly in customer display. However, when product quantity is changed through popup, Customer Display does not update until another product is added to order. One way to reproduce issue is to have french localization while using PoS. Since french anti-fraud module does not let user to simply delete the added product, instead it will show popup to alter the quantity
Original PR description
[FIX] point_of_sale: update screen at every orderline update In version 15 when product is added or deleted, it is shown accordingly in customer display. However, when product quantity is changed through popup, Customer Display does not update until another product is added to order. One way to reproduce issue is to have french localization while using PoS. Since french anti-fraud module does not let user to simply delete the added product, instead it will show popup to alter the quantity of the product. Once user changes product quantity and closes the popup, they'll notice that customer display will not be updated. With this fix, customer display will update every time orderline is updated. fixes OPW-2734487 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87467
Odoo now handles payments and invoices in different currencies more accurately during reconciliation. This keeps exchange-rate differences visible as payments are matched, helping invoices close correctly and supporting local reporting requirements such as payment EDI in Mexico.
Original PR description
==== PURPOSE ==== The current reconciliation is made to support two distinct kind of reconciliation: 1) Everything is expressed in foreign currency, then perform the reconciliation using this…
==== PURPOSE ==== The current reconciliation is made to support two distinct kind of reconciliation: 1) Everything is expressed in foreign currency, then perform the reconciliation using this currency: Suppose EUR is the foreign currency and USD is the company currency. Reconciling: L1: 120 EUR 60 USD (rate 2:1) L2: 240 EUR 80 USD (rate 3:1) ..leads to a partial of 120 EUR and min(80, 60) = 60 USD After the reconciliation, L1 is fully matched but L2 is still open with 120 EUR but only 20 USD. This is the first problem is the current reconciliation because L2 is supposed to have a rate 3:1 so the residual amount should be 120 / 3 = 40 USD. Since the rate is no longer consistent on L2, the user will probably close the reconciliation by using another line in EUR or will close manually the reconciliation with 20 USD but without any additional exchange difference journal items explaining where this unconsistency comes from. 2) Is the current lines are mixing multiple currencies, the reconciliation is made using the company's currency. In some countries like Mexico, Ethiopia or Costa Rica, the customer is free to pay an invoice using the company's currency instead of the foreign one. So, suppose USD is the foreign currency and MXN is the company currency. The invoice is expressed by: L1: 120 USD 60 MXN (rate 2:1) Is the customer is paying at a date in which the rate is 3:1, he is free to pay either L2: 120 USD 40 MXN (rate 3:1), either L2: 40 MXN. In the second case, he is expecting the invoice to be fully paid because its paiement is equivalent to 120 USD at the payment date. In Odoo, the second case leads to an open balance of 20 MXN and the invoice is not completely paid. Even this situation could be easily fixed by a manual write-off, this makes the Mexican payment EDI very complicated to fullfil correctly because the government is expecting a complete matching between the invoice and the payment. When the customer is paying multiple invoices or the invoices are paid using multiple payments, the currently generated EDI file in Odoo is wrong. ==== IMPLEMENTATION ==== An exchange difference journal entry could be now created directly at each partial to ensure the rate between amount_residual_currency and amount_residual. Also, when reconciling two lines, one with a foreign currency and one expressed in company currency, the reconciliation is made in foreign currency. github issue: https://github.com/odoo/odoo/issues/37469 task: 2669371 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 standardizes how Odoo searches records by name across many business areas, making results more consistent and reliable. It also simplifies older search logic, reducing the chance of missed matches or incorrect exclusions when users search in forms and lists.
Original PR description
Most of the extensions of `_name_get` are very similar and only want to search for the given string in multiple fields. A lot of extensions also don't take into account the negative operators. Some implementations were also really outdated and needlessly complicated. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change improves the internal mail app test setup so tests no longer alter shared model definitions while running. It helps keep automated checks more reliable and reduces the risk of test-only side effects affecting development quality.
Original PR description
enterprise: https://github.com/odoo/enterprise/pull/25928 task-2792108
This update standardizes how records are searched by name across several Odoo Enterprise apps. It should make search behavior more consistent for users while simplifying future maintenance of these features.
Original PR description
Linked to https://github.com/odoo/odoo/pull/86588
User pictures in referral and subscription-related screens now use the shared avatar service, so a standard avatar appears when no personal photo is available. This creates a more consistent and complete experience across affected portal and employee-facing views.
Original PR description
Description of the issue/feature this PR addresses: With the addition of the web/avatar API in odoo/odoo#64868, some enterprise modules had to change their web/image API call to web/avatar for consistency matters. Current behavior before PR: If the user had no image set, no avatar was shown in the portal subscriptions and lunch module. Desired behavior after PR is merged: Changes the picture URLs in subscription and lunch module to point to the new avatar API. task-2404630
This update adjusts internal automated tests for the Documents-related apps to use a newer server setup method. It helps keep future development safer and more reliable without changing day-to-day user workflows.
Original PR description
community: https://github.com/odoo/odoo/pull/88083 task-2792108
The Sign app now supports uploading multiple documents when preparing a signing request. This streamlines document workflows by reducing repeated setup work for users who need several files signed together.
Odoo now handles invoice and payment reconciliation more accurately when foreign currencies and company currencies are mixed. This reduces manual corrections, keeps exchange differences properly recorded, and helps ensure compliant payment reporting in countries such as Mexico.
Original PR description
==== PURPOSE ==== The current reconciliation is made to support two distinct kind of reconciliation: Everything is expressed in foreign currency, then perform the reconciliation using this currency:…
==== PURPOSE ==== The current reconciliation is made to support two distinct kind of reconciliation: Everything is expressed in foreign currency, then perform the reconciliation using this currency: Suppose EUR is the foreign currency and USD is the company currency. Reconciling: L1: 120 EUR 60 USD (rate 2:1) L2: 240 EUR 80 USD (rate 3:1) ..leads to a partial of 120 EUR and min(80, 60) = 60 USD After the reconciliation, L1 is fully matched but L2 is still open with 120 EUR but only 20 USD. This is the first problem is the current reconciliation because L2 is supposed to have a rate 3:1 so the residual amount should be 120 / 3 = 40 USD. Since the rate is no longer consistent on L2, the user will probably close the reconciliation by using another line in EUR or will close manually the reconciliation with 20 USD but without any additional exchange difference journal items explaining where this unconsistency comes from. Is the current lines are mixing multiple currencies, the reconciliation is made using the company's currency. In some countries like Mexico, Ethiopia or Costa Rica, the customer is free to pay an invoice using the company's currency instead of the foreign one. So, suppose USD is the foreign currency and MXN is the company currency. The invoice is expressed by: L1: 120 USD 60 MXN (rate 2:1) Is the customer is paying at a date in which the rate is 3:1, he is free to pay either L2: 120 USD 40 MXN (rate 3:1), either L2: 40 MXN. In the second case, he is expecting the invoice to be fully paid because its paiement is equivalent to 120 USD at the payment date. In Odoo, the second case leads to an open balance of 20 MXN and the invoice is not completely paid. Even this situation could be easily fixed by a manual write-off, this makes the Mexican payment EDI very complicated to fullfil correctly because the government is expecting a complete matching between the invoice and the payment. When the customer is paying multiple invoices or the invoices are paid using multiple payments, the currently generated EDI file in Odoo is wrong. ==== IMPLEMENTATION ==== An exchange difference journal entry could be now created directly at each partial to ensure the rate between amount_residual_currency and amount_residual. Also, when reconciling two lines, one with a foreign currency and one expressed in company currency, the reconciliation is made in foreign currency. github issue: https://github.com/odoo/odoo/issues/37469 task: 2669371
This update fixes inaccurate website performance test expectations after an earlier technical change, ensuring test results match real-world behavior. It also restores a small optimization that avoids an unnecessary database lookup when serving public website pages.
Original PR description
An error regarding tests was not catch during httpocalypse [1] review. The test query counts were lowered in website by 2 everywhere, but it shouldn't have as there were no SQL perf improvement from…
An error regarding tests was not catch during httpocalypse [1] review. The test query counts were lowered in website by 2 everywhere, but it shouldn't have as there were no SQL perf improvement from this refactoring regarding website. The query count actually decreased because the test-only SQL Savepoints got divided by 2, probably thanks to a low level test improvement in the PR. But outside of tests, there were no SQL Query gained. This should have been reflected in the `EXTRA_REQUEST` variable instead. Before: Savepoint > Rollback > Savepoint > [Actual SQL Queries] > Rollback After: Savepoint > [Actual SQL Queries] > Rollback It is important to fix it because: 1. (Minor) There is a de-sync between the query count in the test and the actual query count (in the logs outside of tests), making it hard to figure. 2. (Major) Some controller got then wrongly lowered to 0 query counts instead of 2. An incoming PR in master would then make those tests expects negative query counts, which doesn't make any sense. [1]: https://github.com/odoo/odoo/pull/78857 Note that the exact commit can't be found by bisect as those don't work on their own, DB can't be started due to circular import.
This fix updates Indian tax report test data so invoices include required company and customer addresses and product HSN codes. It helps ensure invoices can be posted successfully under Indian EDI validation requirements, reducing false failures in compliance checks.
Original PR description
set address in company and partner and HSN code in product because it's required in Indian EDI
The email app’s drag-and-drop area styling was simplified as part of a broader visual cleanup. It also now uses the correct primary colors, improving consistency with the overall Odoo design.
Original PR description
Part of the overall v16 SCSS optimization/restyle, task-2704984 task-2817682 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Improve 06188f6180136df39d57498272cc4c63a7ae73b1 The user does not have the possibility to create a delivery to the inter-warehouse transit location (the destination location is invisible). Same for the receipt. So, the user should only avoid to transfer some products between two warehouses if the internal transfer is a planned one. Forward-Port-Of: odoo/odoo#87834 Forward-Port-Of: odoo/odoo#87754
Original PR description
Improve 06188f6180136df39d57498272cc4c63a7ae73b1 The user does not have the possibility to create a delivery to the inter-warehouse transit location (the destination location is invisible). Same for the receipt. So, the user should only avoid to transfer some products between two warehouses if the internal transfer is a planned one. Forward-Port-Of: odoo/odoo#87834 Forward-Port-Of: odoo/odoo#87754
`this.root.el` can become undefined, so it should always be guarded. Forward-Port-Of: odoo/odoo#88001
Original PR description
`this.root.el` can become undefined, so it should always be guarded. Forward-Port-Of: odoo/odoo#88001
2nd parameter of `_mockWrite` must necessarily be an array. Forward-Port-Of: odoo/odoo#88009
Original PR description
2nd parameter of `_mockWrite` must necessarily be an array. Forward-Port-Of: odoo/odoo#88009
task-2751059 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87869 Forward-Port-Of: odoo/odoo#83813
Original PR description
task-2751059 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87869 Forward-Port-Of: odoo/odoo#83813
Reproduce: * Create default analytic rules * Create a quotation/sale order. Before: Default analytic rules were not added on sales orders, like they are on invoices and purchase orders. After: Same behavior on all documents. This behavior was mistakenly removed during a refactoring: https://github.com/odoo/odoo/commit/3c67bb20feb42f16799b7491411e213b818c4f83 [opw-2800936](https://www.odoo.com/web#id=2800936&cids=1%2C5%2C14&model=project.task&view_type=form) -- I confirm I
Original PR description
Reproduce: * Create default analytic rules * Create a quotation/sale order. Before: Default analytic rules were not added on sales orders, like they are on invoices and purchase orders. After: Same behavior on all documents. This behavior was mistakenly removed during a refactoring: https://github.com/odoo/odoo/commit/3c67bb20feb42f16799b7491411e213b818c4f83 [opw-2800936](https://www.odoo.com/web#id=2800936&cids=1%2C5%2C14&model=project.task&view_type=form) -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87691 Forward-Port-Of: odoo/odoo#87073
This PR ------- With images that are not square, the profile picture will be distorted Example    -- I confirm I have signed the CLA and read the P
Original PR description
This PR ------- With images that are not square, the profile picture will be distorted Example    -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#88012 Forward-Port-Of: odoo/odoo#86315
This patch solves memory problem on exporting `account.move.line` records: while export method invalidate cache for `account.move.line`, it keeps cache for `account.move`, which may lead to memory error. opw-2764457 Forward-Port-Of: odoo/odoo#87888
Original PR description
This patch solves memory problem on exporting `account.move.line` records: while export method invalidate cache for `account.move.line`, it keeps cache for `account.move`, which may lead to memory error. opw-2764457 Forward-Port-Of: odoo/odoo#87888
Since commit [1], we should use domain instead of _get_http_domain(). However, _get_http_domain() checks if the domain exists which is not the case in commit [2]. It only impacts databases having multiple websites. [1]: https://github.com/odoo/odoo/commit/7d8a8ddea0b363732f2177ad589a3e0e10e2fb6c [2]: https://github.com/odoo/odoo/commit/ee71cdff0786d5c41fbcc50894cd06811d3d8d5b Steps to reproduce: 1. Install the eCommerce app 2. Keep the domain field of the website empty 3. Set t
Original PR description
Since commit [1], we should use domain instead of _get_http_domain(). However, _get_http_domain() checks if the domain exists which is not the case in commit [2]. It only impacts databases having multiple websites. [1]: https://github.com/odoo/odoo/commit/7d8a8ddea0b363732f2177ad589a3e0e10e2fb6c [2]: https://github.com/odoo/odoo/commit/ee71cdff0786d5c41fbcc50894cd06811d3d8d5b Steps to reproduce: 1. Install the eCommerce app 2. Keep the domain field of the website empty 3. Set the website field of a product to a website. 4. Click 'Go to Website' Current behavior before PR: - RPC_ERROR: Odoo Server Error Desired behavior after PR is merged: - Redirected to the product's page Forward-Port-Of: odoo/odoo#87722
**Current behavior before PR:** For guests and portal users, a separator(differentiates channel name and description) in the thread view topbar is displayed even if there is no description. And when portal users are trying to write/edit channel description at that time access error is generated. **Desired behavior after PR is merged:** A separator will only be displayed when there is a description and portal users will not be able to write/edit channel description as they don't have
Original PR description
**Current behavior before PR:** For guests and portal users, a separator(differentiates channel name and description) in the thread view topbar is displayed even if there is no description. And when portal users are trying to write/edit channel description at that time access error is generated. **Desired behavior after PR is merged:** A separator will only be displayed when there is a description and portal users will not be able to write/edit channel description as they don't have rights. **Task**-2664843 Forward-Port-Of: odoo/odoo#87977 Forward-Port-Of: odoo/odoo#82966
**Description of the issue/feature this PR addresses:** ``get`` default is a dict that gets evaluated to be sent as parameter, causing an unnecessary read on the component's computed fields. The read should only happen only if we don't have a value in ``qties``. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87941
Original PR description
**Description of the issue/feature this PR addresses:** ``get`` default is a dict that gets evaluated to be sent as parameter, causing an unnecessary read on the component's computed fields. The read should only happen only if we don't have a value in ``qties``. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87941
Step to reproduce (Traceback): - Be in multi-company - Create a time off type with duration in hour and no company_id - Create an instance of this type on company A with a user linked to company A (need access to both) - Switch to company B Current Behaviour: - Traceback - Cannot fetch user's calendar if content of company A is not checked for convertion from Days to Hour Behaviour after PR: - We only fetch if the user related to the leave is in allowed_companies -> only fetch
Original PR description
Step to reproduce (Traceback): - Be in multi-company - Create a time off type with duration in hour and no company_id - Create an instance of this type on company A with a user linked to company A (need access to both) - Switch to company B Current Behaviour: - Traceback - Cannot fetch user's calendar if content of company A is not checked for convertion from Days to Hour Behaviour after PR: - We only fetch if the user related to the leave is in allowed_companies -> only fetch if the user data is available - This is also true if duration is in Days/Half-Days (GMF Approved) opw-2749258 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86171 Forward-Port-Of: odoo/odoo#85010
Enable discounts Have a price included tax 10% Have a product with sales price 100$ Make a SO adding the product, the price incl. tax and a 1% discount Open the portal page of the quotation In the left recap sidebar the price before discount is reported to be 100.10 while it should be 100.0 opw-2759804 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86890 Forward-Port-Of: odoo/odoo#86565
Original PR description
Enable discounts Have a price included tax 10% Have a product with sales price 100$ Make a SO adding the product, the price incl. tax and a 1% discount Open the portal page of the quotation In the left recap sidebar the price before discount is reported to be 100.10 while it should be 100.0 opw-2759804 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#86890 Forward-Port-Of: odoo/odoo#86565
In the tests.Form class, in case of embedded views the values of m2m fields in the modifiers of the sub-view evaluated as [(6, _, [ids])] instead of a simple list, this is a hack-ish fix the better fix as recommended in previous commits in this file is to redesign the model and keep x2m fields as simple lists instead. Description of the issue/feature this PR addresses: Consider this view: ```xml <form string="The Parent"> <field name="line_ids> <field name="cond_ids" />
Original PR description
In the tests.Form class, in case of embedded views the values of m2m fields in the modifiers of the sub-view evaluated as [(6, _, [ids])] instead of a simple list, this is a hack-ish fix the better…
In the tests.Form class, in case of embedded views the values of m2m fields in the modifiers of the sub-view evaluated as [(6, _, [ids])] instead of a simple list, this is a hack-ish fix the better fix as recommended in previous commits in this file is to redesign the model and keep x2m fields as simple lists instead.
Description of the issue/feature this PR addresses:
Consider this view:
```xml
<form string="The Parent">
<field name="line_ids>
<field name="cond_ids" />
<field name="foo" attrs="{'required': [('cond_ids', '=', [])]}"
</field>
</form>
```
Adding a record with empty cond_ids and empty foo is possible in the browser, but doing it with odoo.tests.Form raises foo is a required field ('required': [('cond_ids', '=', [])])"
Desired behavior after PR is merged:
`tests.Form` works the same as the JS form view
relates to master PR: #85709
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#87568Step to reproduce: - install sale, accounting and l10n_de - activate proforma in sale settings - set the template to external_layout_din5008 in the settings (use developer mod) - create sales order or quotation - print it as a proforma Current behavior: - the proforma is missing from the title in the document Behaviour after PR: - the proforma is in the document title The l10n_de_sale module was missing the case scenario of a proforma sales report and the sale module only
Original PR description
Step to reproduce: - install sale, accounting and l10n_de - activate proforma in sale settings - set the template to external_layout_din5008 in the settings (use developer mod) - create sales order…
Step to reproduce: - install sale, accounting and l10n_de - activate proforma in sale settings - set the template to external_layout_din5008 in the settings (use developer mod) - create sales order or quotation - print it as a proforma Current behavior: - the proforma is missing from the title in the document Behaviour after PR: - the proforma is in the document title The l10n_de_sale module was missing the case scenario of a proforma sales report and the sale module only gives the information of a proforma report in the xml context. The title is set here in the document https://github.com/odoo/odoo/blob/15.0/addons/l10n_de/report/din5008_report.xml#L102-L109 and proforma info could only be accessed using is_pro_forma: https://github.com/odoo/odoo/blob/15.0/addons/sale/report/sale_report_templates.xml#L192 https://github.com/odoo/odoo/blob/15.0/addons/sale/report/sale_report_templates.xml#L30-L39 Then we add the case scenario and propagate the proforma info from the sale module also in the python context using the proforma variable. opw-2796603 Forward-Port-Of: odoo/odoo#88098 Forward-Port-Of: odoo/odoo#87547
This fix prevents the `/Annot` key from a PDF PageObject to cause errors during its handling by PyPDF2. Feature introduced here : https://github.com/odoo/odoo/commit/f0ea39791c70cc63fe39665514e5344a56ed5b71 opw-2811793 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87898
Original PR description
This fix prevents the `/Annot` key from a PDF PageObject to cause errors during its handling by PyPDF2. Feature introduced here : https://github.com/odoo/odoo/commit/f0ea39791c70cc63fe39665514e5344a56ed5b71 opw-2811793 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#87898
Some camt files can contain 'FCTI' as a generic family code (Fees, Commission , Taxes, Charges and Interest). It must be added to the list of authorized codes to prevent the crash of the import. opw-2812701 Forward-Port-Of: odoo/enterprise#25887
Original PR description
Some camt files can contain 'FCTI' as a generic family code (Fees, Commission , Taxes, Charges and Interest). It must be added to the list of authorized codes to prevent the crash of the import. opw-2812701 Forward-Port-Of: odoo/enterprise#25887
Since commit [1], the import of additional entry info is not properly done. We should retrieve it from entry level instead of entry details. [1]: https://github.com/odoo/enterprise/commit/3b2a2c28e92b9fa463084e771220b647f2a6666c opw-2810517 Forward-Port-Of: odoo/enterprise#25924
Original PR description
Since commit [1], the import of additional entry info is not properly done. We should retrieve it from entry level instead of entry details. [1]: https://github.com/odoo/enterprise/commit/3b2a2c28e92b9fa463084e771220b647f2a6666c opw-2810517 Forward-Port-Of: odoo/enterprise#25924
Since commit [1], we added a check between the amount retrieved from the details of an operation and the total amount found in the batch information in _total_amount_getters. However, if no TtlAmt is found, we wrongly compare the operation amount with the entry amount. This cannot work if there is more than one operation in the batch. In case TtlAmt element is not present, we should just return the retrieved amount without further additional checks. [1]: https://github.com/odoo/enterpri
Original PR description
Since commit [1], we added a check between the amount retrieved from the details of an operation and the total amount found in the batch information in _total_amount_getters. However, if no TtlAmt is found, we wrongly compare the operation amount with the entry amount. This cannot work if there is more than one operation in the batch. In case TtlAmt element is not present, we should just return the retrieved amount without further additional checks. [1]: https://github.com/odoo/enterprise/commit/df63265fe2b310ca20b92097383228e78ee1da58 opw-2810200 opw-2809475 Forward-Port-Of: odoo/enterprise#25813
How to reproduce the bug ? - Install the accounting app - Go to Profit and Loss report - Add a new journal entry with these 2 items: - Cost of Goods Sold as account and a value in debit - Expenses as account and the same value in credit - Save and post the entry - Go back to the Profit and Loss report - Enable the debug mode What is the bug ? In v15.0, there is a developer mode that allows the user to check if there is an issue in the report. An error is detected if you add
Original PR description
How to reproduce the bug ? - Install the accounting app - Go to Profit and Loss report - Add a new journal entry with these 2 items: - Cost of Goods Sold as account and a value in debit - Expenses as account and the same value in credit - Save and post the entry - Go back to the Profit and Loss report - Enable the debug mode What is the bug ? In v15.0, there is a developer mode that allows the user to check if there is an issue in the report. An error is detected if you add a journal entry containing an item with the account Cost of Goods Sold. Effectively, these items have their own section in the income section while they are still taken into account in the expences computation. opw-2691300 Forward-Port-Of: odoo/enterprise#25933 Forward-Port-Of: odoo/enterprise#25119
When there are too many account move lines installing this module may cause a MemoryError. In order to avoid the issue with pre-compute the values that otherwise will be compted by the ORM. For reference, the change from previous stored value[^1] (not computed) to computed stored values[^2] was done on #12226. opw-2796094 [^1]: https://github.com/odoo/enterprise/commit/1ccb480b8e95f5702b6fb4e01446d24107514550#diff-8afc82e663ecf1ebc79d464ba7d9e96a7fda9fe2b431abecbd4f7216114de2dfL39-L4
Original PR description
When there are too many account move lines installing this module may cause a MemoryError. In order to avoid the issue with pre-compute the values that otherwise will be compted by the ORM. For reference, the change from previous stored value[^1] (not computed) to computed stored values[^2] was done on #12226. opw-2796094 [^1]: https://github.com/odoo/enterprise/commit/1ccb480b8e95f5702b6fb4e01446d24107514550#diff-8afc82e663ecf1ebc79d464ba7d9e96a7fda9fe2b431abecbd4f7216114de2dfL39-L45 [^2]: https://github.com/odoo/enterprise/commit/1ccb480b8e95f5702b6fb4e01446d24107514550#diff-134267cacedaacc196d4520947da5a6271c551ddb3d7b0a9867ea6b46402bdb4R94-R105 Forward-Port-Of: odoo/enterprise#25717
The P&L should only consider current fiscal year and not previous ranges. Put the date range to true so it affects current databases. Forward-Port-Of: odoo/enterprise#25742
Original PR description
The P&L should only consider current fiscal year and not previous ranges. Put the date range to true so it affects current databases. Forward-Port-Of: odoo/enterprise#25742
…chments Steps to follow - Go to accounting > Partner ledger - Select a few entries from Azure interior - Deselect them -> `this.activeAttachment` is undefined Cause of the issue - When `this.attachments` is empty, there is no active attachment opw-2797205 Forward-Port-Of: odoo/enterprise#25914
Original PR description
…chments Steps to follow - Go to accounting > Partner ledger - Select a few entries from Azure interior - Deselect them -> `this.activeAttachment` is undefined Cause of the issue - When `this.attachments` is empty, there is no active attachment opw-2797205 Forward-Port-Of: odoo/enterprise#25914
Function filter.value was: - missing the month for date filters month - returning the wrong format for quarter filters (Q1 2020 instead of Q2/2022) Odoo task 2797256 Forward-Port-Of: odoo/enterprise#25920 Forward-Port-Of: odoo/enterprise#25486
Original PR description
Function filter.value was: - missing the month for date filters month - returning the wrong format for quarter filters (Q1 2020 instead of Q2/2022) Odoo task 2797256 Forward-Port-Of: odoo/enterprise#25920 Forward-Port-Of: odoo/enterprise#25486
Before this commit, if the picking type use the "Move Entire Packages" setting, if a move line has a package, the move line is considered as a package line even if it's not the case. How to reproduce: - Enable package in the Inventory's settings; - Create a product; - Add quantity on hand for this product with a package; - In the delivery's Operation Type, tick "Move Entire Packages"; - Create a new delivery for this product and add a move (not a package line !) for this produc
Original PR description
Before this commit, if the picking type use the "Move Entire Packages" setting, if a move line has a package, the move line is considered as a package line even if it's not the case.
How to reproduce:
- Enable package in the Inventory's settings;
- Create a product;
- Add quantity on hand for this product with a package;
- In the delivery's Operation Type, tick "Move Entire Packages";
- Create a new delivery for this product and add a move (not a package line !) for this product;
- Confirm the delivery and check the reserved move has the source package;
- Go to the Barcode app and open the delivery
-> The line is displayed as a package line.
opw-2809386
Forward-Port-Of: odoo/enterprise#25831
Forward-Port-Of: odoo/enterprise#25713The account 2968 has been previously added in the COA and the account 2967 was duplicated in the balance sheet instead of adding the 2968 one. Forward-Port-Of: odoo/enterprise#25797
Original PR description
The account 2968 has been previously added in the COA and the account 2967 was duplicated in the balance sheet instead of adding the 2968 one. Forward-Port-Of: odoo/enterprise#25797
When copying a financial report, we also copy its lines, and assign new codes to them so that their codes stay unique. We also replace the old codes in all the formulas using them in the report. Before this fix, the replacement of the codes in the formulas using them was only working if the line using the code was declared under the same root line as the one defining it. Consider the following simple example: 1) Define a financial report with two lines, as follows: - line A, with c
Original PR description
When copying a financial report, we also copy its lines, and assign new codes to them so that their codes stay unique. We also replace the old codes in all the formulas using them in the report.
Before this fix, the replacement of the codes in the formulas using them was only working if the line using the code was declared under the same root line as the one defining it.
Consider the following simple example:
1) Define a financial report with two lines, as follows:
- line A, with code A
- line B, with code B and formula = 'balance = A.balance'
2) Copy the report
==> In the report copy, line A has code A_copy, B has code B_copy, but B's formula is still referencing A instead of A_copy. This is because the code mapping is reinitialized at each iteration of the loop we do on root lines.
Forward-Port-Of: odoo/enterprise#25821
Forward-Port-Of: odoo/enterprise#25706Step to reproduce: - Create a subscription with a customer language set to french - Upsell the subscription Current behaviour: - Product description on SO is not translated Behaviour after PR: - Product description on SO is translated opw-2763265 Forward-Port-Of: odoo/enterprise#25307 Forward-Port-Of: odoo/enterprise#24815
Original PR description
Step to reproduce: - Create a subscription with a customer language set to french - Upsell the subscription Current behaviour: - Product description on SO is not translated Behaviour after PR: - Product description on SO is translated opw-2763265 Forward-Port-Of: odoo/enterprise#25307 Forward-Port-Of: odoo/enterprise#24815
Steps to follow - Go to Sales - Open studio - Click on Configuration > Settings -> ev.detail is undefined Cause of the issue The new dropdown item selection is called as a callback, not an event opw-2810557 Forward-Port-Of: odoo/enterprise#25812
Original PR description
Steps to follow - Go to Sales - Open studio - Click on Configuration > Settings -> ev.detail is undefined Cause of the issue The new dropdown item selection is called as a callback, not an event opw-2810557 Forward-Port-Of: odoo/enterprise#25812