es_income_tax_returnSpanish personal income tax return (form 100)
Filed Spanish personal income tax return (form 100): tax year, filer, taxable bases, tax due and result, with receipt number and CSV.
- Category
- Tax
- Country
- Spain
- Extracted fields
- 12 fields
- Cost
- 1 credit
es_income_tax_returnspecimen- Tax year
- Holder name
- Holder ID number
- Spouse id
- Joint
- General tax base
- Savings tax base
- Total tax due
- Result
What it checks
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
es_nif, es_nif - Holder. Name, number or date of birth match what you expect.
- Secure verification code. Format of the code used to check it with the issuer.
Extracted fields
- Tax year
tax_year - Holder name
holder_name - Holder ID number
holder_id - Spouse id
spouse_id - Joint
joint - General tax base
general_tax_base - Savings tax base
savings_tax_base - Total tax due
total_tax_due - Result
result - Receipt number
receipt_number - Filing date
filing_date - Secure Verification Code (CSV)
csv_code
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "es_income_tax_return",
"checks": {
"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_income_tax_return",
"label": "Spanish personal income tax return (form 100)",
"confidence": 0.97
},
"verdict": {
"expected": [
"es_income_tax_return"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: Spanish personal income tax return (form 100)."
}
]
},
"fields": {
"tax_year": {
"value": 2025,
"confidence": 0.99,
"validated": true
},
"holder_name": {
"value": "JUAN ESPAÑOL ESPAÑOL",
"confidence": 0.98,
"validated": null
},
"holder_id": {
"value": "99999999R",
"confidence": 0.97,
"validated": null
},
"joint": {
"value": false,
"confidence": 0.96,
"validated": null
},
"general_tax_base": {
"value": 28500,
"confidence": 0.99,
"validated": null
},
"savings_tax_base": {
"value": 350.2,
"confidence": 0.98,
"validated": null
},
"total_tax_due": {
"value": 4870.55,
"confidence": 0.97,
"validated": null
},
"result": {
"value": -312.4,
"confidence": 0.96,
"validated": null
},
"receipt_number": {
"value": "1001234567890",
"confidence": 0.99,
"validated": null
},
"filing_date": {
"value": "2026-05-10",
"confidence": 0.98,
"validated": null
}
},
"checks": [
{
"code": "id_number",
"passed": true,
"message": "id_number"
},
{
"code": "csv_format",
"passed": true,
"message": "The verification code has a valid format."
}
],
"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
- Spanish tax compliance certificate (AEAT)
- Spanish Social Security compliance certificate
- Spanish tax census status certificate (AEAT)
- Spanish tax identification card (NIF)
- Spanish income tax certificate (AEAT)
- German tax ID notice (Steuer-IdNr)
- Mexican tax status certificate (constancia de situación fiscal)
- Argentine CUIL/CUIT certificate
And for the record…
Create your account, copy the test key and validate your first document in five minutes.