es_payslipSpanish payslip (nómina)
Spanish payslip: employer (tax ID, contribution account code), employee (NIF, social security number), period, earnings, deductions, net pay, income tax withholding rate and contribution bases.
- Category
- Employment
- Country
- Spain
- Extracted fields
- 14 fields
- Cost
- 1 credit
es_payslipspecimen- Company
- Employee
- Period start
- Period end
- Days
- Accruals
- Total accrued
- Deductions
- Total deductions
What it checks
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
es_nif, es_nif, iban - Holder. Name, number or date of birth match what you expect.
- Recency. Issued less than N days ago.
- IBAN. ISO 13616 check digits and length per country.
Extracted fields
- Company
company - Employee
employee - Period start
period_start - Period end
period_end - Days
days - Accruals
accruals - Total accrued
total_accrued - Deductions
deductions - Total deductions
total_deductions - Net pay
net_pay - Irpf percent
irpf_percent - Contribution bases
contribution_bases - Payment date
payment_date - IBAN
iban
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "es_payslip",
"checks": {
"max_age_days": 90,
"holder": {
"full_name": "Carmen Especimen Ruiz"
}
},
"storage": "none"
}'Sample response
Fictitious data. Shortened response.
200 OK · application/json
{
"id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
"object": "analysis",
"status": "completed",
"livemode": false,
"document": {
"type": "es_payslip",
"label": "Spanish payslip (nómina)",
"confidence": 0.97
},
"verdict": {
"expected": [
"es_payslip"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: Spanish payslip (nómina)."
}
]
},
"fields": {
"company": {
"value": {
"name": "ESPECIMEN S.L.",
"tax_id": "B12345674",
"address": "C/ MAYOR 1, 28013 MADRID",
"ccc": "28123456789"
},
"confidence": 0.99,
"validated": true
},
"employee": {
"value": {
"name": "JUAN ESPAÑOL ESPAÑOL",
"tax_id": "99999999R",
"social_security_number": "281234567840",
"category": "Técnico"
},
"confidence": 0.98,
"validated": null
},
"period_start": {
"value": "2026-08-01",
"confidence": 0.97,
"validated": null
},
"period_end": {
"value": "2026-08-31",
"confidence": 0.96,
"validated": null
},
"days": {
"value": 30,
"confidence": 0.99,
"validated": null
},
"accruals": {
"value": [
{
"concept": "Salario base",
"amount": 1800
},
{
"concept": "Prorrata pagas extra",
"amount": 300
}
],
"confidence": 0.98,
"validated": null
},
"total_accrued": {
"value": 2100,
"confidence": 0.97,
"validated": null
},
"deductions": {
"value": [
{
"concept": "Contingencias comunes 4,83 %",
"amount": 101.43
},
{
"concept": "Desempleo 1,55 %",
"amount": 32.55
},
{
"concept": "Formación profesional 0,10 %",
"amount": 2.1
},
{
"concept": "IRPF 12 %",
"amount": 252
}
],
"confidence": 0.96,
"validated": null
},
"total_deductions": {
"value": 388.08,
"confidence": 0.99,
"validated": null
},
"net_pay": {
"value": 1711.92,
"confidence": 0.98,
"validated": null
},
"irpf_percent": {
"value": 12,
"confidence": 0.97,
"validated": null
},
"contribution_bases": {
"value": {
"common": 2100,
"professional": 2100,
"irpf": 2100
},
"confidence": 0.96,
"validated": null
},
"payment_date": {
"value": "2026-08-31",
"confidence": 0.99,
"validated": null
}
},
"checks": [
{
"code": "id_number",
"passed": true,
"message": "id_number"
},
{
"code": "iban_checksum",
"passed": true,
"message": "iban_checksum"
}
],
"warnings": [],
"storage": {
"mode": "none",
"file_deleted_at": "2026-09-29T10:00:02Z",
"expires_at": null
},
"usage": {
"credits": 1,
"pages": 1
}
}FAQ
Does Constaia prove the document is authentic?
No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.
Is a copy of the document kept?
No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.
Other documents
And for the record…
Create your account, copy the test key and validate your first document in five minutes.