Skip to main content
Pending validationOdoo 20.0Community and Enterprise

The final payslip of the termination cannot be created or validated

Symptom​

You are handling an employee's departure and one of these things happens:

  • the Create final payslip button does not appear, or answers with Invalid Operation;
  • the final payslip opens, but Validate answers with Invalid Operation;
  • the termination is not saved.

Message​

Seen with the Payroll Processor profile, in Empresa Demonstração, Lda. The names and dates change with your case.

When you press Create final payslip and the termination already has another final payslip:

““Employee name” already has a final payslip for this termination: “Employee name (01/10/2026 — 31/10/2026)” (Draft, no batch, created on 05/11/2026 13:09:39 by Salários (demonstração)). What happened: two final payslips of the same termination would settle it twice. How to fix it: open the existing one in the payslip list (Payroll menu) or cancel it (with a reason) before creating another.”

When you press Validate and a regular payslip already pays the same days:

“The final payslip of “Employee name” cannot be validated: a regular payslip (Employee name (01/10/2026 — 31/10/2026)) already covers the same days. What happened: the employee would be paid twice for the same month. How to fix it: if that payslip is already paid, keep it and delete the base salary line from the final payslip (the final payslip then only carries the termination parcels); if not, cancel that regular payslip (with the reason) or correct it, so that the final payslip carries the whole month. Then validate again.”

With the regular payslip Paid, what this message tells you to do does not work today: see A regular payslip covers the same days.

When you press Calculate on a payslip of type Regular with a Legal compensation of the termination line:

“The final payslip of “Gabriela Sousa Reis” has no termination. What happened: the notice, the training and the compensation of the termination come from its registry. How to fix it: choose the termination on the payslip (Termination).”

The message says “final payslip”, although the payslip is regular.

When you save a regular payslip for a month after the last day of the contract:

““Fábio Nuno Carvalho” has no contract from 30/09/2026. What happened: the termination (Fábio Nuno Carvalho — Denúncia pelo trabalhador — 30/09/2026) ends the contract on 30/09/2026, so a regular payslip for the period starting on 01/10/2026 would pay a month without a contract. How to fix it: do not process this month; if something is due for the time worked, use an adjustment or the corrective payslip of the final payslip.”

When you save the termination with the Holidays of earlier years not taken field wrong:

“The holidays of earlier years not taken cannot be negative.”

“Holidays of earlier years still due need the basis (an agreed postponement, a refusal of the employer). How to fix it: fill in “Basis of the earlier holidays”.”

Verified causes​

  • The termination is still in Draft. Create final payslip only appears after Confirm. Without Employee, Mode of termination, Initiator and Last day of the contract, the termination is not saved: “Some required fields are empty. Fill in the fields marked in red to be able to save.”
  • The termination already has a final payslip in progress. Until it is Cancelled, a final payslip in Draft counts as the final payslip of that termination.
  • The termination is already settled. With the final payslip validated, it moves to Settled and the bar only shows Work certificate: there is no longer Create final payslip nor Reopen.
  • A regular payslip, validated or paid, covers the same days. The final payslip carries the month in which the contract ends. With the regular payslip Validated there is a way out. With the regular payslip Paid, today there is none: the final payslip is created with only the termination parcels, but Validate is refused because of the minimum wage. This is a limit of the screen, not a payroll rule.
  • The payslip was made by hand, without a termination. A new payslip of type Final (termination), without Termination, is saved, but it has no lines: Validate answers that the base remuneration is missing.
  • A termination line is on a regular payslip. The compensation items belong to the final payslip.
  • The contract has already ended. After the last day of a confirmed termination, a regular payslip for a later month is refused.

What to check​

  1. The state of the termination, in Payroll › Prepare › Workers and contracts › Terminations: Draft, Confirmed or Settled.
  2. In Payroll › Process › Payslips, the employee's payslips in the month of the last day: type and state.
  3. Whether the regular payslip of that month is Validated or Paid. The path is different.

How to fix it​

