Thursday, January 25, 2024
36 changes · master
Enhancements to existing features
Emails about a referred applicant being refused now take users directly to the relevant “not hired” referrals view. This makes it easier for referral users to find the correct applicant status without manually changing filters.
Original PR description
So far URL send via mail about referred applicant being refused didn't lead to not hired referals. To change that new action with appropriate filter set as default one was added and URL was changed to refer to that action task-3547079
Features or functions removed from Odoo
The invoice extraction feature no longer includes the old setting that limited email attachment extraction to PDFs only. This cleans up configuration screens and database fields after the process was simplified elsewhere, reducing confusion for users.
Original PR description
Problem -------- Since commit 24345812cb015e86f362f8c35176646239bfb803 (community), we removed the need for `alias_auto_extract_pdfs_only`. This commit removes this field from the database, the views and the tests. task-3536162
Code cleanup and technical improvements
This change reorganizes existing automated tests into a clearer legacy test structure. It does not change business features directly, but helps maintain the test suite and supports smoother future development.
Original PR description
Follow-up of the homonymous community pull request. Community: https://github.com/odoo/odoo/pull/129868
The tax reminder functionality has been folded into the main account reporting module to simplify maintenance. This cleanup keeps the same business capability while reducing separate module overhead and making future updates easier to manage.
Original PR description
We added the account_reports_tax_reminder module in stable, this pr will do some cleaning by merging the module in account_reports. task: 3583207
Miscellaneous changes
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. - **Requires**: https://github.com/odoo/odoo/pull/147496 - task-3651084 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### sale_subscription: - [x] Add the expiration date - [x] Fix unconsisten
Original PR description
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. - **Requires**: https://github.com/odoo/odoo/pull/147496 - task-3651084 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### sale_subscription: - [x] Add the expiration date - [x] Fix unconsistent layout for the display of the date - [x] Put the delivery column on the right of the invoice one - [x] Fix minor wording issues Forward-Port-Of: odoo/enterprise#55025 Forward-Port-Of: odoo/enterprise#53383
**Steps:** - Open Field Service > Tasks - Select any task and start timer - Now stop the timer and change the duration from the wizard - On saving, observe the value of timesheet entered in the Timesheet tab **Issue:** - the timesheet entry shows the round up value instead of edited value. **Cause:** - Due to the round up function used, the time duration entered will always be rounded up **Fix:** - Discarding the use of the function in order to get the edited unit amount. **T
Original PR description
**Steps:** - Open Field Service > Tasks - Select any task and start timer - Now stop the timer and change the duration from the wizard - On saving, observe the value of timesheet entered in the Timesheet tab **Issue:** - the timesheet entry shows the round up value instead of edited value. **Cause:** - Due to the round up function used, the time duration entered will always be rounded up **Fix:** - Discarding the use of the function in order to get the edited unit amount. **Task**-3631383 Forward-Port-Of: odoo/enterprise#54948 Forward-Port-Of: odoo/enterprise#52755
This PR fixes a test that relies on the field `allocated_hours` being present in the task form view, which is true with `hr_timesheet` but not without. Forward-Port-Of: odoo/enterprise#55123
Original PR description
This PR fixes a test that relies on the field `allocated_hours` being present in the task form view, which is true with `hr_timesheet` but not without. Forward-Port-Of: odoo/enterprise#55123
Current behaviour: --- When generating the QR code url or the xml document of an invoice, the arguments are, in order: re supplier_rfc rr customer_rfc tt amount_total id uuid Expected behaviour: --- Should be id, re, rr, tt Source: http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Documentacion_tecnica.pdf (Pages 67-68) Steps to reproduce: --- 1. Set up l10n_mx 2. Head to Invoicing 3. Sign an invoice 4. Print the invoice 5. Scan the QR code 6. URL is wrong
Original PR description
Current behaviour: --- When generating the QR code url or the xml document of an invoice, the arguments are, in order: re supplier_rfc rr customer_rfc tt amount_total id uuid Expected behaviour: --- Should be id, re, rr, tt Source: http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Documentacion_tecnica.pdf (Pages 67-68) Steps to reproduce: --- 1. Set up l10n_mx 2. Head to Invoicing 3. Sign an invoice 4. Print the invoice 5. Scan the QR code 6. URL is wrong Task link: http://www.odoo.com/web#id=3650556&model=project.task opw-3650556 Forward-Port-Of: odoo/enterprise#55082 Forward-Port-Of: odoo/enterprise#53613
We are not accessing the amount in the rule, resulting in an error. Forward-Port-Of: odoo/enterprise#55069 Forward-Port-Of: odoo/enterprise#55031
Original PR description
We are not accessing the amount in the rule, resulting in an error. Forward-Port-Of: odoo/enterprise#55069 Forward-Port-Of: odoo/enterprise#55031
Nothing big, just fixing a recent commit while fixing a related bug in community about delayed notifications. Forward-Port-Of: odoo/enterprise#55093 Forward-Port-Of: odoo/enterprise#55052
Original PR description
Nothing big, just fixing a recent commit while fixing a related bug in community about delayed notifications. Forward-Port-Of: odoo/enterprise#55093 Forward-Port-Of: odoo/enterprise#55052
This PR adds a missing translation string that was incorrectly not exported Forward-Port-Of: odoo/enterprise#55080 Forward-Port-Of: odoo/enterprise#55054
Original PR description
This PR adds a missing translation string that was incorrectly not exported Forward-Port-Of: odoo/enterprise#55080 Forward-Port-Of: odoo/enterprise#55054
On a CRM lead in studio, activate the rainbow man on the "Won" button. Change the image. Before this commit, there was a crash, because activating the rainbow man put the effect attribute on the button to "true". Adding an image on top of that crashed because the code expected an object. Given the empirical specs at action_service.js:doActionButton and in effect_service.js, the "effect" attribute doesn't have the expected effect if it is "true". We choose then to set the "effect" attribut
Original PR description
On a CRM lead in studio, activate the rainbow man on the "Won" button. Change the image.
Before this commit, there was a crash, because activating the rainbow man put the effect attribute on the button to "true".
Adding an image on top of that crashed because the code expected an object.
Given the empirical specs at action_service.js:doActionButton and in effect_service.js, the "effect" attribute doesn't have the expected effect if it is "true". We choose then to set the "effect" attribute on a node
- to "False" when it is supposed to be deactivated,
- a empty object "{}" if it is to be truthy, but displaying defaults. This object is enriched when customizing details in studio.
After this commit, there is no crash anymore and one can customize the image in the rainbow man.
opw-3692982
Forward-Port-Of: odoo/enterprise#55086
Forward-Port-Of: odoo/enterprise#55045Before this fix, when clicking "Unfold All" on the General Ledger, the "Load More Limit" assigned to the report (80 by default) was not applied, and all the lines were always loaded in the UI. This caused performance issues on large databases, where the high number of move lines do display can overload the browser, slow it down a lot, or even freeze it (due to the high number of elements needing to be rendered). This was due to the fact the General Ledger's _custom_batch_data_generator needed
Original PR description
Before this fix, when clicking "Unfold All" on the General Ledger, the "Load More Limit" assigned to the report (80 by default) was not applied, and all the lines were always loaded in the UI. This caused performance issues on large databases, where the high number of move lines do display can overload the browser, slow it down a lot, or even freeze it (due to the high number of elements needing to be rendered). This was due to the fact the General Ledger's _custom_batch_data_generator needed to filter the additional elements it loads. We cannot filter directly in SQL because we get everything in a single batched query, but we can restrict the number of elements we return after getting them from the db. OPW 3672271 Forward-Port-Of: odoo/enterprise#54760 Forward-Port-Of: odoo/enterprise#54384
This context key isn't used anymore. It has been replaced by options['export_mode']. The former calls with the context key corresponded to the generation of pdf exports, and are all converted to 'print', except the one in integer rounding management, for which we rather wish to use the 'file' value. Indeed, when integer rounding is enabled, the pdf must keep the same content as what was shown in the UI, while a file export will always want the legal standard (hence, rounding) to be applied. For
Original PR description
This context key isn't used anymore. It has been replaced by options['export_mode']. The former calls with the context key corresponded to the generation of pdf exports, and are all converted to 'print', except the one in integer rounding management, for which we rather wish to use the 'file' value. Indeed, when integer rounding is enabled, the pdf must keep the same content as what was shown in the UI, while a file export will always want the legal standard (hence, rounding) to be applied. Forward-Port-Of: odoo/enterprise#54561
A generic work entry type is used for India's public holidays, which results in the amount being deducted and displayed on the payslip. Therefore, we must remove it. task-3668569 Forward-Port-Of: odoo/enterprise#53651
Original PR description
A generic work entry type is used for India's public holidays, which results in the amount being deducted and displayed on the payslip. Therefore, we must remove it. task-3668569 Forward-Port-Of: odoo/enterprise#53651
After odoo/enterprise#54811, the upgrade[^1] of this module fails to validate the `hr_contract_salary.hr_contract_view_form_contract_templates` view because the field `work_time_rate` is "restricted to the group(s) hr.group_hr_manager". Move the (hidden) field above the button that use it to avoid this view validation error. [^1]: For some reasons, it only happen during upgrade and not during normal install. Forward-Port-Of: odoo/enterprise#55050
Original PR description
After odoo/enterprise#54811, the upgrade[^1] of this module fails to validate the `hr_contract_salary.hr_contract_view_form_contract_templates` view because the field `work_time_rate` is "restricted to the group(s) hr.group_hr_manager". Move the (hidden) field above the button that use it to avoid this view validation error. [^1]: For some reasons, it only happen during upgrade and not during normal install. Forward-Port-Of: odoo/enterprise#55050
Issue: ====== Creating a new deduplication rule will raise a traceback. Steps to reproduce the issue: ============================= - Install data_recycle - Go to Data cleaning/configuration/deduplication - Create a new deduplication rule and save Origin of the issue: ==================== We are querying the data using sql without flushing the model first. opw-3658414 Forward-Port-Of: odoo/enterprise#53579
Original PR description
Issue: ====== Creating a new deduplication rule will raise a traceback. Steps to reproduce the issue: ============================= - Install data_recycle - Go to Data cleaning/configuration/deduplication - Create a new deduplication rule and save Origin of the issue: ==================== We are querying the data using sql without flushing the model first. opw-3658414 Forward-Port-Of: odoo/enterprise#53579
Versions: --------- - 17.0 Steps to reproduce: ------------------- - Install Helpdesk - In Tickets kanaban view - The 'canceled' stage is not folded by default Issue: ------ - The 'canceled' stage in the tickets kanaban view is not folded by default. Cause: ------ - The 'canceled' stage is not set to be foldable by default. Solution: --------- - By set the 'canceled' stage by default foldable the issue is resolved. task-3610483 Forward-Port-Of: odoo/enterprise#52310
Original PR description
Versions: --------- - 17.0 Steps to reproduce: ------------------- - Install Helpdesk - In Tickets kanaban view - The 'canceled' stage is not folded by default Issue: ------ - The 'canceled' stage in the tickets kanaban view is not folded by default. Cause: ------ - The 'canceled' stage is not set to be foldable by default. Solution: --------- - By set the 'canceled' stage by default foldable the issue is resolved. task-3610483 Forward-Port-Of: odoo/enterprise#52310
Steps: - In mobile install project - Project.project form view - Go to the project settings - Documents & Analytics - The fields are not correctly aligned with their labels in mobile view Issue: - The description of the 'documents' feature overflows and the inputs of the 'workspace' and 'default tags' fields are not correctly aligned with their labels in mobile view Cause: - Missing some of the bootstrap classes , So that's why the problem will be raised in mobile view Fix: - By A
Original PR description
Steps: - In mobile install project - Project.project form view - Go to the project settings - Documents & Analytics - The fields are not correctly aligned with their labels in mobile view Issue: - The description of the 'documents' feature overflows and the inputs of the 'workspace' and 'default tags' fields are not correctly aligned with their labels in mobile view Cause: - Missing some of the bootstrap classes , So that's why the problem will be raised in mobile view Fix: - By Adding some of the bootstrap classes ,the problem will be solved task-3550702 Forward-Port-Of: odoo/enterprise#54800 Forward-Port-Of: odoo/enterprise#50125
When clicking on "schedules" from the BoM view, the domain in the search bar is correctly set, but the product/components displayed are not filtered. The empty domain from the props was set as the domain because an empty array is true in js. This fix checks is the length of the props domain array is greater than 0, else set its value to the SearchModel domain. opw-3548470 Forward-Port-Of: odoo/enterprise#51528 Forward-Port-Of: odoo/enterprise#51365
Original PR description
When clicking on "schedules" from the BoM view, the domain in the search bar is correctly set, but the product/components displayed are not filtered. The empty domain from the props was set as the domain because an empty array is true in js. This fix checks is the length of the props domain array is greater than 0, else set its value to the SearchModel domain. opw-3548470 Forward-Port-Of: odoo/enterprise#51528 Forward-Port-Of: odoo/enterprise#51365
Before this commit, spawning the cropping tool from the Wysiwyg's toolbar made it appear within the iframe, without any coherence whatsoever regarding the display or usability. After this commit, we manually spawn the image crop tool in an overlay of the main window. IT is much clearer UX wise and cleaner technically. Forward-Port-Of: odoo/enterprise#55049 Forward-Port-Of: odoo/enterprise#54813
Original PR description
Before this commit, spawning the cropping tool from the Wysiwyg's toolbar made it appear within the iframe, without any coherence whatsoever regarding the display or usability. After this commit, we manually spawn the image crop tool in an overlay of the main window. IT is much clearer UX wise and cleaner technically. Forward-Port-Of: odoo/enterprise#55049 Forward-Port-Of: odoo/enterprise#54813
In https://github.com/odoo/odoo/pull/105119, new accounts were added to represent employee-related expenses. Based on the non-official document https://swissdec.ch/document/share/295/4cc46aca-8b47-49e9-882a-03c37eb8dea3 we used account codes 2990 and 2999 for accounts 'Indemnities' and 'Company Car Correction'. However, these accounts have no place with the equity accounts in 29xx, since they are not equity but rather expense accounts. Examples of CoAs that include employee indemnity accounts
Original PR description
In https://github.com/odoo/odoo/pull/105119, new accounts were added to represent employee-related expenses. Based on the non-official document…
In https://github.com/odoo/odoo/pull/105119, new accounts were added to represent employee-related expenses. Based on the non-official document https://swissdec.ch/document/share/295/4cc46aca-8b47-49e9-882a-03c37eb8dea3 we used account codes 2990 and 2999 for accounts 'Indemnities' and 'Company Car Correction'. However, these accounts have no place with the equity accounts in 29xx, since they are not equity but rather expense accounts. Examples of CoAs that include employee indemnity accounts place them under account group 5 with the other employee-related expenses. (e.g. https://plancompta.com/plan-comptable-suisse-pcg-2021/) As such, we move accounts 2990 Indemnities -> 5840 and 2999 Company Car Correction -> 5031. Fixing this in stable will not cause any in-database corruption, since the updated code is only executed when the CoA is loaded/reloaded. However, users will need to reload the CoA in order to take advantage of the fix. This also ensures that the Swiss Balance Sheet is balanced. Community PR: https://github.com/odoo/odoo/pull/150692 taskid:3060790 Forward-Port-Of: odoo/enterprise#54941
XLSX are now formatted automatically, both in width and height. We were applying text_wrap by default on them, but it may be too much for automatic formatting. To ensure that we won't impact negatively the result, it was decided to revert that and limit ourselves to handle the col width and to not tough the row height. Task id # 3679470 Forward-Port-Of: odoo/enterprise#54898
Original PR description
XLSX are now formatted automatically, both in width and height. We were applying text_wrap by default on them, but it may be too much for automatic formatting. To ensure that we won't impact negatively the result, it was decided to revert that and limit ourselves to handle the col width and to not tough the row height. Task id # 3679470 Forward-Port-Of: odoo/enterprise#54898
Fix the has_embedded_pdf field which was wrongly displayed in the documents tree view. The "invisible" attribute isn't working in a tree view, using the "column_invisible" one instead. Task-3693604 Forward-Port-Of: odoo/enterprise#54847
Original PR description
Fix the has_embedded_pdf field which was wrongly displayed in the documents tree view. The "invisible" attribute isn't working in a tree view, using the "column_invisible" one instead. Task-3693604 Forward-Port-Of: odoo/enterprise#54847
In the US it is necessary to show the Social Security number (SSN) and hide the first 5 numbers (ex: XXXXX1234). When we print the Payslip of an employee with or without an SSN in their record (hr.employee), an extra number chain is added to the printed Payslip. The mask XXX-XX should only be applied when there is a number and it should overwrite the 5 first characters, not be pasted before. Task link: http://www.odoo.com/web#id=3630674&model=project.task task-3630674 Forward-Port-Of: o
Original PR description
In the US it is necessary to show the Social Security number (SSN) and hide the first 5 numbers (ex: XXXXX1234). When we print the Payslip of an employee with or without an SSN in their record (hr.employee), an extra number chain is added to the printed Payslip. The mask XXX-XX should only be applied when there is a number and it should overwrite the 5 first characters, not be pasted before. Task link: http://www.odoo.com/web#id=3630674&model=project.task task-3630674 Forward-Port-Of: odoo/enterprise#52512
Forward-Port-Of: odoo/enterprise#54993 Forward-Port-Of: odoo/enterprise#54799
Original PR description
Forward-Port-Of: odoo/enterprise#54993 Forward-Port-Of: odoo/enterprise#54799
…lation Forward-Port-Of: odoo/enterprise#54928
Original PR description
…lation Forward-Port-Of: odoo/enterprise#54928
The issue: Having a subscription with a recurring plan set to 0 does not make sense anymore The fix: the value should be a positive numeric value Upgrade PR: https://github.com/odoo/upgrade/pull/5421 Forward-Port-Of: odoo/enterprise#52329
Original PR description
The issue: Having a subscription with a recurring plan set to 0 does not make sense anymore The fix: the value should be a positive numeric value Upgrade PR: https://github.com/odoo/upgrade/pull/5421 Forward-Port-Of: odoo/enterprise#52329
### Steps to reproduce * install `account_accountant` * create payments in the CASH and BANK journal * go to the accounting dashboard * click 'payments' for the BANK or CASH journal You should see that the newly opened list view displays all the unreconciled payments, from all journals. It should only display the payments from the journal you clicked. opw-3688740 Forward-Port-Of: odoo/enterprise#54936 Forward-Port-Of: odoo/enterprise#54524
Original PR description
### Steps to reproduce * install `account_accountant` * create payments in the CASH and BANK journal * go to the accounting dashboard * click 'payments' for the BANK or CASH journal You should see that the newly opened list view displays all the unreconciled payments, from all journals. It should only display the payments from the journal you clicked. opw-3688740 Forward-Port-Of: odoo/enterprise#54936 Forward-Port-Of: odoo/enterprise#54524
`relativedelta`'s `year` is absolute whereas `years` is relative. In our case, we need to go back 2 years relatively to the current date, therefore we should use `years`. Forward-Port-Of: odoo/enterprise#54998 Forward-Port-Of: odoo/enterprise#54934
Original PR description
`relativedelta`'s `year` is absolute whereas `years` is relative. In our case, we need to go back 2 years relatively to the current date, therefore we should use `years`. Forward-Port-Of: odoo/enterprise#54998 Forward-Port-Of: odoo/enterprise#54934
The field ´has_payment_method´ (approval_category.py) is not related to anything but is rendered in form view. Steps to reproduce: ------------------- * Open ´Approvals´ app * Select ´Configuration´ * Select ´Approval Types´ * Select any type Why the fix: ------------ The field is never used anywhere. opw-616042 Forward-Port-Of: odoo/enterprise#54237
Original PR description
The field ´has_payment_method´ (approval_category.py) is not related to anything but is rendered in form view. Steps to reproduce: ------------------- * Open ´Approvals´ app * Select ´Configuration´ * Select ´Approval Types´ * Select any type Why the fix: ------------ The field is never used anywhere. opw-616042 Forward-Port-Of: odoo/enterprise#54237
Many tests were giving the name `payment_method` to variables that are actually storing a payment token. This conflicted with the `payment_method` variable being added to `PaymentCommon`. See also: - https://github.com/odoo/odoo/pull/149833 Forward-Port-Of: odoo/enterprise#54930
Original PR description
Many tests were giving the name `payment_method` to variables that are actually storing a payment token. This conflicted with the `payment_method` variable being added to `PaymentCommon`. See also: - https://github.com/odoo/odoo/pull/149833 Forward-Port-Of: odoo/enterprise#54930
Before this fix, when the tax closing was posted, though the tax lock date was properly updated, the default external values (computed from _default expressions) of the tax report were not computed. It only worked when setting the tax lock date manually from the lock wizard. We take advantage of this commit to improve the test suite in order to check all possible cases for the creation of default external values. Forward-Port-Of: odoo/enterprise#54751 Forward-Port-Of: odoo/enterprise#54080
Original PR description
Before this fix, when the tax closing was posted, though the tax lock date was properly updated, the default external values (computed from _default expressions) of the tax report were not computed. It only worked when setting the tax lock date manually from the lock wizard. We take advantage of this commit to improve the test suite in order to check all possible cases for the creation of default external values. Forward-Port-Of: odoo/enterprise#54751 Forward-Port-Of: odoo/enterprise#54080
### Steps to reproduce: - install **ecommerce** app - install **pos_pricer** module - Open any product from the backend - Click on **Go to Website** - Notice on the top right corner, next to the edit button how the button text is `Model adding the necessary fields to products to use with Pricer electronic tags` instead of the expected `Product` ### Investigation - The name displayed is rendered at https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/
Original PR description
### Steps to reproduce: - install **ecommerce** app - install **pos_pricer** module - Open any product from the backend - Click on **Go to Website** - Notice on the top right corner, next to the edit button how the button text is `Model adding the necessary fields to products to use with Pricer electronic tags` instead of the expected `Product` ### Investigation - The name displayed is rendered at https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/systray_items/edit_in_backend.xml#L7 - Which comes from https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/systray_items/edit_in_backend.js#L30-L32 - The `display_name` is related to the model description https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/services/website_service.js#L264-L266 opw-3691349 Forward-Port-Of: odoo/enterprise#54693
This commit add the Lithuanian intrastat report. This comes with the possibility to export that report into an XML file and also adds the country region code. task-3248669 Forward-Port-Of: odoo/enterprise#54841 Forward-Port-Of: odoo/enterprise#46488
Original PR description
This commit add the Lithuanian intrastat report. This comes with the possibility to export that report into an XML file and also adds the country region code. task-3248669 Forward-Port-Of: odoo/enterprise#54841 Forward-Port-Of: odoo/enterprise#46488
Objective --------- Add the Bulgarian National Bank (BNB) as a Currency Provider in Odoo. Solution --------- Rates are given against BGN in an XML file of format: ``` <ROWSET> <ROW> <GOLD>1</GOLD> <NAME_>Currency</NAME_> <CODE>Code</CODE> <RATIO>Per unit of currency/gold</RATIO> <REVERSERATE>Reverse rate for 1 BGN</REVERSERATE> <RATE>Levs (BGN)</RATE> <CURR_DATE>Date</CURR_DATE> <F_STAR>0</F_STAR> </ROW> </ROWSET> ``` Source: https://w
Original PR description
Objective --------- Add the Bulgarian National Bank (BNB) as a Currency Provider in Odoo. Solution --------- Rates are given against BGN in an XML file of format: ``` <ROWSET> <ROW> <GOLD>1</GOLD>…
Objective
---------
Add the Bulgarian National Bank (BNB) as a Currency Provider in Odoo.
Solution
---------
Rates are given against BGN in an XML file of format:
```
<ROWSET>
<ROW>
<GOLD>1</GOLD>
<NAME_>Currency</NAME_>
<CODE>Code</CODE>
<RATIO>Per unit of currency/gold</RATIO>
<REVERSERATE>Reverse rate for 1 BGN</REVERSERATE>
<RATE>Levs (BGN)</RATE>
<CURR_DATE>Date</CURR_DATE>
<F_STAR>0</F_STAR>
</ROW>
</ROWSET>
```
Source: https://www.bnb.bg/AboutUs/AUFAQ/Contr_Exchange_Rates_FAQ?toLang=_EN
Currencies returned on the 8th of January 2024:
AUD, BRL, CAD, CHF, CNY, CZK, DKK, GBP, HKD, HUF, IDR, ILS, INR,
ISK, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, RUB*, SEK, SGD,
THB, TRY, USD, ZAR, XAU
* Due to the situation on the international financial markets, the Bulgarian National Bank (BNB) is not in a position to set a reference exchange rate for the Bulgarian Lev against the Russian Rouble that is representative of market conditions.
task-3672394
Forward-Port-Of: odoo/enterprise#54879
Forward-Port-Of: odoo/enterprise#53914