Daily updates from Odoo
Navigate
Branch
Monday, December 2, 2019
46 changes
Security fixes and vulnerability patches
Odoo now treats outgoing email records as an internal system component rather than something regular users create directly. Email-related flows were updated to keep automated messages working while improving consistency of sender details and reducing inappropriate access.
Original PR description
From now on mail.mail is considered as a technical model. Indeed people should not really manually craft mails by hand. Instead various functional flows should either send mails, either craft mails…
From now on mail.mail is considered as a technical model. Indeed people should
not really manually craft mails by hand. Instead various functional flows
should either send mails, either craft mails based on some user input.
We therefore make mail restricted to admin users. Flows creating mail.mail
are updated to use sudo, and ensure it was done in a context that makes
sense to delegate this power to the user.
Some cleaning is performed prior to that change of ACLs, done in separate
commits. This cleaning includes
* ease the use of mail.thread tool method _message_compute_author by
cleaning its api (return tuple instead of dict);
* give a way to access to company email and catchall with formatting.
Those will be used in various automated emails. Indeed currently several
templates use either ``company_id.partner_id.email``, ``company_id.email``
or even don't provide fallback values;
* improve mail creation calls, notably author and email from default
computation. Purpose is to correctly compute author_id and email_from
in mail_message and mail_mail as they depends from each other. Moreover
it is a good idea in various flows to specify email and author when giving
creation values to avoid default computation that is not always guaranteed
to be accurate notably when involving super user;
* improve author / email_from synchronization in default values in mail
composer;
* clean some calls to mail.template send_mail();
Task ID 1853147
PR #32243New functionality added to Odoo
Adds a new approval flow that lets employees request purchases and lets purchasing teams turn approved requests into new or updated purchase orders. It also supports product lines, company-specific approval settings, automatic request numbering, and warehouse selection when stock is involved.
Original PR description
Adds a new module, `approvals_purchase`. It adds a new type of Approval Request who can create purchase order (or update an existing purchase order if it's useless to create one). Adds also `approvals_purchase_stock` to have the possibility to set a warehouse on product line in purchase approval request. **task-2040710**
Enhancements to existing features
The accounting account form has been adjusted to make it easier for users to work with account information. This should reduce friction during day-to-day accounting setup and maintenance without changing core accounting behavior.
Original PR description
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
Users composing an SMS can now send the message to their own phone number. This makes the SMS composer behave as expected when someone intentionally includes themselves as a recipient, while leaving general notification safeguards unchanged.
Original PR description
After this commit: the author of an sms can send it to himself
Mail template previews are easier to understand and now show more of what customers will receive before messages are sent. When a template cannot be generated, users get a clearer explanation of the first problem instead of a generic error.
Original PR description
- [REF] mail: refactor mail template preview: The preview of a mail template was badly named, error message was incomplete/confusing and a bug was present dependent on the nature of the code. Then, we choose to do a complete refactor to avoid future bugs, to give better user feedback in some cases and improve in general the user experience for the preview feature. - [IMP] mail: improve error mail generation: The template render of mail raise inadequate error. Improve it to indicate why the template fails to build (only the first error encounter). task-2085912 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
The live chat demo now includes more realistic sample conversations spread across several months, with different operators and customer ratings. This gives evaluators and demo users a clearer view of how live chat activity and feedback can look in practice.
The eLearning course search now makes active filters visible, allows multiple tag selections, and lets users remove individual filters easily. This helps learners find relevant courses faster and also fixes an error that occurred when searching documentation.
Original PR description
Premises: - Tags have a unique ID - Tags also have a category. - Categories are represented by dropdown boxes in the search bar. - The search bar has a text field that allows to enter custom search…
Premises: - Tags have a unique ID - Tags also have a category. - Categories are represented by dropdown boxes in the search bar. - The search bar has a text field that allows to enter custom search terms. - Courses have a preview card where tags are also displayed. - It's possible to view all "My courses". - When a tag is selected, or a search term is entered, or the user wants to see his courses, a button titled "Clear Filters" appears in the search bar. Before this commit: - There is no visual indication to what are the selected filters. - The user can only select one tag in each dropdown box. - When the user selects a tag on one course card, this tag replaces all other filters. - When the user enters custom search terms, it replaces all other filters. - When searching a documentation, a stacktrace appears. After this commit: - Selected tags appear as little tag boxes under the search bar. - The custom search terms appear as one tag box. - It's possible to remove a search tag by clicking on the cross present in each little box. - It's possible to select multiple tags in each dropdown box. - Tags in course cards work the same as tags in dropdown boxes, and add themselves to the list of filters. - To generate the list of courses to display, a logical OR is operated between tags of the same group, and a logical AND is operated between groups of tags. - A logical AND is operated between the custom search terms and other filters. - A logical AND is operated between the "My courses" options and other filters. - Bug when searching a documentation is fixed. Task ID: 2080617 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
Mail notifications now use Odoo’s standard action links instead of manually built links. This helps inbox users open related records inside Odoo correctly, rather than having those links treated like external web pages.
Original PR description
Note that this also add data-oe-model and data-oe-id in XML. This allow us to avoid to load these links as external URL when a user receive it in inbox instead of external mail client. See file addons/mail/static/src/js/thread_widget.js -> _onClickRedirect Task ID: 1895451 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The account form view has been adjusted to make it easier for users to work with accounting records. These usability improvements should help finance teams navigate and manage account information more efficiently.
This update lets companies mark asset accounts so vendor bill lines create one asset per item quantity instead of one combined asset. It improves asset tracking when multiple identical items are purchased on the same bill, making depreciation and inventory-style follow-up clearer.
Original PR description
Add a setting allowing to manage items. Newly created assets for this kind of account (with the checkbox checked) will generate 1 asset per quantity set on the bill. e.g. If the bill line quantity is 5 then Odoo will generate 5 assets (instead of 1 global asset) task : https://www.odoo.com/web?#id=2081662&action=327&model=project.task&view_type=form&menu_id=4720
This pull request appears to update the Survey area, but no detailed file or commit information was provided. The change likely brings minor improvements or maintenance that support the survey experience without indicating a major business impact.
Email links to Odoo records can now open directly in the Odoo mobile app when it is installed. If the app is not available, users are sent to the normal browser link, giving a smoother experience from emails on mobile devices.
Original PR description
Before this commit, when an email containing a link was sent
there was no possibility to redirect to the linked content in
the mobile app.
After this commit, all links related to a model will be prefixed with
a custom link (FireBase Dynamic Links).
Using this allows us to open the mobile app if installed or redirect
to the normal link within a browser if the user don't have it.
Note that:
* we force to provide an absolute URL to avoid dynamic-links
with relative links.
* The domain used ("https://redirect-url.email") is our own property but
directly point to Firebase server.
Ref:
* https://firebase.google.com/docs/dynamic-links/#how_does_it_work
Task ID: 1895451Resolved issues and error corrections
Purchase order lines created from separate reordering rules are now kept distinct when needed and use the correct stock location. This helps avoid incorrect merging of replenishment orders and improves stock availability accuracy for warehouses and locations.
Original PR description
- the oderpoint_id field on the purchase order line wasn't used to not merge the po lines - if the orderpoint_id field is set, use the orderpoint location task-2001462
This fixes an outdated automated tour used in the website eLearning area so it matches the current code. The change helps keep publishing course content reliable by preventing test failures caused by obsolete test steps.
Original PR description
Fine tunning of 07f70e3c1 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 fix stops users from changing the status of unbuild orders, work orders, or purchase requisitions by dragging cards between grouped Kanban columns. Status changes now stay controlled by the proper workflow actions, helping avoid incomplete or inconsistent business processes.
Original PR description
Task: https://www.odoo.com/web#id=2087309&action=327&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.427ab0efba7e25bed0fa29e8d1cf1fd6 Description of the issue/feature this PR addresses: previously, when grouped by any of the attributes, the user was able to drag and drop kanban boxes to assign a different attribute to the selected box. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix restores the mobile viewport setting used by Odoo's web client test pages. It helps ensure mobile tests reflect real phone and tablet behavior, reducing the risk of layout issues being missed before release.
Original PR description
After commit odoo/enterprise@8a38a60b1ff03836d0029bfec6c50ca777817146 mobile tests didn't run correctly because of missing viewport META in HEAD. This commit add the missing META. This META must be before all JavaScript file to ensure that JavaScript also know that we work in a viewport. Note that "runbot" run tests in a chromium headless with a size screen reduced and so it worked without this fix. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change reverts a recent logging configuration adjustment that could cause command-line log level settings to override configured log handlers unexpectedly. It helps preserve predictable logging behavior for deployments and troubleshooting.
Original PR description
Configuring the non-root logger based on --log-level had the side-effect (unclear whether it was intended or not as none of the relevant commits really documented the idea) that log-level could…
Configuring the non-root logger based on --log-level had the side-effect (unclear whether it was intended or not as none of the relevant commits really documented the idea) that log-level could override log handlers being set on the root logger e.g. if `log_handler = :INFO` is set in the config file, `--log-level=warn` on the CLI will override it. This could be replicated by swapping `pseudo_config` and `logconfig`, *however* it would also make the sub-loggers override differently (currently on an exact logger match log-handler overrides log-level). The ideal fix would likely be to sequence log-level from the configuration file, log-handler from the configuration file, log-level from the CLI and log-handler from the CLI. However that doesn't really work with the current structure. 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 fixes a duplicate setup entry in the Accounting module for the same responsible user field. Removing the duplicate reduces confusion and helps keep the system configuration consistent without changing user workflows.
Original PR description
Description of the issue/feature this PR addresses: The field user_id was created twice in the model with the same values and options, only a different help message. This removes the duplicated one. Fixes https://github.com/odoo/odoo/issues/40521 Current behavior before PR: `user_id` is defined twice. The second time (which is the best definition) at https://github.com/odoo/odoo/blob/3e1c5b3f4417d0f3b2d6e1f605f2c66d3ce96869/addons/account/models/account_move.py#L190 Desired behavior after PR is merged: `user_id` is just defined once. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A small typo in the Indian payroll module was corrected so the related form view validates properly. This prevents installation failures for the module and helps ensure payroll setup can proceed as expected.
Original PR description
Task:https://www.odoo.com/web#id=2146360&action=333&active_id=1251&model=project.task&view_type=form&menu_id=4720 Pad: https://pad.odoo.com/p/r.a0e94250cd8b3cddc672f54b6c5399e3
The settings screen now provides a clearer explanation for the Firebase URL field in the mobile app configuration. This helps administrators enter the correct information and reduces setup confusion.
Original PR description
Related to https://github.com/odoo/enterprise/pull/6414
Automated email generation was updated across appraisal, referrals, planning, and signing workflows to use the correct sender details and safer creation paths. This reduces the risk of emails being sent with incorrect default identities or to unintended recipients while keeping existing workflows intact.
Original PR description
Linked to community PR https://github.com/odoo/odoo/pull/32243
Features or functions removed from Odoo
This change removes older dynamic filtering logic in the sale timesheet workflow and replaces it with clearer, more maintainable links between projects, tasks, and sales orders. For users, the invoicing and task selection behavior should remain aligned with the right sales orders while reducing complexity behind the scenes.
Original PR description
* dynamic domain on task was not exactly pulling its weight as it only added a check of the SO lines linked to tasks belonging to the SO the project is linked to (if there's one) which is pretty straightforward to implement with a related field * the dynamic domain on the invoicing wizard is a more complex beast as we want to link to any "to invoice" SO which is linked to the task through one of the project's (other) tasks. Task 2115472
Code cleanup and technical improvements
This change reorganizes purchase order line preparation so it can be reused by approval-related purchasing flows without depending on stock operations. It should not change day-to-day behavior, but it makes the purchasing logic easier to share and maintain across Odoo modules.
Original PR description
**[MOV]** ***: _prepare_purchase_order_line** > Move the method `_prepare_purchase_order_line` from 'stock.rule' to 'purchase.order.line'. > The purpose is to reuse it in approvals_purchase. > >task-2040710
This update simplifies and renames internal survey data structures to make them easier to maintain and extend. It also updates related recruitment and skills survey integrations, helping prepare the survey app for upcoming live interaction and survey-building improvements without changing the core user experience.
This update renames an internal message-posting option so its expected value is clearer to developers. It should not change day-to-day user workflows, but it helps reduce future implementation mistakes across several business apps.
Miscellaneous changes
opw-2148046 Forward-Port-Of: odoo/odoo#41075
Original PR description
opw-2148046 Forward-Port-Of: odoo/odoo#41075
Bug === The file "public_root.js" try to load "/web/webclient/locale/en_US" with ajax.loadJS we do not have the address to the Odoo server, so we try to load the file locally but this file might not exist on the website which is using the widget Fix === Overwrite ``ajax.loadJS`` and ignore ajax loading (also printing a warning message in the JS console) Task #2081146 Forward-Port-Of: odoo/odoo#39757
Original PR description
Bug === The file "public_root.js" try to load "/web/webclient/locale/en_US" with ajax.loadJS we do not have the address to the Odoo server, so we try to load the file locally but this file might not exist on the website which is using the widget Fix === Overwrite ``ajax.loadJS`` and ignore ajax loading (also printing a warning message in the JS console) Task #2081146 Forward-Port-Of: odoo/odoo#39757
We change the locale variable from en_GB to en_US. But we need to re-generate variables. 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 Forward-Port-Of: odoo/odoo#41131
Original PR description
We change the locale variable from en_GB to en_US. But we need to re-generate variables. 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 Forward-Port-Of: odoo/odoo#41131
Use case: Plan a production of 10 units on 2 workorders. Produce 4 units of lot1. Record the production and produce the 6 next ones with the same lot1. On the second workorder, the suggested quantity is 4 and not 10. This issue is due to the fact that we fill the next workorder quantity only at the first production batch and we don't check that the same lot can be used again. This commit call the mathod to update the quantity on the next workorder if the first lot is produced again.
Original PR description
Use case: Plan a production of 10 units on 2 workorders. Produce 4 units of lot1. Record the production and produce the 6 next ones with the same lot1. On the second workorder, the suggested quantity is 4 and not 10. This issue is due to the fact that we fill the next workorder quantity only at the first production batch and we don't check that the same lot can be used again. This commit call the mathod to update the quantity on the next workorder if the first lot is produced again. opw: 2127665 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 Forward-Port-Of: odoo/odoo#41068
Managers could see only their sessions like other operators. Now they can see all the sessions so they can check and help the operators. task-2048498 Forward-Port-Of: odoo/odoo#39961
Original PR description
Managers could see only their sessions like other operators. Now they can see all the sessions so they can check and help the operators. task-2048498 Forward-Port-Of: odoo/odoo#39961
When printing the 'Picking Operations' report in case of a receipt, lines are duplicated. This is because we need to print the `move_line_nosuggest_ids` as displayed in the view. opw-2125049 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 Forward-Port-Of: odoo/odoo#41161
Original PR description
When printing the 'Picking Operations' report in case of a receipt, lines are duplicated. This is because we need to print the `move_line_nosuggest_ids` as displayed in the view. opw-2125049 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 Forward-Port-Of: odoo/odoo#41161
Test import with a faulty file (e.g. missing a required column). The error message is only partially translated. German example: "Missing required value for the field 'Code' (code) in Zeile 2" The error message is supposed to be translated (we have _(msg)); however the faulty import killed the first cursor, and we query the translation before the rollback, making that second query fail. Then, we need to have the correct translation for the field name. And then again, in _ we have _ge
Original PR description
Test import with a faulty file (e.g. missing a required column). The error message is only partially translated. German example: "Missing required value for the field 'Code' (code) in Zeile 2" The…
Test import with a faulty file (e.g. missing a required column). The error message is only partially translated. German example: "Missing required value for the field 'Code' (code) in Zeile 2" The error message is supposed to be translated (we have _(msg)); however the faulty import killed the first cursor, and we query the translation before the rollback, making that second query fail. Then, we need to have the correct translation for the field name. And then again, in _ we have _get_cr that would get the closed cursor from the previous with. Yet again, there's an untranslated error message before. Since there's no rollback, we get it before killing the cursor. That might be overdoing things though. opw 2121636 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 Forward-Port-Of: odoo/odoo#41098 Forward-Port-Of: odoo/odoo#40645
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 Forward-Port-Of: odoo/odoo#40694
Original PR description
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 Forward-Port-Of: odoo/odoo#40694
This commit fixes 2 issues, both coming from a misbehavior in `get_nearest_lang()`: 1. Anyone could reach the website in a lang available in backend but not in frontend. Eg, french is activated but not a website lang, going to `/fr` would show the page in french. 2. As a logged in user coming from backend in a lang not available in frontend (has request.lang set to that lang), the website would show a 500 error page since it would not filter out the current request lang. Bo
Original PR description
This commit fixes 2 issues, both coming from a misbehavior in `get_nearest_lang()`: 1. Anyone could reach the website in a lang available in backend but not in frontend. Eg, french is activated but…
This commit fixes 2 issues, both coming from a misbehavior in
`get_nearest_lang()`:
1. Anyone could reach the website in a lang available in backend but not in
frontend. Eg, french is activated but not a website lang, going to `/fr`
would show the page in french.
2. As a logged in user coming from backend in a lang not available in frontend
(has request.lang set to that lang), the website would show a 500 error page
since it would not filter out the current request lang.
Both these issues are fixed here by ensuring langs are filtered out if they do
not belong to the frontend (website langs).
Step to reproduce (bug 1):
- Install french in backend lang (not on website)
- Visit `127.0.0.X/fr_FR`, the frontend will be displayed in french even if
it not a lang available in frontend.
Step to reproduce (bug 2):
- Install french on frontend and remove english from frontend
- Navigate to the backend /web
- Navigate to frontend, it will crash
Fixes #40572 and fixes #40078
Forward-Port-Of: odoo/odoo#40799task: https://www.odoo.com/web#id=40224&action=327&model=project.task&view_type=form&menu_id=4720 pad: https://pad.odoo.com/p/r.ea9fb9164b66e7bd24bb544f0220bfc3 Forward-Port-Of: odoo/odoo#40774
Original PR description
task: https://www.odoo.com/web#id=40224&action=327&model=project.task&view_type=form&menu_id=4720 pad: https://pad.odoo.com/p/r.ea9fb9164b66e7bd24bb544f0220bfc3 Forward-Port-Of: odoo/odoo#40774
- Install project_timesheet_holidays - Create a company with any user (except the SUPERUSER) An AccessError is risen. This is because the new project is created in the new company, but the user is not in this company. The record rule `project_comp_rule` prevents the constraint to be evaluated. `sudo` seems the only solution here... opw-2146153 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --
Original PR description
- Install project_timesheet_holidays - Create a company with any user (except the SUPERUSER) An AccessError is risen. This is because the new project is created in the new company, but the user is not in this company. The record rule `project_comp_rule` prevents the constraint to be evaluated. `sudo` seems the only solution here... opw-2146153 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 Forward-Port-Of: odoo/odoo#41124
Before this commit, the client would throw an exception when the OCN server was down, more specifically on the creation (save) of a res.config.setting and on method `_notify_recipients` from `mail.message` thus preventing the sending of notifications altogether. This commit alters that behaviour by catching the exception and logs it instead, allowing the notification flow to continue. Forward-Port-Of: odoo/enterprise#6408 Forward-Port-Of: odoo/enterprise#6303
Original PR description
Before this commit, the client would throw an exception when the OCN server was down, more specifically on the creation (save) of a res.config.setting and on method `_notify_recipients` from `mail.message` thus preventing the sending of notifications altogether. This commit alters that behaviour by catching the exception and logs it instead, allowing the notification flow to continue. Forward-Port-Of: odoo/enterprise#6408 Forward-Port-Of: odoo/enterprise#6303
Fix padding issue in 'not enough credit' message. Forward-Port-Of: odoo/enterprise#6954 Forward-Port-Of: odoo/enterprise#6909
Original PR description
Fix padding issue in 'not enough credit' message. Forward-Port-Of: odoo/enterprise#6954 Forward-Port-Of: odoo/enterprise#6909
Putting parenthesis raises an error when compiling the scss assets: `Error: Custom property values may not be empty` Forward-Port-Of: odoo/enterprise#6876
Original PR description
Putting parenthesis raises an error when compiling the scss assets: `Error: Custom property values may not be empty` Forward-Port-Of: odoo/enterprise#6876
Ocr taxes selection always pick a 'purchase' tax, but on customer invoices the taxes should be of 'sale' type Forward-Port-Of: odoo/enterprise#6935 Forward-Port-Of: odoo/enterprise#6863
Original PR description
Ocr taxes selection always pick a 'purchase' tax, but on customer invoices the taxes should be of 'sale' type Forward-Port-Of: odoo/enterprise#6935 Forward-Port-Of: odoo/enterprise#6863
Bug === If the "publisher" of a comment is an user, the redirection to Facebook fail Fix === Add a method in the controllers This method perform an API call to get the URL to the profile If we cannot get the link to the profile, we simply perform a search on Facebook with the name Task #2093502 Forward-Port-Of: odoo/enterprise#6420
Original PR description
Bug === If the "publisher" of a comment is an user, the redirection to Facebook fail Fix === Add a method in the controllers This method perform an API call to get the URL to the profile If we cannot get the link to the profile, we simply perform a search on Facebook with the name Task #2093502 Forward-Port-Of: odoo/enterprise#6420
added Balance Sheet, Income statement report for Denmark Manual forward-port of v12.3 (because of linked pr probably) task: 40224 closes: 6762 Forward-Port-Of: odoo/enterprise#6968
Original PR description
added Balance Sheet, Income statement report for Denmark Manual forward-port of v12.3 (because of linked pr probably) task: 40224 closes: 6762 Forward-Port-Of: odoo/enterprise#6968
In a Belgian configuration, the decimal separator is a comma. Unfortunately, `parseFloat` doesn't handle this case and incorrectly parses the string. opw-2007227 Forward-Port-Of: odoo/enterprise#6778
Original PR description
In a Belgian configuration, the decimal separator is a comma. Unfortunately, `parseFloat` doesn't handle this case and incorrectly parses the string. opw-2007227 Forward-Port-Of: odoo/enterprise#6778
When user has no credit in his iap invoice ocr account, an email is sent to the admin. Add a link in settings to refill the account. Forward-Port-Of: odoo/enterprise#6940
Original PR description
When user has no credit in his iap invoice ocr account, an email is sent to the admin. Add a link in settings to refill the account. Forward-Port-Of: odoo/enterprise#6940
Accounting > Configuration > Journal > Create Under Journal Entry Tab Fill name, type "Bank", short code Under Advanced Settings tab set Post at "bank reconciliation" Save Go to Accounting > Customer Invoices > Create Add Customer, and SO line with label and price, remove Tax Line. Post and Register payment on the created journal. Go to Accounting > > Create Add reference, label, partner as in soline, amount as in so line. Save and Reconcile. There will be no entry to reconcile w
Original PR description
Accounting > Configuration > Journal > Create Under Journal Entry Tab Fill name, type "Bank", short code Under Advanced Settings tab set Post at "bank reconciliation" Save Go to Accounting > Customer Invoices > Create Add Customer, and SO line with label and price, remove Tax Line. Post and Register payment on the created journal. Go to Accounting > > Create Add reference, label, partner as in soline, amount as in so line. Save and Reconcile. There will be no entry to reconcile with. This is because the domain used by the reconciliation widget does not take into account the possibility to have a draft move_id, so the line which can be reconciled because the line is automatically posted on reconciliation is filtered Forward-Port-Of: #40786
Adapt XML export following 98d604b24d41095e3c0f7cef, otherwise boom boom. opw-2129306 Forward-Port-Of: odoo/enterprise#6966
Original PR description
Adapt XML export following 98d604b24d41095e3c0f7cef, otherwise boom boom. opw-2129306 Forward-Port-Of: odoo/enterprise#6966