# Spain (`ES`)

Use `ES_SIF` for the applicable SIF output mode and `ES_VERIFACTU` when the
taxpayer's invoicing system is operating under its VERI*FACTU configuration.
VERI*FACTU is not selected independently for each receipt.

## Before Cheqi

- Configure the taxpayer's invoicing system for the applicable SIF modality.
- Have that system allocate the invoice type, series, and number and produce
the chained-record hash.
- Complete any required AEAT operation and retain its response.
- Obtain the final software identity, wording, fiscal evidence, and QR payload
before generating the receipt.


## In the Cheqi request

| Value | Request location |
|  --- | --- |
| SIF regime | `jurisdictionalData.regime = ES_SIF` |
| VERI*FACTU regime | `jurisdictionalData.regime = ES_VERIFACTU` |
| Regime contract version | `jurisdictionalData.regimeVersion` |
| Invoice type | Field `ES:INVOICE_TYPE` |
| Series | Field `ES:SERIES` |
| Chained-record hash | Fiscal field `ES:CHAINED_RECORD_HASH` |
| Software version | Fiscal field `ES:SIF_SOFTWARE_VERSION` |
| Authority reference | `fiscalization.authorityReference` |
| VERI*FACTU wording | `legalTexts[]` |
| Verification QR | Top-level `barcodes[]` |


## VERI*FACTU example

```json
{
  "barcodes": [
    {
      "type": "QR_CODE",
      "data": "exact-verifactu-qr-payload",
      "label": "VERI*FACTU"
    }
  ],
  "jurisdictionalData": {
    "countryCode": "ES",
    "regime": "ES_VERIFACTU",
    "regimeVersion": "2026-07",
    "fiscalization": {
      "system": "ES_VERIFACTU",
      "status": "FISCALIZED",
      "fiscalDocumentNumber": "F2026-000042",
      "authorityReference": "opaque-aeat-reference",
      "softwareId": "ES-SIF-SOFTWARE-01",
      "timestamp": "2026-07-29T08:15:30Z",
      "additionalFields": [
        {
          "code": "ES:CHAINED_RECORD_HASH",
          "value": "opaque-chain-hash"
        },
        {
          "code": "ES:SIF_SOFTWARE_VERSION",
          "value": "1.0.0"
        }
      ]
    },
    "legalTexts": [
      {
        "code": "VERIFACTU_NOTICE",
        "text": "Exact wording produced by the configured invoicing system",
        "languageCode": "es-ES"
      }
    ],
    "additionalFields": [
      {
        "code": "ES:INVOICE_TYPE",
        "value": "F1"
      },
      {
        "code": "ES:SERIES",
        "value": "F2026"
      }
    ]
  }
}
```

Cheqi does not create the chained record, elect the SIF modality, report to
AEAT, or generate the QR payload.

## Related

- [Supplying jurisdiction data](/countries/jurisdictional-data)
- [Country support boundary](/countries/overview)