How to Extract Data from Spanish Payslips
Into Excel
In January 2015, Spain made a small change to the official payslip (nómina) model that has caused a quiet cascade of extraction failures ever since. Orden ESS/2098/2014 added a new column: the employer's Seguridad Social contribution (aportación empresarial), displayed on the employee's payslip for the first time. Most extraction tools — built on generic EU payroll templates — have no column for this number. It lands in the wrong cell, or worse, gets summed into the employee's deduction total, throwing off the net pay (líquido a percibir) by hundreds of euros. Since 2023, the Mecanismo de Equidad Intergeneracional (MEI) added yet another deduction line that legacy templates do not recognize. This article maps every field on a Spanish payslip, explains what each one means for extraction accuracy, and walks through a workflow that produces reconciliation-ready Excel in a single pass.
Key Takeaways
- Five separate Seguridad Social deductions appear on every Spanish nómina and most extraction tools pool all five into one "Tax" column — a reconciliation error that will surface during an Inspección de Trabajo, not during month-end close.
- The employer's aportación empresarial has been printed at the bottom of every Spanish payslip since January 2015 yet generic extraction templates still have no column for it, meaning total labor cost on your P&L is tens of thousands of euros short every year.
- ImageToTable.ai reads "Contingencias Comunes" and "IRPF" by what they mean rather than where they sit on the page, giving each deduction its own column so the payroll journal entry becomes a five-cell SUMIF instead of a manual re-sorting of 600 data points.
What Makes the Spanish Nómina Structurally Different for Data Extraction
A Spanish payslip (nómina) is not a one-column list of deductions like an Anglo-American pay stub. Under Article 29 of the Estatuto de los Trabajadores and the official model defined by Orden ESS/2098/2014, every nómina in Spain follows a four-block structure that has remained mandatory since 2015. Any extraction tool that expects one flat list of numbers will misalign data across all four blocks.
The four blocks are:
- Encabezado (header). Company data — CIF/NIF, razón social, domicilio, código de cuenta de cotización (CCC) — plus employee data: NIF, número de afiliación a la Seguridad Social (NAF), categoría profesional, grupo de cotización, and antigüedad. This block also specifies the pay period (periodo de liquidación) — the month and year the payslip covers.
- Devengos (earnings). Every euro the employee accrues in that period. It opens with percepciones salariales (salary-based earnings): salario base, complementos (antigüedad, idiomas, peligrosidad, nocturnidad), horas extraordinarias (overtime hours), and pagas extras prorrateadas (prorated extra payments — discussed below). It may also include percepciones no salariales (non-salary compensation): dietas, kilometraje, indemnizaciones. The bottom of this block shows the Total Devengado (total accrued).
- Deducciones (deductions). Everything subtracted from the total accrued. This is where Spain diverges from every other EU payslip: the deductions block does not show a single tax line. It itemizes four to five separate Seguridad Social contributions (contingencias comunes, desempleo, formación profesional, FOGASA, and since 2023, MEI), plus the IRPF withholding — Impuesto sobre la Renta de las Personas Físicas, Spain's progressive income tax withheld at source — plus any additional deductions like anticipos (advances) or embargos (garnishments). Each deduction has a worker share (aportación del trabajador). The total of all deductions is Total a Deducir.
- Bases de cotización and employer contribution (bottom panel). Since 2015, Spanish nóminas must display the employer's Seguridad Social contribution (aportación empresarial) alongside the contribution bases used for calculation. This panel shows the base de cotización for each contingency type, the applicable rate (tipo %), and the employer's contribution amount. No other EU payslip format — not the French bulletin de paie, the German Lohnabrechnung, nor the Italian cedolino — requires the employer contribution to appear on the employee's copy.
The practical consequence for extraction: a generic tool that reads the deductions block top-to-bottom and outputs one "Tax" column will mix Seguridad Social contributions with IRPF withholding — two amounts that belong in different accounting entries (cuenta 476 Organismo de la Seguridad Social acreedora vs. cuenta 4751 HP acreedora por retenciones). And the employer contribution, printed at the bottom of the page far from the deductions, will be missed entirely.
The Mandatory Nómina Fields — Mapping Each One to Your Spreadsheet Columns
Every Spanish nómina must include the fields listed below. A missing field is not a formatting oversight; it is an infracción laboral under the Ley sobre Infracciones y Sanciones en el Orden Social (LISOS), with fines ranging from leve (minor, €60–€625) for not delivering a correct payslip to grave (serious, €626–€6,250) for misrepresenting actual amounts. Companies must retain nóminas for at least five years. Here is the extraction column map:
| Nómina Section | Field | Recommended Column Name | Accounting / Verification Role |
|---|---|---|---|
| Encabezado | Company CIF/NIF | Employer NIF (CIF Empresa) | Matches CCC register; used in Sistema RED filings |
| Employee NIF + NAF | Employee NIF, SS Number (NAF) | Primary identifiers for all SS contribution records | |
| Grupo de Cotización | Cotiz. Group (Grupo Cotizacion) | Determines minimum and maximum contribution base | |
| Periodo de Liquidación | Pay Period (Periodo) | Month-year reference for TC2 and RNT reconciliation | |
| Devengos | Salario Base | Base Salary (Salario Base) | Foundation of all contribution calculations; fixed per contract |
| Complementos Salariales | Complements (Complementos) | Antigüedad, idiomas, peligrosidad — each may have different cotización treatment | |
| Pagas Extras Prorrateadas | Prorated Extra Pay (Prorrata Pagas) | When pagas extraordinarias are distributed across 12 months; not always present | |
| Horas Extraordinarias | Overtime Hours (Horas Extra) | Separate cotización rates apply; overtime hours above legal limit trigger sanciones | |
| Total Devengado | Total Accrued (Total Devengado) | Critical reconciliation checkpoint: must match sum of all devengo lines | |
| Deducciones | Contingencias Comunes (trabajador) | SS Common Contingencies (Cont. Comunes) | 4.70% of common contingencies base; accounts for ~65% of worker deductions |
| Desempleo (trabajador) | SS Unemployment (Desempleo) | 1.55% for indefinite contracts, 1.60% for temporary — rate tells you contract type | |
| Formación Profesional (trabajador) | SS Training (Formacion Prof.) | 0.10% of common contingencies base | |
| FOGASA (trabajador) | SS FOGASA | 0.20% — employer only; worker line shows 0 but field appears on payslip | |
| MEI (trabajador) | MEI (Mecanismo Equidad) | 0.15% of common contingencies base since 2023; extracted separately for year-over-year comparison | |
| IRPF Retención | IRPF Withholding (Retencion IRPF) | Progressive rate applied to base sujeta a IRPF; belongs in cuenta 4751, not 476 | |
| Total a Deducir | Total Deductions (Total a Deducir) | Must equal sum of all deduction lines above | |
| Result | Líquido a Percibir | Net Pay (Liquido a Percibir) | Final reconciliation: Devengado − Total a Deducir = Líquido |
| Bases + Aport. Empresarial | Base Contingencias Comunes | CC Base (Base CC) | The common contingencies contribution base; cap 5,101.20 €/month in 2026 |
| Base AT/EP + Desempleo | AT/EP + Unemp. Base (Base ATEP) | Includes overtime; cap also 5,101.20 €/month | |
| Aportación Empresarial (each contingency) | Employer CC (Aport. Empr. CC), Employer Unemp., etc. | Unique to Spanish payslips since 2015; for cost center accounting and total labor cost analysis |
Thirty-three columns sounds like a lot. But the same legal requirements that make the nómina dense also make it predictable: every payslip generated by a3asesor, Sage NominaPlus, NominaSol, PayFit, or Cegid contains these exact fields. Unlike Spanish invoices, where layout can vary dramatically by supplier, the nómina layout follows a regulated structure. The challenge is not finding the fields — it is making sure the five deductions go into separate columns instead of one "Tax" bucket, and that the employer contribution panel at the bottom is not overlooked.
If you have also worked with payroll data from other countries, the field structure may feel familiar but subtly different. A French bulletin de paie groups contributions into five cotisation blocks (Santé, Retraite, Chômage, etc.) with both a part salariale and part patronale. A German Lohnabrechnung separates Steuer (tax) from Sozialversicherung (social insurance) with a Steuer-ID identifier. The Spanish nómina is the only one of these that prints the employer's contribution directly on the employee's copy.
Seguridad Social Contribution Breakdown — Why Five Separate Columns Matter
The employee's share of Seguridad Social deductions on a Spanish nómina is not one number. Under Orden PJC/297/2026, the 2026 contribution types and their employee rates (tipo del trabajador) are:
| Contingency | Employee Rate | Employer Rate | Total Rate | Base Applied To |
|---|---|---|---|---|
| Contingencias Comunes (common contingencies) | 4.70% | 23.60% | 28.30% | Base de contingencias comunes (monthly cap 5,101.20 €) |
| Desempleo — contrato indefinido (unemployment, permanent) | 1.55% | 5.50% | 7.05% | Base de AT/EP (includes overtime) |
| Desempleo — contrato temporal (unemployment, temporary) | 1.60% | 6.70% | 8.30% | Base de AT/EP |
| Formación Profesional (vocational training) | 0.10% | 0.60% | 0.70% | Base de contingencias comunes |
| FOGASA (wage guarantee fund) | — | 0.20% | 0.20% | Base de AT/EP |
| MEI (intergenerational equity mechanism) | 0.15% | 0.75% | 0.90% | Base de contingencias comunes |
AT/EP (accidentes de trabajo y enfermedades profesionales — workplace accidents and occupational disease) is employer-only and varies by CNAE (activity code), ranging from 0.90% to over 7% depending on risk classification. It is not a fixed rate, which means the total employer contribution per employee in Excel should not be the same across all rows unless every employee works in the same CNAE code.
Five separate extraction columns — not one "SS Deduction" column — matter for two reasons. First, the accounting entry (asiento contable) for payroll in Spain splits the employer contribution across multiple subaccounts: cuenta 642 (Seguridad Social a cargo de la empresa) for the total employer contribution, while the employee's share flows through cuenta 476 (Organismo de la Seguridad Social acreedora). If your extraction dumps all five contributions into one "SS" cell, the person doing the accounting entry has to manually split them back out — which is the task extraction was supposed to eliminate. Second, a rate change in any single contribution (as happened in 2023 when MEI was introduced at 0.10% and increased to 0.15% in 2026) is invisible if all five are pooled. You need column-level granularity to answer the question: "why is January's total deduction 18.50 € higher than December's?"
The employer's aportación empresarial — the panel at the bottom of the nómina showing what the company pays to Seguridad Social for each employee — is a separate extraction target. In a 50-employee company, summing the employer aportación column across all nóminas gives you total monthly labor cost (coste laboral total) — the number that goes into the profit-and-loss statement and the annual cuentas anuales filing. One overlooked column at the bottom of every payslip translates into a P&L line worth tens of thousands of euros per year.
IRPF Withholding on the Spanish Payslip — Extracting and Verifying the Correct Rate
IRPF (Impuesto sobre la Renta de las Personas Físicas) is Spain's progressive personal income tax, withheld at source from every nómina. The withholding rate (tipo de retención) is not a flat percentage. It is calculated individually for each employee based on their estimated annual earnings, family situation (número de hijos, estado civil), degree of disability, and other personal circumstances communicated via Modelo 145. The 2026 IRPF brackets for employment income are:
| Annual Income Range (€) | Marginal Rate |
|---|---|
| 0 – 12,450 | 19% |
| 12,451 – 20,200 | 24% |
| 20,201 – 35,200 | 30% |
| 35,201 – 60,000 | 37% |
| 60,001 – 300,000 | 45% |
| > 300,000 | 47% |
These are progressive brackets, meaning an employee earning 30,000 €/year does not pay 30% on the full amount. The first 12,450 € is taxed at 19%, the next 7,750 € at 24%, and the remaining at 30%. The effective rate (tipo efectivo) is always lower than the marginal bracket. The withholding rate printed on the nómina — often shown as a percentage next to the IRPF deduction line or in the header — is a pre-calculated rate provided by the Agencia Tributaria (AEAT, Spain's tax authority), not a rate the employer chooses.
Why extract IRPF into its own column, separate from Seguridad Social deductions? Because IRPF does not go to the same account. In the payroll journal entry, IRPF withholding is credited to cuenta 4751 (HP acreedora por retenciones practicadas), while Seguridad Social worker deductions go to cuenta 476. Mix them in one column and the monthly Modelo 111 (IRPF withholding declaration) and RNT (Relación Nominal de Trabajadores, the SS contribution declaration) will not tie back to the data you extracted — and the discrepancy will surface at the worst possible moment: during a labor inspection (Inspección de Trabajo) or tax audit.
A quick verification: the IRPF withholding amount on the nómina is calculated by applying the percentage rate to the base sujeta a IRPF (IRPF-taxable base), which appears at the bottom of the payslip near the bases de cotización panel. The base sujeta is usually the Total Devengado minus any exempt amounts (such as certain dietas within legal limits). If your extraction captures both the IRPF rate and the base sujeta, one computed column — Base Sujeta × Rate% − Extracted IRPF Amount — flags any row where the difference exceeds ±1 €. That formula turns a 200-row spreadsheet into a three-row investigation list.
How to Extract Spanish Payslip Data to Excel — Step-by-Step Workflow
The extraction workflow is the same whether you are processing one nómina for a visa application or 50 for month-end payroll reconciliation. The difference is in column design and verification steps.
Files are processed securely and not stored.
Step 1: Upload your nómina files. Supported formats include PDF, JPG, PNG, and web screenshots. If your payroll software (a3asesor, Sage NominaPlus, NominaSol, PayFit) exports nóminas as PDF — as virtually all do — upload the PDFs directly. Batch upload is available: select all employee nóminas for a given month and upload them together. The system processes up to hundreds of files in one batch, merging results into a single Excel workbook.
Step 2: Define your extraction columns. This is where Custom Column Extraction does the heavy lifting. Instead of drawing rectangles around each field (as template-based tools require), you type the field names you want — and the AI locates each value by understanding what it means, not where it sits on the page. For a Spanish nómina, your column list might look like:
Employee Name (Nombre Empleado)
Employee NIF
SS Number (NAF)
Pay Period (Periodo)
Base Salary (Salario Base)
Complements (Complementos)
Prorated Extra Pay (Prorrata Pagas)
Total Accrued (Total Devengado)
SS Common Contingencies (Cont. Comunes)
SS Unemployment (Desempleo)
SS Training (Formacion Prof.)
MEI
IRPF Withholding (Retencion IRPF)
Total Deductions (Total a Deducir)
Net Pay (Liquido a Percibir)
CC Base (Base CC)
Employer CC (Aport. Empr. CC)
Employer Unemp. (Aport. Empr. Desempleo)
You can also define inferred columns — columns the AI fills in based on document content, even when the value is not explicitly printed. For example, a column named "Contract Type (options: Indefinido/Temporal)" will prompt the AI to read the desempleo rate on the payslip (1.55% = indefinite, 1.60% = temporary) and output the correct contract type. This is useful when building a master employee database where contract classification needs to be consistent.
Step 3: AI processes the files. Each payslip takes 5–10 seconds to process. The AI reads the full page — header, devengos, deducciones, and the bottom bases panel — and populates every column you defined. Because the AI understands the document semantically rather than by grid position, it handles layout variations across different payroll software (an a3asesor nómina and a Sage NominaPlus nómina look different, but they contain the same field vocabulary).
Step 4: Download as Excel (XLSX). The output is a structured spreadsheet where each row is one payslip and each column is one extracted field. The output formats supported are Excel (XLSX), CSV, and JSON — XLSX is the standard choice for payroll reconciliation because it preserves number formats, date formats, and allows formula columns for verification.
The One-Line Reconciliation Check That Catches Extraction Errors
The nómina's structure gives you a built-in audit trail: Total Devengado − Total a Deducir must equal Líquido a Percibir. If these three columns are extracted, one Excel formula in a fourth column — Total Devengado − Total a Deducir − Líquido a Percibir — should return zero. Anything above ±0.50 € signals either an extraction error or a payslip with rounding that needs manual review.
This verification is not optional. Payroll data errors compound. A 1.55% desempleo rate applied to the wrong base produces a discrepancy that, when multiplied by 12 months and 50 employees, creates a six-figure mismatch between the RNT (Relación Nominal de Trabajadores) declaration and the company's accounting records. The difference between finding this at extraction time and finding it during an Inspección de Trabajo is the difference between a five-minute column fix and a sanction under LISOS Art. 22.
You can embed this check directly in the extraction using Computed Columns: define a column named "Reconciliation Check (Total Devengado − Total a Deducir − Liquido a Percibir)" and the AI calculates the difference during extraction. Any non-zero row is flagged before you even open the Excel file. This is not a post-processing step — it is built into the extraction pass itself.
Three other verification checks worth adding to your extraction columns:
- SS rate check. Extracted SS Common Contingencies employee amount should equal approximately 4.70% of the CC Base. A computed column: CC Base × 4.70% − Extracted Cont. Comunes. Flag rows outside ±1 €.
- IRPF consistency. If you extract both the IRPF rate (%) and the IRPF withholding amount (€), verify: Base Sujeta IRPF × Rate% − IRPF Amount. The IRPF withholding rate is calculated by the AEAT and may incorporate rounding, but large deviations indicate an extraction mismatch.
- Employer contribution sanity. Employer CC (23.60% of CC Base) should match the aportación empresarial line within rounding tolerance. A mismatch on this line often means the wrong base was read — the tool picked up the AT/EP base instead of the CC base.
Batch Processing Multiple Employees — Handling Prorated Extra Payments and Variable Deductions
Processing a single nómina is straightforward. Processing 50 — across employees with different contract types, different IRPF rates, and different extra payment structures — introduces three challenges that do not exist in single-file extraction.
Prorated vs. non-prorated pagas extras. Under Article 31 of the Estatuto de los Trabajadores, every Spanish employee is entitled to two extra payments (pagas extraordinarias) per year, typically in summer (June/July) and Christmas (December). Each paga extra is at minimum 30 days of base salary. Many companies choose to prorate (prorratear) these payments — dividing the total annual paga extra amount by 12 and including one-twelfth in each monthly nómina. When extra payments are prorated, the devengos section shows a line item called "Prorrata Pagas Extras" or "P.P. Extras." When they are not prorated, the June and December nóminas show a separate block with a much larger Total Devengado — often nearly double the other months.
If you run batch extraction on a mix of prorated and non-prorated employees in June, the non-prorated rows will show Total Devengado values that look like errors. The fix is not to exclude those rows. It is to extract a column called "Paga Extra Included (options: Yes/No)" as an inferred column — the AI reads whether the current nómina contains a paga extra and marks it. Then your Excel pivot table can filter or separate those months for annual analysis.
Contract type and desempleo rate variation. An indefinite contract (contrato indefinido) applies a 1.55% employee desempleo rate. A temporary contract (contrato temporal) applies 1.60%. A fixed-discontinuous contract (fijo-discontinuo) — common in tourism and agriculture — also uses the indefinite rate. If you are processing a workforce that mixes contratos indefinidos and temporales, and you are verifying the desempleo deduction against the base, applying one rate to all rows will generate false flags on roughly half of them. Extract the desempleo rate as its own column, or use an inferred column to classify contract type from the rate printed on the payslip.
IRPF rate variation across employees. No two employees in a Spanish company necessarily share the same IRPF withholding rate. An employee earning 22,000 €/year with two children may have a 12% withholding rate; a colleague earning 28,000 €/year with no dependents may have 19%. Extracting the rate as its own column and the amount as another allows you to verify each row independently, rather than applying one assumed rate across the batch and wondering why half the rows fail.
For companies that need to collect payslips from employees who work remotely or across multiple locations, setting up a payslip collection pipeline eliminates the step of chasing PDFs by email. The employee uploads their nómina directly; it lands in your processing queue automatically.
From Extraction to Contabilización — Building the Payroll Journal Entry from Your Excel Data
A payroll journal entry (asiento de nómina) in Spanish accounting follows a standard structure codified in the Plan General de Contabilidad (PGC). The extracted Excel data from your nóminas maps directly to PGC accounts:
| Nómina Source | Debit / Credit | PGC Account | Account Name |
|---|---|---|---|
| Total Devengado (all employees) | Debit | 640 | Sueldos y salarios |
| Total Employer SS (sum of all aportaciones empresariales) | Debit | 642 | Seguridad Social a cargo de la empresa |
| Total Worker SS (sum of all employee deductions to SS) | Credit | 476 | Organismo de la Seguridad Social acreedora |
| Total IRPF Withholding (all employees) | Credit | 4751 | HP acreedora por retenciones practicadas |
| Total Líquido a Percibir (all employees) | Credit | 465 | Remuneraciones pendientes de pago |
If your extraction separates each Seguridad Social contribution into its own column and separates IRPF from SS, building this journal entry is a five-cell SUMIF in Excel — not a manual re-sorting of 600 data points. The debit total (640 + 642) must equal the credit total (476 + 4751 + 465). If it does not, the extracted data contains a misclassified deduction — most commonly, IRPF was accidentally pooled into the SS column, or the employer's AT/EP contribution was not included in account 642.
This is also where having separate columns for each deduction type proves its value. A single "Total Deductions" column might balance the journal entry, but it cannot tell you which subaccount is wrong. Five columns for five SS contributions plus one for IRPF means you can trace the discrepancy to one specific deduction line in under a minute.
Salary Transparency and the Registro Retributivo — When Extraction Becomes Compliance Infrastructure
Since April 2021, under Real Decreto 902/2020 on equal pay transparency (igualdad retributiva), all Spanish companies — regardless of size — must maintain a salary register (registro retributivo) showing average salaries and supplements disaggregated by gender and professional category. Companies with 50 or more employees must go further: the salary register must feed into an equality plan (plan de igualdad) that includes a full salary audit (auditoría retributiva), analyzing pay gaps by job category, seniority, and other factors.
The data feeding this obligation lives in the nómina. Every line — salario base, complementos, antigüedad, pagas extras — must be disaggregated by gender to calculate the average and median pay per category and detect any gap (brecha salarial) exceeding 25%, which triggers mandatory justification. A company that has extracted its nómina data into structured Excel by employee, by month, and by earnings component can produce the registro retributivo in an afternoon of pivot tables. A company that still has the data locked in PDFs faces a week of manual transcription, higher error risk, and a non-compliance exposure under LISOS Art. 7.13, which classifies the absence of a salary register as a grave (serious) infraction.
FAQ
Can an AI extraction tool handle nóminas from different payroll software — a3asesor, Sage, and NominaSol — in the same batch?
Yes, as long as the tool understands fields by meaning rather than by position. A semantic AI reader — one that identifies "Salario Base" or "Líquido a Percibir" by recognizing the concept anywhere on the page, not by its pixel coordinates — handles layout variation across payroll software. An a3asesor nómina places the bases de cotización panel on the left; a NominaSol nómina may place it on the right. A template-based tool trained on one layout will break on the other. A semantic tool reads both correctly.
Does the extraction preserve the accents on Spanish field names (nómina, retención, cotización)?
Yes. The AI reads the Spanish text as it appears on the document, including accented characters. The column names you define can include accented terms as context for the AI (e.g., "IRPF Withholding (Retención IRPF)"), and the extracted values preserve the original text from the payslip.
What happens if an employee's nómina is a scanned image rather than a digital PDF?
The AI processes scanned documents, photos, and screenshots the same way it processes native PDFs. It uses visual understanding to read text regardless of whether it came from a digital file or a scan — no separate OCR preprocessing is needed. Print quality matters: a legible scan yields the same accuracy as a digital PDF. Poor-quality photocopies with faded text may produce lower confidence on some fields.
Can I extract only the total deductions without splitting into individual SS contributions?
Yes, but this is not recommended for reconciliation. If you extract only Total a Deducir, your journal entry will balance but you lose the ability to tie each deduction type to its corresponding declaration (Modelo 111 for IRPF, RNT for SS). The five-minute investment in defining separate columns saves hours of investigation when a discrepancy appears. If your use case is lightweight — a personal income summary for a visa application, for example — extracting Total a Deducir alone is sufficient.
How is the paga extra prorrateada handled in monthly data?
The prorated portion of the extra payments appears as a line item in the devengos section, labeled "Prorrata Pagas Extras" or "P.P. Extras" on the nómina. When you extract this as its own column, your Excel data shows the monthly prorated amount separately from base salary. This is useful for salary structure analysis: you can calculate total annual compensation (salario base × 12 + pagas extras) without the June/December spike in the non-prorated employees' rows.
Does the tool validate NIF or NAF format on extraction?
No. The tool extracts the value as printed on the payslip. Format validation (NIF pattern: 8 digits + 1 check letter, or 1 letter + 7 digits + 1 check character for legal entities) should be performed in Excel using a formula or conditional formatting after extraction.
What about companies with employees in multiple autonomous communities (comunidades autónomas) — do IRPF rates differ?
Yes. The IRPF is partially ceded to the autonomous communities. While the state-level brackets (shown in the table above) are uniform nationwide, each comunidad autónoma sets its own autonomous scale that replaces the state autonomous portion. The total IRPF rate printed on the nómina already reflects the correct combined rate for the employee's tax residence. The extraction tool reads this rate from the payslip; it does not need to know which comunidad the employee lives in. The withholding amount and rate on the payslip are the definitive values.
The Spanish nómina is one of Europe's most regulated payroll documents — not despite its four-block structure, but because of it. Every required field, every mandatory contribution breakdown, and every employer aportación line exists to make payroll traceable. When the data stays locked in PDFs, that traceability becomes a bottleneck. When the data moves into structured Excel — with each Seguridad Social contribution in its own column, IRPF cleanly separated, and a reconciliation formula that flags mismatches at extraction time — the same regulatory density that makes the nómina complex becomes the audit trail that makes your month-end close five hours faster.