Monday, December 5, 2022
22 changes · master
New functionality added to Odoo
Adds localized accounting reports for Argentina and Chile to help businesses review VAT and tax return information. Argentina gains official purchase and sales VAT books with invoice-level tax details, while Chile gains an F29 tax return proposal with a supporting wizard for required parameters.
Original PR description
enterprise LATAM reports: cl and ar
Enhancements to existing features
An unused Payroll menu entry was removed to keep the application cleaner and easier to maintain. This has no expected impact on day-to-day payroll workflows because the menu was no longer in use.
Original PR description
'hr_payroll.menu_hr_payroll_root' is not used anymore and can be removed in order to cleanup a bit unused records.
Resolved issues and error corrections
Fixed a problem that could cause the marketing automation hierarchy kanban view to crash when it opened. This helps users access and manage automation flows reliably without interruption.
Original PR description
The "renderingContext" of the hierarchy kanban was missing the "state" key, making it crash upong rendering.
Miscellaneous changes
Forward-Port-Of: odoo/enterprise#32952
Original PR description
Forward-Port-Of: odoo/enterprise#32952
German DATEV exports can now use a dedicated partner identifier instead of relying only on the internal database ID. This helps businesses align exported accounting data with external DATEV numbering requirements and reduces export validation issues.
Original PR description
Attempt to attack issue 31343 in master. We give the possibility to add another number than the ID in the db
The payroll accounting test setup for Belgium now uses an updated way to load the chart of accounts for the right company. This helps keep multi-company payroll and accounting test scenarios aligned and more reliable without changing day-to-day user workflows.
Original PR description
…ompany And adapt inherited functions for the extra param.
Odoo now sends additional fraud-prevention information when submitting UK VAT Making Tax Digital returns to HMRC. This helps HMRC better identify the person and environment behind a tax return submission, supporting compliance with their API requirements.
Original PR description
--> will need to put this from v10 instead. We need to provide some information in the header when calling the VAT-MTD api. This is used by them to better identify who did the tax return. We try to send as much information we have readily available. Task 2060827
Subscriptions are now automatically closed when an invoice remains unpaid past its due date plus the configured grace period, reducing the risk of providing service without payment. The change also prevents renewal orders from starting before the parent subscription’s next invoice date, avoiding overlapping subscriptions and double invoicing.
Original PR description
Purpose
Subscription are not closed if the user never paid the invoice.
Nothing prevent a renewal to be confirmed with a start_date before the next_invoice_date of the parent. It leads to concurrent subscriptions... (User portal & backend)
__SPECIFICATIONS__
cron_subscription_expiration should close contract when the invoice is not paid after (due date + auto close limit)
The tooltip of auto-closing should be adapted to inform about this new feature
Prevent renewal to be confirmed if parent nid > renewal start date.
taskid: 3054994This update changes how Argentine electronic invoices determine their numbering, relying on journal settings and AFIP records instead of older sequence links. It helps companies start electronic invoicing more reliably in Odoo, improves consultation permissions, updates translations, and refreshes tests and demo data.
Asset-related accounting records are now organized in a dedicated Accounting Documents page. This makes the main asset view less cluttered and helps users find journal entries, asset links, and statement line details more easily.
Original PR description
This PR add a new page "Accounting Documents" with the journal entry, the list view asset_id and the statement_line_id. This make the first page more concise and allow the related asset to be more visible and simple to work with. Task-id: 3075466
The Serbian reporting module was standardized so its source text is in English, with Serbian translations provided through a dedicated translation file. This improves maintainability and makes future updates and translations easier while preserving the local user experience.
Original PR description
Ideally, we develop in English any localization (then translate to the domestic language, in this case Serbian) All the module has been translated in english and then a .po file has been create to translate back in Serbian Task-id: 3086250
The Chilean and Mexican electronic invoicing modules were updated to use the current Odoo XML label instead of the older OpenERP label. This is a small internal alignment that helps keep localization files consistent with current platform naming.
Original PR description
change the openerp xml tag to odoo in l10n_cl_edi and l10_mx_edi module
The appointment share and onboarding link popups now underline the short link code. This makes it easier for users to see that the code can be edited before sharing the appointment link.
Original PR description
This PR adds an underline on `short_code` in the share modal of the appointment and appointment onboarding's 'get your link' modal which shows the user that the code is editable. taskID-3081979
Administrators will now be notified when certain automated business processes fail silently, such as invoice OCR credit issues, currency rate updates, Amazon order synchronization, or scheduled social posts. This helps teams detect operational problems earlier and reduce unnoticed disruptions for users.
Original PR description
This PR attempts to add a technical channel for system silent failures to make admins aware of them. This feature will be added in 2 parts: - Create a generic notification system allowing devs to easily send messages to admins. - Identify process and flows that could use this system for a smoother experience for users. When a problem is detected, a message should be sent on through this system. In this PR, ENT functionalities are targeted ! Task ID 2049528 COM PR : https://github.com/odoo/odoo/pull/50871
This fix makes the accounting spreadsheet dashboard explicitly require the reporting component it already relies on. It helps prevent dashboard failures if that reporting component is manually removed.
Original PR description
…ports The dashboard actually depends on `account_reports` because it uses menus defined in that module. `account_reports` is auto-installed with `acount_accountant`, so it "works". But it will break if `account_reports` is uninstalled manually.
This fix prevents the accounting reports setup from creating tax-related accounting entries when no chart of accounts is configured. It avoids unnecessary errors during configuration and helps companies complete setup more reliably.
The salary contract and payroll screens now correctly show Extra Time Off information, making it easier for HR teams to review time-off related salary details. An obsolete wage-related field was also removed to keep payroll calculations and displays clearer.
Fixed an issue that could prevent users from opening marketing automation campaign views. The update restores the missing context needed by the screen, reducing disruption for teams managing automated campaigns.
Original PR description
Marketing automation uses the 'state' variable which was accessible through the rendering context prior to commit: odoo/odoo@4c5b867ff6b0b674cb83d1a1262ae354ebaa6d57 This resulted in a traceback when trying to open a campaign view. task-3084676
To reproduce: 1) Make a new partner 2) Create an invoice for this partner 3) Create a payment for the same partner, at the same date, for the same amount. Don't reconcile it with the invoice. 4) Open Aged Payable/Aged Receivable (depending on the type you chose for the invoice) ===> Our partner and the operations we just created are not displayed. When the operations made for a partner balanced to 0, the partner was not displayed in the report. This was wrong. OPW 3067204 Forward-Po
Original PR description
To reproduce: 1) Make a new partner 2) Create an invoice for this partner 3) Create a payment for the same partner, at the same date, for the same amount. Don't reconcile it with the invoice. 4) Open Aged Payable/Aged Receivable (depending on the type you chose for the invoice) ===> Our partner and the operations we just created are not displayed. When the operations made for a partner balanced to 0, the partner was not displayed in the report. This was wrong. OPW 3067204 Forward-Port-Of: odoo/enterprise#34601
When submitting a large batch of documents, it could happen that the parse cron timed out. In that case, the documents that were already sent will be rollbacked even though a credit was consumed. Commiting after each document sent will prevent the same document from being sent twice. Ticket #3076874 Forward-Port-Of: odoo/enterprise#34489
Original PR description
When submitting a large batch of documents, it could happen that the parse cron timed out. In that case, the documents that were already sent will be rollbacked even though a credit was consumed. Commiting after each document sent will prevent the same document from being sent twice. Ticket #3076874 Forward-Port-Of: odoo/enterprise#34489
With Belgian salary configurator installed: if the selected car was already assigned, `create_new_contract` would return a dict with the error which was not unpacked as expected. `new_contract` would contain the key `error` and `contract_diff` the `True` value. Forward-Port-Of: odoo/enterprise#34596
Original PR description
With Belgian salary configurator installed: if the selected car was already assigned, `create_new_contract` would return a dict with the error which was not unpacked as expected. `new_contract` would contain the key `error` and `contract_diff` the `True` value. Forward-Port-Of: odoo/enterprise#34596
Steps to reproduce: - Install manufacturing, quality, iot apps. - Manufacturing > Settings > Enable Work Orders - Quality > Control Points, remove filters - If you have the demo data, Select 'Print labels' > duplicate > change type to pass/fail > save - If you don't have the demo data, create two steps for a product which has a BoM, one of type 'Print label' and one 'Pass/fail', Operations: manufacturing, Work Order operation: Assembly. - IoT app > Devices > Receipt printer > Add quality
Original PR description
Steps to reproduce: - Install manufacturing, quality, iot apps. - Manufacturing > Settings > Enable Work Orders - Quality > Control Points, remove filters - If you have the demo data, Select 'Print…
Steps to reproduce: - Install manufacturing, quality, iot apps. - Manufacturing > Settings > Enable Work Orders - Quality > Control Points, remove filters - If you have the demo data, Select 'Print labels' > duplicate > change type to pass/fail > save - If you don't have the demo data, create two steps for a product which has a BoM, one of type 'Print label' and one 'Pass/fail', Operations: manufacturing, Work Order operation: Assembly. - IoT app > Devices > Receipt printer > Add quality Control Point 'Print labels' > Save - Manufacturing app > Create manufacturing order > product: 'Table' (or the one you picked earlier) > Confirm > Work Orders > Tablet view > Go to 'Print labels' step > Click on 'Print labels' > Printing on the IoT will succeed/fail (not relevant) Issue: Currently, the pass/fail step is active, but the 'Print labels' step is displayed. If you click on any button, the display updates and the correct step is shown to the user. If you click on 'Skip' instead, the pass/fail step is skipped completely, finalizing the work order. Solution: After receiving an answer from the IoT device, call the `onClose` callback to update the screen to display the correct step. opw-3029006 Forward-Port-Of: odoo/enterprise#34572 Forward-Port-Of: odoo/enterprise#34240