Daily updates from Odoo
Thursday, December 5, 2024
8 changes · master
Enhancements to existing features
GSTR-2B reconciliation now also checks the place of supply when matching vendor bills, helping ensure the correct GST tax split is used. If the place of supply does not match, users receive a clear warning on the bill so discrepancies can be reviewed before filing.
Original PR description
In GSTR-2B matching, we only match the total amount, not the IGST, CGST, and SGST which could lead to inaccuracy. These taxes depend upon the Place of supply, so this commit adds place of supply in matching, and if the place of supply does not match then an exception message is shown on the bill. task-4343860
The employee field is now computed based on the actual employee records that exist, making it more reliable for HR-related workflows. This also prevents a crash in Web Studio caused when archiving a partner linked to an active user, improving stability for administrators.
Original PR description
Make the field computed correctly according to the created hr.employee records. This makes the web_studio crash, as archiving a partner linked to an active user is forbidden
Managers can now approve, validate, or refuse time off requests directly from the Gantt view popover. This reduces navigation and makes leave management faster from the planning screen.
Original PR description
This PR, adds Approve, Refuse and Validate button to popover in gantt view. task-3863607
Field service projects now automatically use the most appropriate existing task stages, improving consistency across teams. If no suitable stages exist, default stages are created and applied, and stages added from the dedicated menu are shared with all field service projects.
Original PR description
This commit enhances consistency for field service projects by: - Automatically link 'fsm' projects to the existing stages with lowest sequence. - Default create stages and set that stages if there is no existing stages. - If new stages created from the dedicated menu will be automatically applied to all field service projects. task-3898200
Payroll slip numbering has been removed so payslips rely on existing names and accounting/payment references instead. This reduces duplicate identifiers and keeps payroll, payment, reporting, and localization workflows aligned with a simpler payslip record structure.
The employee referral screens have been reorganized to make rewards and related information easier to understand and use. Empty screen messages were also improved so users get clearer guidance when no records are available.
Original PR description
With this commit, reward's view is reorganized to be more user friendly. Some empty screen message have been fixed. task-4005202
Belgian payroll now supports enforcing the rule that employees cannot take two consecutive sick leaves without a medical certificate. A new leave type and configuration option help HR teams identify non-certified sick days and ensure there is at least one working day between them.
Original PR description
In Belgium, it is not legal to take two consecutive sick leaves without certificate. For the leaves not to be considered consecutive there should be at least one working day between them, and so public holidays and non-working days would not be considered. This commit adds an option to manage consecutive leaves and adds a leave type for sick days without certificate so that this rule could be enforced. task-4213253
Resolved issues and error corrections
This fix ensures Point of Sale screens refresh properly when orders are added or removed. It prevents outdated order tabs from staying visible, improving reliability for staff managing active or floating orders.
Original PR description
The records cache (from `related_models` module) isn't properly linked to the reactivity of `posmodel`. As a result, some expected rerenderings aren't executed. An example of this is the `OrderTab`.…
The records cache (from `related_models` module) isn't properly linked to the reactivity of `posmodel`. As a result, some expected rerenderings aren't executed. An example of this is the `OrderTab`. When a new floating order is created the `OrderTab` rerenders listing the new order. However, when that empty order is deleted, the corresponding tab item isn't removed in the list. That is because the `OrderTab`'s render method isn't properly subscribed to the changes in `models['pos.order']`. The render subscription doesn't exist because `models['pos.order'].readAll` isn't reading on the reactive version of the `records` cache. That is because `get orderedRecords` is pointing to the non-reactive version of `records`. `get records` exists in `models` and that's what we should use to properly link it to the reactivity and that `OrderTab` properly subscribes `models['pos.order']`. In this PR we are making sure that the methods of `models` (return value of `createCRUD`) is properly using the `reactive` version of the `records` cache. We then pass that version to the CRUD methods to ensure continuity of reactivity in the records. We also need to make changes in the `OrderTab` template, converting `floating-order-container` from `id` to `class` since it's being used for each order. We should not have multiple instances of an id in the html. TASK-ID: 4369054