The termination has no button​

Fill in the required fields, save and press Confirm. The steps are in How to handle an employee's departure.

Who does it: Payroll Processor.

The second final payslip​

There is only one final payslip per termination. It depends on the state of the first one:

  • In Draft: open it in Payroll › Process › Payslips and continue on it. If you really want to start again, open Actions › Cancel, write the Reason, press Confirm cancellation and go back to Create final payslip. In the demo, the cancelled draft became Cancelled and a new payslip was created.
  • Validated: the termination becomes Settled and there is no second final payslip. A difference is corrected with a corrective payslip of the final payslip: The payslip is already validated and cannot be changed.

Always make the final payslip with the termination's button, not with New in the payslip list. New, with the type Final (termination) and the same termination, saved a second draft without any refusal.

A regular payslip covers the same days​

If the regular payslip is Validated:

  1. Open it and, in Actions › Cancel, write the Reason and press Confirm cancellation.
  2. Go back to the final payslip, press Calculate and Validate.

In the demo, with the termination of 31/10/2026, the final payslip became Validated after the regular October payslip was cancelled.

If the regular payslip is Paid, today the screen has no way out for a last day in that month. In the demo, with the last day on 31/10/2026 and October paid:

  • Create final payslip creates the payslip with only the termination parcels, without Base remuneration;
  • Validate answers: “The remuneration of Employee name (€0.00) is below the minimum wage that applies to the employee (€920.00) by €920.00. […]”. Deleting the base line from a final payslip created before the payment gives the same refusal, despite what the previous message says;
  • with a missing-notice parcel, Calculate already answers: “The termination parcel “Indemnização do aviso em falta devida pelo trabalhador (cessação)” of “Employee name” has no base. […]”.

What to do:

  1. Do not create correctives or another final payslip: they do not unblock the validation.
  2. Leave the final payslip in Draft and the termination in Confirmed.
  3. Contact support, with the information listed at the end of this article.
  4. Check in Social Security registration what you have to communicate about the departure.

Who does it: Payroll Processor, to cancel the Validated regular payslip and validate the final payslip.

A final payslip made by hand​

Cancel it in Actions › Cancel and create the final payslip with the termination's button, which brings the remuneration up to the last day and the parcels.

A termination line on a regular payslip​

Remove the line from the regular payslip. The compensation is paid on the final payslip, created with the termination's button.

A regular payslip after the last day​

Do not create it: that month no longer has a contract. If something is still due, use what the message says.

Holidays of earlier years​

Write zero or a positive number in Holidays of earlier years not taken and, if there are days, fill in Basis of the earlier holidays. Pending validation by a certified accountant: which grounds justify keeping holidays due from earlier years.

Cancel a final payslip already accounted​

Cancelling a final payslip already accounted by batch also creates the reversal by batch. If the company has meanwhile stopped posting payroll by batch, the cancellation is refused, with the instruction to set Post the salaries back to Added up by batch or to correct with a corrective payslip. Payments already made are not undone.

The termination is wrong and you already created a final payslip​

With the final payslip in Draft, Reopen puts the termination back in Draft, with no refusal. Correct the data, press Confirm and continue on the payslip that already exists. With the final payslip validated, the termination is Settled and there is no Reopen: contact support.

Expected result​

  • The final payslip becomes Validated, with the Pay and Rectify buttons, and the termination moves to Settled.
  • The regular payslip of the same month, if it was Validated, becomes Cancelled, with the reason.

Then communicate the departure to Social Security: Social Security registration.

When to contact support​

  • The regular payslip of the month of the last day is Paid and the final payslip is refused.
  • The termination has wrong data and is already Settled.

Information to send​

  • The employee's name, the termination and the last day of the contract.
  • That employee's payslips in the month, with type and state.
  • The full text of the message, copied from the screen.
  • The profile you logged in with.
Versions: Odoo 20.0Community and Enterprisefiscaldoo 20.0 (master 0289754a8)ID DOC-0402
Was this page helpful?