Tuesday, April 8, 2025
2 changes · 18.0
Enhancements to existing features
Improves Australian Single Touch Payroll reporting by separating year-to-date values by income stream, supporting missed pay period updates, and improving finalisation controls. It also fixes payroll payment reconciliation, termination payment reporting, and correction handling to make compliance reporting more accurate and easier to manage.
Original PR description
**Year to date computation improvements** - Some inputs on the YTD can go to multiple rules. Therefore, we add manual recomputation of the inputs for payslips. It uses opening balances to compute the…
**Year to date computation improvements**
- Some inputs on the YTD can go to multiple rules. Therefore,
we add manual recomputation of the inputs for payslips.
It uses opening balances to compute the total payslip YTD
values.
- A major update is the addition of Income Stream types to
Year to Date values. This allows for grouping payslips with
income stream type for employees that may have multiple income
stream through a single fiscal year. STP requires reporting
the year to date values for each income stream type separately.
**Single Touch Payroll Improvements**
- Adds income stream types to the STP report. This
allows for users with multiple income streams in
a single fiscal year to be repored without finalisation.
- Fixes Termination payments for genuine and
non-genuine redundancy payments and how taxes are
reported for taxible and non-taxible components.
- Fixing Full file replacement for STP. This adds
constrains for FFR, allows old payments to auto reconcile
on a changed payslip after resubmission.
- Adds support for missed reporting of payslips.
If a user forgets to report a pay period and continues
with the next pay period, They have 2 options:
1. Create a back dated submit event with the old
year to date values.
2. Create an update event that amends the year to date
values at todays date.
In odoo we go for option 2. For a missed report, we create an Update
event that updates all the ytd values up til today's date.
- Fixes zeroing of YTD on Single touch payroll.
- Adds a correction input type for Basic salary corrections
without having to make any changes to past payslips. This helps
cover under or over-payments
- Improve validation for Single touch payroll. With better
testing and file generation. This adds better error
handling before running the xml validation step. This
lowers the possibility of errors after file generation.
- Improve performance for YTD computation to allow batching and
caching of the values using computes on the payslips. Relies fully
on the ORM using search_fetch to optimize queries for the YTD
computation.
**AU Payroll Payment reconciliation**
- Allows old payments to auto reconcile on a changed
payslip after resubmission.
**Standard Fixes**
- Allow auto install of hr_payroll_account if accounting and Payroll
app are installed. This also subsequently installs localised versions.
- Payment register wizard fails to compute the amount, journal, etc
since the `_compute_from_lines` is not triggered. This is because
partner_id is the only field in the view to trigger that compute before
create. And when a default value is passed for the partner, there is no
need for the compute to trigger on a new record before save.
- Salary attachments with the same code inputs always
used the last input in the sequence for all attachments.
This commit changes the behavior to allow multiple
attachments with the same code inputs.
- Salary rules generate multiple payslip lines for
multi rule lines, but the result_rules in the
local_dict are not updated. This commit fixes that
and sums up the totals and amounts for all the lines
in that rule.
Task# 4201469Resolved issues and error corrections
This fix ensures migrated Odoo 18 databases correctly populate hazardous material information for Mexican logistics records. It prevents affected customers from being blocked when generating Carta Porte documents due to missing hazardous goods data.
Original PR description
In databases migrated to Odoo 18, that has the module l10n_mx_edi_stock installed the field l10n_mx_edi_hazardous_material remains empty. This issue occurs because the CSV file (product.unspsc.code.csv) assigns the value but the records are no update As a result, customers cannot generate the Carta Porte in the l10n_mx module, encountering the following error: Error 301 (CP155): The attribute "Mercancia:MaterialPeligroso" is missing or invalid when the ClaveProdServ is declared as hazardous. As it was mentioned here: https://github.com/odoo/upgrade/pull/7468 I modified the script to use ir_model_data to link the records and now it's on the carpet migrations of l10n_mx_edi_stock Here is a ticket with an example of the error https://www.odoo.com/odoo/project.task/4577049/action-4665/4631583