Saltar al contenido
Constaia
es_aeat_income_certificate

Certificado de IRPF / nivel de renta (AEAT)

Certificado tributario de IRPF de la Agencia Tributaria (resumen de la declaración o de imputaciones si no declaró); PDF firmado con CSV.

Categoría
Impuestos
País
España
Campos que extrae
9 campos
Coste
1 crédito
es_aeat_income_certificatespecimen
Nombre del titular
DNI/NIE del titular
Fecha de expedición
Ejercicio fiscal
Has filed
General tax base
Savings tax base
Total income
Código Seguro de Verificación

Qué comprueba

  • Identificadores nacionales. Checksum o formato oficial del número (NIF, CPF, CURP, RUT, codice fiscale…).es_nif
  • Titular. Nombre, número o fecha de nacimiento coinciden con lo esperado.
  • Antigüedad. Emitido hace menos de N días.
  • Código Seguro de Verificación. Formato del CSV para cotejarlo en la sede emisora.
  • Firma electrónica del PDF. Se verifica la firma PAdES si llega el PDF original.

Campos que extrae

  • Nombre del titularholder_name
  • DNI/NIE del titularholder_id
  • Fecha de expediciónissue_date
  • Ejercicio fiscaltax_year
  • Has filedhas_filed
  • General tax basegeneral_tax_base
  • Savings tax basesavings_tax_base
  • Total incometotal_income
  • Código Seguro de Verificacióncsv_code

Petición de ejemplo

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "es_aeat_income_certificate",
    "checks": {
      "max_age_days": 90,
      "holder": {
        "full_name": "Carmen Especimen Ruiz"
      }
    },
    "storage": "none"
  }'

Ejemplo de respuesta

Datos ficticios. Respuesta abreviada.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "es_aeat_income_certificate",
    "label": "Certificado de IRPF / nivel de renta (AEAT)",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_aeat_income_certificate"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "El documento es: Certificado de IRPF / nivel de renta (AEAT)."
      }
    ]
  },
  "fields": {
    "holder_name": {
      "value": "JUAN ESPAÑOL ESPAÑOL",
      "confidence": 0.99,
      "validated": true
    },
    "holder_id": {
      "value": "99999999R",
      "confidence": 0.98,
      "validated": null
    },
    "issue_date": {
      "value": "2026-09-01",
      "confidence": 0.97,
      "validated": null
    },
    "tax_year": {
      "value": 2025,
      "confidence": 0.96,
      "validated": null
    },
    "has_filed": {
      "value": true,
      "confidence": 0.99,
      "validated": null
    },
    "general_tax_base": {
      "value": 28500,
      "confidence": 0.98,
      "validated": null
    },
    "savings_tax_base": {
      "value": 350.2,
      "confidence": 0.97,
      "validated": null
    },
    "csv_code": {
      "value": "ABCDEFGH12345678",
      "confidence": 0.96,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "id_number",
      "passed": true,
      "message": "id_number"
    },
    {
      "code": "csv_format",
      "passed": true,
      "message": "El CSV tiene un formato válido."
    }
  ],
  "warnings": [],
  "storage": {
    "mode": "none",
    "file_deleted_at": "2026-09-29T10:00:02Z",
    "expires_at": null
  },
  "usage": {
    "credits": 1,
    "pages": 1
  }
}

FAQ

¿Constaia prueba que el documento es auténtico?

No. Comprueba el tipo, la coherencia de los datos y tus reglas, y avisa de señales como posible edición o foto de pantalla. Eso no prueba autenticidad.

¿Se guarda una copia del documento?

No, salvo que lo pidas. Con storage "none" (por defecto) el fichero se borra al terminar el análisis.

Otros documentos

Y para que conste…

Crea tu cuenta, copia la clave de test y valida tu primer documento en cinco minutos.