Saltar al contenido
Constaia
es_income_tax_return

Declaración de la renta – modelo 100 (España)

Declaración del IRPF (modelo 100) presentada: ejercicio, declarante, bases imponibles, cuota y resultado, con justificante y CSV.

Categoría
Impuestos
País
España
Campos que extrae
12 campos
Coste
1 crédito
es_income_tax_returnspecimen
Ejercicio fiscal
Nombre del titular
DNI/NIE del titular
Spouse id
Joint
General tax base
Savings tax base
Total tax due
Result

Qué comprueba

  • Identificadores nacionales. Checksum o formato oficial del número (NIF, CPF, CURP, RUT, codice fiscale…).es_nif, es_nif
  • Titular. Nombre, número o fecha de nacimiento coinciden con lo esperado.
  • Código Seguro de Verificación. Formato del CSV para cotejarlo en la sede emisora.

Campos que extrae

  • Ejercicio fiscaltax_year
  • Nombre del titularholder_name
  • DNI/NIE del titularholder_id
  • Spouse idspouse_id
  • Jointjoint
  • General tax basegeneral_tax_base
  • Savings tax basesavings_tax_base
  • Total tax duetotal_tax_due
  • Resultresult
  • Receipt numberreceipt_number
  • Filing datefiling_date
  • 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_income_tax_return",
    "checks": {
      "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_income_tax_return",
    "label": "Declaración de la renta – modelo 100 (España)",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_income_tax_return"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "El documento es: Declaración de la renta – modelo 100 (España)."
      }
    ]
  },
  "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": "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.