# Data dictionary: public contract awards to esPublico

- **Source:** Plataforma de Contratación del Sector Público (Spain's official public procurement platform), open data (monthly files of tenders from buyer profiles, from aggregated platforms and of minor contracts).
- **Which records are included:** Contract awards whose successful bidder has a tax ID (NIF) containing the digits 50878842, with or without a letter or hyphen. The company name is not used to filter.
- **Date of the data (when the source was read):** 2026-10-29T14:09:08+00:00
- **Latest publication included:** 2026-10-28T14:07:41.647+01:00
- **Records published:** 3,255
- **Records not published because they have no official link:** 0
- **Notice:** The fact that a contract appears here does not mean that there is anything irregular about it.

## Files

- adjudicaciones.csv: UTF-8 with BOM, “;” separator, CRLF line endings, amounts with a decimal comma and no thousands separator, “sí”/“no” (yes/no) in the Boolean column. Text starting with =, +, - or @ is preceded by an apostrophe so that spreadsheets do not treat it as a formula; in the JSON and XLSX it appears unchanged.
- adjudicaciones.json: the metadata (source, date, notice) and a “registros” list with one object per contract award; amounts are numbers.
- adjudicaciones.xlsx: one sheet with the records and another with the metadata.
- adjudicaciones.min.json: the same rows and columns in the compact format that the search loads. Each row is a list in the order of “columnas”; columns with many repeated values are stored as a position number in “diccionarios”.
- MANIFIESTO-SHA256.txt: the SHA-256 hash of each file, in the format checked by “shasum -a 256 -c”.

## Columns

| Column | Type | Meaning | Source |
|---|---|---|---|
| `id` | text | Identifier of the record in the source: the final number of the entry identifier in the Platform's open data. | Plataforma de Contratación del Sector Público (id) |
| `origen` | text | Open data file the record comes from: 1Plataforma (tenders from contracting authority profiles hosted on the Platform), 2Agregadas (aggregated regional platforms, excluding minor contracts) or 3Menores (minor contracts). | Plataforma de Contratación del Sector Público (etiqueta) |
| `url` | link | Link to the official entry of the tender, as published by the source. For tenders from regional platforms, the link goes to that platform. | Plataforma de Contratación del Sector Público (url) |
| `objeto` | text | Subject of the contract, as written in the source. | Plataforma de Contratación del Sector Público (title) |
| `objeto_idioma` | text | Language in which the source writes the subject: es (Spanish), ca (Catalan or Valencian), gl (Galician) or eu (Basque). We detect it from words specific to each language, so it may be wrong for very short texts. | Calculated when the data is prepared |
| `organismo` | text | Contracting body, as named in the source. | Plataforma de Contratación del Sector Público (organismo) |
| `organismo_codigo` | text | Code of the contracting body as given by the source: almost always the DIR3 code and, failing that, the tax ID (NIF) or another identifier. | Plataforma de Contratación del Sector Público (organismoNIF) |
| `importe_licitacion` | amount in euros | Base tender budget, in euros, as given by the source. In records read from the open data, excluding tax. It is the budget for the whole procurement procedure: if it has lots, the amount awarded only adds up esPublico's lots. | Plataforma de Contratación del Sector Público (importeBase) |
| `importe_adjudicacion` | amount in euros | Amount awarded to the company, in euros, as given by the source. In records read from the open data, excluding tax and, if the company won several lots of the same procurement procedure, the total. | Plataforma de Contratación del Sector Público (importeAdjudicacion) |
| `adjudicatario` | text | Name of the successful bidder as written in the source, which writes it in many different ways. | Plataforma de Contratación del Sector Público (adjudicatario) |
| `adjudicatario_nif` | text | Tax ID (NIF) of the successful bidder as written in the source, without leading or trailing spaces. | Plataforma de Contratación del Sector Público (adjudicatarioNif) |
| `num_licitadores` | whole number | Number of bids received, according to the source. 1 means a single bidder. In records read directly from the open data, if the company won several lots, the highest figure among its lots. For a minor contract the law allows a direct award, without asking for several bids. | Plataforma de Contratación del Sector Público (numLicitadores) |
| `fecha_publicacion` | date and time (ISO 8601) | Date of publication on the Platform as stored by the source (fCreacion): in records read directly from the open data, the update date with which the record first appeared. In records loaded earlier by another program it may be the date of a later notice (a modification, a correction); the warning fecha_posterior_a_modificacion flags it when it is later than fecha_modificacion. It is neither the award date nor the date the contract was concluded: the open data gives those in other fields, but this dataset does not include them yet. | Plataforma de Contratación del Sector Público (fCreacion) |
| `fecha_modificacion` | date and time (ISO 8601) | Date of the latest update of the record in the source (fModificacion). | Plataforma de Contratación del Sector Público (fModificacion) |
| `anio` | whole number | Year of fecha_publicacion. It is the year used by the search's year filter. | Calculated when the data is prepared |
| `tipo_contrato_codigo` | text | Code as it comes from the source (tipoLicitacion), untranslated. In records read directly from the open data it is the contract type (the TypeCode of the ProcurementProject element); in records loaded earlier by another program it may follow another code list, such as the procedure's. Do not use it to classify contracts without checking the official entry. | Plataforma de Contratación del Sector Público (tipoLicitacion) |
| `cp_lugar_ejecucion` | text | Postcode of the place of performance, when the source provides it. | Plataforma de Contratación del Sector Público (cpLugarEjecucion) |
| `municipio_ine` | text | Five-digit INE code of the municipality, when the contracting body is a town council and it could be identified. | Calculated when the data is prepared |
| `municipio` | text | Name of the municipality as it appears in the register of mayors. | Register of mayors of the Ministry of Territorial Policy and Democratic Memory and RedSARA |
| `provincia_codigo` | text | INE province code (two digits). | INE, list of autonomous communities and provinces |
| `provincia` | text | Name of the province. | INE, list of autonomous communities and provinces |
| `comunidad_codigo` | text | INE code of the autonomous community or city (two digits). | INE, list of autonomous communities and provinces |
| `comunidad` | text | Name of the autonomous community or city. | INE, list of autonomous communities and provinces |
| `territorio_origen` | text | How the province was determined: ine_codigo_organismo (the INE code contained in the town council's DIR3 code or tax ID), ine_nombre_organismo (the municipality's name within the name of the body, matched against the register of mayors), codigo_postal (postcode of the place of performance) or codigo_organismo_supramunicipal (code of a provincial council, island council, association of municipalities or tax ID (NIF) of another local body). Empty: no data. | Calculated when the data is prepared |
| `partido_alcalde` | text | Party of the municipality's mayor on the date of publication on the Platform (fecha_publicacion), with the regional federations of the same party grouped together (for example, PSC-CP counts as PSOE). Town councils only; empty if not on record. The person's name is not published. | Register of mayors of the Ministry of Territorial Policy and Democratic Memory and RedSARA |
| `partido_alcalde_sigla` | text | Acronym of the electoral list as it appears in the register of mayors. | Register of mayors of the Ministry of Territorial Policy and Democratic Memory and RedSARA |
| `partido_alcalde_grupo` | text | Group used by the party filter: the parties with the most mayoralties, each on its own; the rest under “Otros” (others); and anything not on record under “Sin datos” (no data). | Register of mayors of the Ministry of Territorial Policy and Democratic Memory and RedSARA |
| `partido_alcalde_aproximado` | yes / no | “sí” (yes) when the register of mayors does not give the date the mayor took office and the term is counted from the day the town councils of that term were constituted: the person on record may not have been the one in office on that date. | Register of mayors of the Ministry of Territorial Policy and Democratic Memory and RedSARA |
| `avisos_calidad` | text | Data quality warnings for the record, separated by commas; empty if there are none. They say where the figure should be checked on the official entry, not anything about the contract. Each code is explained below. | Calculated when the data is prepared |

An empty field (null in the JSON) means that the source does not provide that data.

## Data quality warnings

Records with warnings remain in the dataset and in the figures, as the source gives them. Codes:

- `nombre_distinto`: The successful bidder's name is neither esPublico nor Auloce, although the tax ID (NIF) contains its digits.
- `varios_adjudicatarios`: The record names several successful bidders: the amount may include what was awarded to the others.
- `enlace_repetido`: Another record links to the same official entry: it may be the same contract counted twice.
- `acuerdo_marco`: The subject mentions a framework agreement: the agreement and the contracts based on it may both appear and be added together twice.
- `nif_escrito_distinto`: The successful bidder's tax ID (NIF) is written differently (another letter, no letter or extra characters): the filter picks it up by its digits.
- `menor_importe_a_revisar`: Minor contract with an amount awarded equal to or above the general limit at its date. This may be correct: the law allows it, for example, for subscriptions and access to databases (explained under Data).
- `adjudicado_mayor_que_licitado`: The source gives an amount awarded higher than the base tender budget; this may be due to tax, lots, extensions or an error in the source.
- `fecha_posterior_a_modificacion`: The publication date in the source is later than its last modification: it may be the date of a later notice, in which case the year and the party may not match the award.
- `codigo_organismo_retirado`: The contracting body's code looked like a national identity number (DNI) and we do not publish it.

## Source data that is not published

- organismoEMail: the email address of the contracting body. In many records it belongs to a person.
- pliegoTecnico: link to the technical specifications. They can be reached from the official entry (url).
- pliegoAdministrativo: link to the administrative specifications. They can be reached from the official entry (url).
- poblacion: the municipality's population, which the commercial home page of this website calculates for its map. It does not come from the Platform.
- The mayor's name: it is personal data and is not needed to search. Only the party is taken from the register of mayors.

## How to check the files

On macOS or Linux, in the folder containing the files and the manifest:

```
shasum -a 256 -c MANIFIESTO-SHA256.txt
```

On Windows, one file at a time, then compare the result with that file's line in the manifest:

```
certutil -hashfile adjudicaciones.csv SHA256
```
