Skip to main content
Pending validationOdoo 20.0Community and Enterprise

Required employee data is missing (NISS, NIF, IBAN, contract)

Symptom​

The employee form is not saved, Validate refuses the payslip or Generate payment does not create the payment. The message says which data is missing or wrong.

Message​

The messages were triggered with the Payroll Administrator profile, with a new employee created with just a name.

Fields in red on the form, in Payroll › Prepare › Workers and contracts › Worker files › New. The Employee Name is required. While the company has no workplace, so is the Usual workplace, in the Work tab. Once the first workplace is created, new forms already have it filled in:

“Some required fields are empty. Fill in the fields marked in red to be able to save.”

NISS with the wrong number of digits, when saving the form:

“The Social Security number “123” of “Novo Colaborador” is not valid. What happened: a NISS has exactly 11 digits. How to fix it: correct the number (digits only).”

Tax number with the wrong last digit, when saving the form:

“The NIF “123456780” is not valid. Why: the last digit (check digit) does not match the other eight. How to fix it: Check the number on the citizen card or tax identification document and type it again.”

No contract, when clicking Calculate on the payslip from 01/11/2026 to 30/11/2026. The employee has a name and a workplace, but the Date of admission, at the top of the form, is empty:

“Novo Colaborador 3 has no contract. What happened: the employee never had a contract, so there is no pay or Social Security framework to calculate. How to fix it: open the employee form (Payroll › Prepare › Workers and contracts › Worker files) and fill in the Contract type (Work tab, “Portuguese contract” block), the Date of admission (at the top, up to the period) and the Wage (Payroll tab), or do not include this employee in the batch.”

3 items and the tax number missing, when clicking Validate on the payslip of an employee created with just a name. As Calculate was refused, the payslip has no lines. The window shows the two messages one after the other:

“Payslip “Novo Colaborador (01/11/2026 — 30/11/2026)” cannot be validated: 3 required item(s) of the pay document are missing — (3) employee's Social Security number (NISS); (4) professional category; (5) base pay and other payments (no line). What happened: the Labour Code (art. 276.º/3) sets the content the employee must receive with the payment. How to fix it: fill in what is missing (the NISS and the professional category on the employee form, the tax number on the company form) and validate again. Payslip “Novo Colaborador (01/11/2026 — 30/11/2026)” cannot be validated: the worker has no NIF (tax number). What happened: the monthly remuneration declaration (DMR) carries the 9-digit NIF of the beneficiary and is refused without it. How to fix it: fill in the NIF in the employee form (“Tax number (NIF)”) and validate again.”

2 items and the tax number missing, when clicking Validate when the employee already has a contract and the payslip has already been calculated, but the NISS, the category and the tax number are missing:

“Payslip “Novo Colaborador 2 (01/11/2026 — 30/11/2026)” cannot be validated: 2 required item(s) of the pay document are missing — (3) employee's Social Security number (NISS); (4) professional category. … Payslip “Novo Colaborador 2 (01/11/2026 — 30/11/2026)” cannot be validated: the worker has no NIF (tax number). …”

Only the tax number missing, when clicking Validate, after filling in the NISS and the category: only the second message remains.

The same tax number on two employees, when saving the form:

“The tax number (NIF) “599999993” of “Novo Colaborador 2” is already that of “Novo Colaborador”. What happened: two employees of the same company cannot have the same tax number, because the returns (DMR, Social Security) would count the same person twice. How to fix it: correct the number or archive the duplicate employee.”

IRS not calculated, when clicking Validate, without Marital status (IRS) filled in:

“Payslip “Novo Colaborador (01/11/2026 — 30/11/2026)” cannot be validated: the IRS was not calculated. What happened: the payslip has no withholding table nor a declared “no withholding”, and withholding tax is due (CIRS art. 99.º); once validated, the payslip is locked. How to fix it: fill in the employee's IRS situation (marital status and dependants) and calculate again, or tick “Explicitly no IRS withholding” with the reason and the legal reference.”

Contract without a wage, when clicking Calculate, with the Date of admission filled in and the Wage at zero:

“The base pay of Novo Colaborador for 01/11/2026 to 30/11/2026 is €0.00. What happened: the payslip's base line was zero, so the payslip would be calculated and paid without pay. How to fix it: fill in the monthly pay on the employee's contract (a new version from the day it applies) and calculate again; if the employee really is not paid in this period, record the suspension of the contract in Absences (an approved request of the “Suspension of the contract” type) for the whole period.”

No IBAN, in Actions › Generate payment on the validated payslip (the Actions button next to Rectify, not the gear one):

“Novo Colaborador 2 has no valid IBAN. What happened: a bank transfer needs the IBAN of the worker, so no payment was ordered. How to fix it: fill in a valid bank account on the employee and order the payment again.”

IBAN with the wrong check digits, when saving the bank account:

“The IBAN "PT50003500000000000000000" is invalid (Portuguese bank account check digits, NIB). Check the number on your bank statement.”

Changing the contract after a validated payslip, when saving the form:

“This version of Novo Colaborador's contract cannot be changed (Contract type). What happened: it covers a month with a validated or paid payslip, and what was paid is never rewritten. How to fix it: register a NEW version of the contract starting on the day the change applies (the “+” button of the contract history, and fill in the field there); the previous months keep what they used. The attempt was registered in the audit.”

Fixed term without a term end date, when saving the form:

“Art. 141.º/1-e): “Fixed term, certain (termo certo)” requires a term end date. Fill in “Term end date”, or change the type.”

After filling in the Term end date, when saving again:

