Skip to content
Constaia
es_self_employed_fee_receipt

Spanish self-employed contribution receipt (RETA)

Spanish self-employed social security contribution receipt (RETA): holder, social security number, period, contribution base and amount.

Category
Payments and finance
Country
Spain
Extracted fields
9 fields
Cost
1 credit
es_self_employed_fee_receiptspecimen
Holder name
Holder ID number
Social security number
Period
Contribution base
Amount
Payment date
IBAN
Receipt number

What it checks

  • National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).es_nif
  • 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

  • Holder nameholder_name
  • Holder ID numberholder_id
  • Social security numbersocial_security_number
  • Periodperiod
  • Contribution basecontribution_base
  • Amountamount
  • Payment datepayment_date
  • IBANiban
  • Receipt numberreceipt_number

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "es_self_employed_fee_receipt",
    "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_self_employed_fee_receipt",
    "label": "Spanish self-employed contribution receipt (RETA)",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "es_self_employed_fee_receipt"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: Spanish self-employed contribution receipt (RETA)."
      }
    ]
  },
  "fields": {
    "holder_name": {
      "value": "JUAN ESPAÑOL ESPAÑOL",
      "confidence": 0.99,
      "validated": true
    },
    "holder_id": {
      "value": "99999999R",
      "confidence": 0.98,
      "validated": null
    },
    "social_security_number": {
      "value": "281234567840",
      "confidence": 0.97,
      "validated": null
    },
    "period": {
      "value": "2026-08",
      "confidence": 0.96,
      "validated": null
    },
    "contribution_base": {
      "value": 1000,
      "confidence": 0.99,
      "validated": null
    },
    "amount": {
      "value": 314,
      "confidence": 0.98,
      "validated": null
    },
    "payment_date": {
      "value": "2026-08-31",
      "confidence": 0.97,
      "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.