“Art. 147.º/1-c): a “Fixed term, certain (termo certo)” contract without a justification code or text is considered OPEN-ENDED by law — this product never reclassifies it silently. Fill in “Justification code” and “Justification” (art. 141.º/3: the specific facts, expressly related to the term), or change the type to “Indeterminate (sem termo)”.”

Cancelling a payslip with the payment generated, in Cancel receipt, in the gear menu:

“Payslip “Novo Colaborador (01/11/2026 — 30/11/2026)” cannot be cancelled: it has a payment that is generated (in a batch). What happened: the payment would still go out in the transfer file for a payslip that no longer exists. How to fix it: reject the payment, with the reason (or cancel it in Accounting), and cancel the payslip again.”

The missing data is not the employee's, it is the company's. In a company without an employer record, Validate gave:

“The employer data of “Empresa Nova, Lda” is incomplete on 30/11/2026: the employer record is missing. What happened: workplace accident insurance is a legal obligation (CT art. 106.º/3-j) and the payment document and the returns are based on the employer record. How to fix it: fill in Payroll › Configure › Company › Employer record.”

Verified causes​

  • The data was not filled in when the employee was created. The form is saved without a tax number, NISS, category, contract or IBAN. The gap only shows up later, in Calculate, Validate or Generate payment.
  • The employee does not have a contract yet. The NISS and the category are not enough: without a Date of admission on the form, Calculate refuses and the payslip has no lines.
  • The number was typed wrongly. The NISS must have 11 digits and the tax number must have the right check digit. A NISS with 11 digits is accepted without any further check, so an invented number gets through. Two employees of the same company cannot have the same tax number.
  • The company has no workplaces. While there are none, the Usual workplace list is empty and only offers Create.
  • The contract has already been used in a validated payslip. The contract type can no longer be changed in that version.
  • The IRS situation has not been filled in. Without Marital status (IRS) in the Payroll tab, the payslip has the warning “IRS not calculated”, with no IRS withheld, and Validate refuses. In the example, the payslip shows €1,019.15 net without IRS, and €1,002.15, with €17.00 of IRS, after filling it in.
  • The payment has already been generated. While it is in a batch, the payslip cannot be cancelled.

What to check​

On the employee form, in Payroll › Prepare › Workers and contracts › Worker files:

DataWhere it is
Tax number (NIF), Social Security number (NISS), Professional category and Date of admissionat the top of the form
Usual workplace, Contract type, Start date (the same date as Date of admission) and Term end dateWork tab, the contract in the Portuguese contract block
Wage, Working Hours, Tax residence and Marital status (IRS)Payroll tab
Bank accounts (IBAN)Personal tab

The Payroll › Prepare › Workers and contracts › Contracts list shows who already has a contract: an employee only appears there once the Date of admission is filled in on the form. This list is for consultation only: it has no New button.

The Payroll › Prepare › Workers and contracts › Workers with a tax number to fix list only shows those who came from the previous software without a valid tax number or NISS. An employee created by hand without a tax number does not appear there, so an empty list does not prove the forms are complete.

How to fix it​

What you can do yourself, with the Payroll Administrator profile:

  1. Contract. Open the employee form, as the message says. In the Work tab, Portuguese contract block, choose the Contract type. At the top of the form, fill in the Date of admission, up to the first day of the payslip. In the Payroll tab, fill in the Wage. Save. The employee now appears in Payroll › Prepare › Workers and contracts › Contracts. In the example, with Indeterminate (sem termo), 01/01/2026 and €1,000.00, the same payslip was calculated when Calculate was clicked again: there was no need to create a new payslip.
  2. NISS, tax number and category. Correct them on the form and save. Then, on the payslip, click Validate. If the payslip has no lines yet, click Calculate first. On the form, also fill in Marital status (IRS), in the Payroll tab, and click Calculate before Validate: in the example, with Not married, the “IRS not calculated” warning disappeared and the payslip became Validated with €17.00 of IRS.
  3. IBAN. In the Personal tab, under Bank accounts, type the IBAN, choose Create and edit..., check the number and click Save. Save the form and repeat Actions › Generate payment. In the example, the refusal disappeared.
  4. Workplace. Type the workplace name in the field and choose Create.
  5. Contract with a validated payslip. Register a new version of the contract starting on the day the change applies, as the message says. If the validated payslip is wrong and has not yet had effects, the alternative is Cancel receipt, in the gear menu, with the reason: in the example, this refusal disappeared. If the payment has already been generated, first open it in Payroll › Pay › Salary payments, click Reject, type the reason and Confirm: in the example, the payslip was then cancelled. First check with the certified accountant whether you can cancel the payslip.

What you ask someone else to do:

  • The employer record: ask whoever configures the company's payroll, in Payroll › Configure › Company › Employer record.

If the refusal comes from a return, follow The DMR was rejected. If the payslip does not even get calculated, follow The payslip is not calculated.

Expected result​

  • The form is saved without an error window.
  • Calculate no longer refuses and the payslip has lines.
  • The employee appears in Payroll › Prepare › Workers and contracts › Contracts.
  • The payslip becomes Validated, without the “IRS not calculated” warning, and Generate payment no longer gives the IBAN refusal.

When to contact support​

  • The number is correct on the identity document and is still refused.
  • The IBAN is on the form and Generate payment still says there is no valid IBAN.
  • The employee already appears in Payroll › Prepare › Workers and contracts › Contracts and Calculate still says they never had a contract.

Information to send​

  • The employee, the company and the payslip dates. Do not send the tax number, the NISS or the IBAN in writing unless asked.
  • 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 8a4c14b63)ID DOC-0361
Was this page helpful?