Hyresinkomstskatt för icke-residenter (Modelo 210)
ℹ️Desde 2024, el Modelo 210 de arrendamiento puede declararse de forma agrupada anual (plazo: 1–20 de abril del año siguiente). Régimen transitorio 2026: devengos abr–sep mantienen plazos anteriores (20 jul/20 oct); devengos oct–dic 2026 → presentar 1–20 abr 2027. (Orden HAC/623/2026)
1Hyresinkomst
Ange hyresintäkter för kvartalet
✓ Con un único arrendatario puedes optar por declaración anual (1–20 enero). El cálculo se aplica a los ingresos del año completo.
€
Totalt mottagna hyresbetalningar (exkl. depositum)
2Skatteresidensland
Avgör skattesats och rätt till avdrag
✓ Som EU/EES-boende har du rätt att dra av direkta kostnader kopplade till uthyrningen. Skatten beräknas på nettoinkomsten.
⚠ Som boende utanför EU/EES beskattas du på bruttohyresinkomsten. Inga avdrag tillåts enligt spansk lag (LIRNR art. 24.6).
3Avdragsgilla kostnaderEndast EU/EES
Kostnader direkt kopplade till uthyrningen under kvartalet
/ 90dagar i perioden
Gastos fijos se prorratean automáticamente (IBI, comunidad, seguro, intereses, amortización)
— %
€
↻ Se prorratea automáticamenteRäntor på bolån (ej amortering)
€
↻ Se prorratea automáticamenteProportionellt mot uthyrningsperiod
€
↻ Se prorratea automáticamenteComunidad de propietarios
€
↻ Se prorratea automáticamenteHemförsäkring, prop. mot hyresperiod
€
Ej förbättringar. Prop. mot uthyrningsperiod.
€
Om inkluderat i hyran och betalat av ägaren
€
Mäklare, fastighetsförvaltare m.m.
€
↻ Se prorratea automáticamente3% av byggnadsvärdet ÷ 4 per kvartal
€
Bokföring, juridisk rådgivning m.m.
Beräkningsresultat
—
Inkomster
Bruttohyra kvartalet—
Avdragsgilla kostnader
Totala avdrag—
Nettoinkomst (skattebas)—
Base imponible (bruto)—
Skatteberäkning
Skattesats—
Skatt att betala (Modelo 210)—
Total skatt kvartalet
—
—
Kvartal
Skattebas
Skatt
Sista dag
const T={
sv:{h1:"Skatt på hyresinkomster",subtitle:"Beräkna din kvartalsvisa IRNR-deklaration för hyresinkomster i Spanien (Modelo 210).",infoBanner:"Från 2024 kan hyresinkomster deklareras samlat årligen (1–20 april följande år). Övergångsregler 2026: apr–sep behåller tidigare kvartalsdatum; okt–dec 2026 → 1–20 apr 2027. (Orden HAC/623/2026). EU/EES-boende får dra av direkta kostnader; icke-EU-boende beskattas på bruttoinkomsten.",s1title:"Hyresinkomst",s1sub:"Ange hyresintäkter för kvartalet",yearLabel:"Räkenskapsår",quarterLabel:"Kvartal",q1m:"Jan–Mar",q2m:"Apr–Jun",q3m:"Jul–Sep",q4m:"Okt–Dec",grossLabel:"Bruttohyra kvartalet",grossHint:"Totalt mottagna hyresbetalningar (exkl. depositum)",s2title:"Skatteresidensland",s2sub:"Avgör skattesats och rätt till avdrag",euLabel:"EU / EES",euDesc:"Sverige, Norge, Danmark, Finland m.fl.",noneuLabel:"Utanför EU / EES",noneuDesc:"USA, Kanada, Australien m.fl.",euNote:"✓ Som EU/EES-boende har du rätt att dra av direkta kostnader kopplade till uthyrningen. Skatten beräknas på nettoinkomsten.",noneuNote:"⚠ Som boende utanför EU/EES beskattas du på bruttohyresinkomsten. Inga avdrag tillåts enligt spansk lag (LIRNR art. 24.6).",s3title:"Avdragsgilla kostnader",s3sub:"Kostnader direkt kopplade till uthyrningen under kvartalet",euOnly:"Endast EU/EES",lInterest:"Räntekostnader",hInterest:"Räntor på bolån (ej amortering)",lIbi:"IBI (fastighetsskatt)",hIbi:"Proportionellt mot uthyrningsperiod",lCommunity:"Gemensamma avgifter",hCommunity:"Comunidad de propietarios",lInsurance:"Försäkring",hInsurance:"Hemförsäkring, prop. mot hyresperiod",lRepairs:"Reparationer & underhåll",hRepairs:"Ej förbättringar. Prop. mot uthyrningsperiod.",lUtilities:"Vatten, el, gas",hUtilities:"Om inkluderat i hyran och betalat av ägaren",lMgmt:"Förvaltningsarvode",hMgmt:"Mäklare, fastighetsförvaltare m.m.",lAmort:"Avskrivning fastighet",hAmort:"3% av byggnadsvärdet ÷ 4 per kvartal",lOther:"Övriga avdragsgilla",hOther:"Bokföring, juridisk rådgivning m.m.",calcBtn:"Beräkna skatt",rTitle:"Beräkningsresultat",lIncome:"Inkomster",rGross:"Bruttohyra kvartalet",lDeductions:"Avdragsgilla kostnader",rExpenses:"Totala avdrag",rNetIncome:"Nettoinkomst (skattebas)",rTaxBase:"Skattebas (brutto)",lTax:"Skatteberäkning",rTaxDue:"Skatt att betala (Modelo 210)",rFinal:"Total skatt kvartalet",qbQ:"Kvartal",qbBase:"Skattebas",qbTax:"Skatt",qbDl:"Sista dag",resetBtn:"← Ny beräkning",ctaText:"Vill du att vi hanterar dina hyresskattdeklarationer? Vi är specialiserade på fastighets- och skatterätt för skandinaver på Costa Blanca – med full service på svenska och norska.",ctaBtn:"Kontakta oss",disclaimer:"Denna kalkylator är avsedd som vägledning och ersätter inte juridisk eller skattemässig rådgivning. EU/EES-boende kan dra av direkta kostnader enligt art. 24.2 LIRNR. Kontakta oss för en exakt bedömning av ditt fall.",euRate:"19% (EU/EES)",noneuRate:"24% (utanför EU/EES)",dl:{1:"20 april",2:"20 juli",3:"20 oktober",4:"20 januari"},qs:{1:"Q1 (Jan–Mar)",2:"Q2 (Apr–Jun)",3:"Q3 (Jul–Sep)",4:"Q4 (Okt–Dec)"},dlNote:"Inlämningsdatum Modelo 210",rateLabel:"Skattesats",negBase:"Underskott – ingen skatt detta kvartal",
filingQuarterlyLabel:"Trimestral",filingQuarterlyDesc:"20 apr · 20 jul · 20 okt · 20 jan",filingAnnualLabel:"Årsdeklaration",filingAnnualDesc:"1–20 januari året efter",annualNoteText:"✓ Med en enda hyresgäst kan du välja årsdeklaration (1–20 januari) istället för fyra kvartalsvisa. Beräkningen gäller hela årets inkomster.",daysLabel:"Antal hyresdagar",daysOfPeriod:"dagar i perioden",daysNote:"Fasta kostnader (IBI, avgifter, försäkring, räntor, avskrivning) proratas automatiskt efter antal hyresdagar.",proratableHint:"↻ Prorateras automatiskt",
payerTypeLabel:"Typ av uthyrning",singlePayerLabel:"En hyresgäst",singlePayerDesc:"Årsdeklaration möjlig: 1–20 jan",multiPayerLabel:"Flera hyresgäster",multiPayerDesc:"Kvartalvis deklaration obligatorisk",
annualNoteText:"✓ Med en enda hyresgäst under hela året kan du välja att lämna en årsdeklaration (1–20 januari) istället för fyra kvartalsvisa. Beräkningen nedan gäller då hela årets inkomster och avdrag.",
grossLabelAnnual:"Bruttohyra hela året",grossHintAnnual:"Totala hyresintäkter för hela räkenskapsåret (exkl. depositum)",
quarterLabelHidden:"(Ej tillämpligt – årsdeklaration)",rFinalAnnual:"Total skatt för hela året",annualDeadline:"Inlämning: 1–20 januari",annualQbTitle:"Jämförelse kvartalsvis (beräknat på samma inkomst)"
},
en:{h1:"Rental Income Tax",subtitle:"Calculate your quarterly IRNR return for rental income in Spain as a non-resident (Modelo 210).",infoBanner:"From 2024, rental income can be filed annually (1–20 April of the following year). 2026 transitional: Apr–Sep accruals keep old quarterly deadlines; Oct–Dec 2026 accruals → 1–20 April 2027. (Orden HAC/623/2026). EU/EEA residents may deduct direct costs; non-EU residents are taxed on gross income.",s1title:"Rental Income",s1sub:"Enter rental income for the quarter",yearLabel:"Tax Year",quarterLabel:"Quarter",q1m:"Jan–Mar",q2m:"Apr–Jun",q3m:"Jul–Sep",q4m:"Oct–Dec",grossLabel:"Gross rental income (quarter)",grossHint:"Total rental payments received (excl. deposit)",s2title:"Tax Residency",s2sub:"Determines tax rate and deduction entitlement",euLabel:"EU / EEA",euDesc:"Sweden, Norway, Denmark, Finland, etc.",noneuLabel:"Outside EU / EEA",noneuDesc:"USA, Canada, Australia, etc.",euNote:"✓ As an EU/EEA resident you may deduct direct costs related to the rental. Tax is calculated on net income.",noneuNote:"⚠ As a non-EU/EEA resident you are taxed on gross rental income. No deductions are permitted under Spanish law (LIRNR art. 24.6).",s3title:"Deductible Expenses",s3sub:"Direct costs related to the rental during the quarter",euOnly:"EU/EEA only",lInterest:"Mortgage interest",hInterest:"Interest on property loan (not principal)",lIbi:"IBI (property tax)",hIbi:"Proportional to rental period",lCommunity:"Community fees",hCommunity:"Comunidad de propietarios",lInsurance:"Insurance",hInsurance:"Home insurance proportional to rental period",lRepairs:"Repairs & maintenance",hRepairs:"Not improvements. Proportional to rental period.",lUtilities:"Water, electricity, gas",hUtilities:"If included in rent and paid by owner",lMgmt:"Management fees",hMgmt:"Estate agent, property manager, etc.",lAmort:"Property depreciation",hAmort:"3% of building value ÷ 4 per quarter",lOther:"Other deductible costs",hOther:"Accounting, legal fees, etc.",calcBtn:"Calculate Tax",rTitle:"Calculation Results",lIncome:"Income",rGross:"Gross rental income (quarter)",lDeductions:"Deductible Expenses",rExpenses:"Total deductions",rNetIncome:"Net income (tax base)",rTaxBase:"Tax base (gross)",lTax:"Tax Calculation",rTaxDue:"Tax payable (Modelo 210)",rFinal:"Total tax for quarter",qbQ:"Quarter",qbBase:"Tax base",qbTax:"Tax",qbDl:"Deadline",resetBtn:"← New calculation",ctaText:"Would you like us to handle your rental tax returns? We specialise in property and tax law for Scandinavians on the Costa Blanca.",ctaBtn:"Contact us",disclaimer:"This calculator is a guide only and does not replace legal or tax advice. EU/EEA residents may deduct direct costs under art. 24.2 LIRNR. Contact us for an accurate assessment of your case.",euRate:"19% (EU/EEA)",noneuRate:"24% (non-EU/EEA)",dl:{1:"20 April",2:"20 July",3:"20 October",4:"20 January"},qs:{1:"Q1 (Jan–Mar)",2:"Q2 (Apr–Jun)",3:"Q3 (Jul–Sep)",4:"Q4 (Oct–Dec)"},dlNote:"Modelo 210 filing deadline",rateLabel:"Tax rate",negBase:"Deficit – no tax due this quarter",
filingQuarterlyLabel:"Quarterly",filingQuarterlyDesc:"20 Apr · 20 Jul · 20 Oct · 20 Jan",filingAnnualLabel:"Annual return",filingAnnualDesc:"1–20 January of the following year",annualNoteText:"✓ With a single tenant you may opt for an annual return (1–20 January) instead of four quarterly ones. The calculation covers the full year's income.",daysLabel:"Days rented out",daysOfPeriod:"days in period",daysNote:"Fixed costs (IBI, fees, insurance, interest, depreciation) are automatically prorated by rental days.",proratableHint:"↻ Automatically prorated",
payerTypeLabel:"Rental type",singlePayerLabel:"Single tenant",singlePayerDesc:"Annual return option: 1–20 Jan",multiPayerLabel:"Multiple tenants",multiPayerDesc:"Quarterly filing required",
annualNoteText:"✓ With a single tenant/payer for the whole year you may opt for one annual return (1–20 January) instead of four quarterly ones. The calculation below then covers the full year's income and expenses.",
grossLabelAnnual:"Gross rental income (full year)",grossHintAnnual:"Total rental income for the entire tax year (excl. deposit)",
quarterLabelHidden:"(N/A – annual return)",rFinalAnnual:"Total tax for the full year",annualDeadline:"Filing deadline: 1–20 January",annualQbTitle:"Quarterly comparison (based on same income)"
},
es:{h1:"Impuesto sobre alquileres",subtitle:"Calcula tu declaración trimestral del IRNR por ingresos de alquiler en España como no residente (Modelo 210).",infoBanner:"Desde 2024, puede declararse de forma agrupada anual (1–20 abril del año siguiente). Transitorio 2026: devengos abr–sep mantienen plazos anteriores (20 jul/20 oct); devengos oct–dic 2026 → 1–20 abr 2027. (Orden HAC/623/2026). Residentes UE/EEE pueden deducir gastos directos; los demás tributan sobre ingresos brutos.",s1title:"Ingresos por alquiler",s1sub:"Introduce los ingresos del trimestre",yearLabel:"Ejercicio fiscal",quarterLabel:"Trimestre",q1m:"Ene–Mar",q2m:"Abr–Jun",q3m:"Jul–Sep",q4m:"Oct–Dic",grossLabel:"Ingresos brutos de alquiler (trimestre)",grossHint:"Total alquileres cobrados en el trimestre (excl. fianza)",s2title:"País de residencia fiscal",s2sub:"Determina el tipo impositivo y el derecho a deducciones",euLabel:"UE / EEE",euDesc:"Suecia, Noruega, Dinamarca, Finlandia, etc.",noneuLabel:"Fuera de la UE / EEE",noneuDesc:"EE.UU., Canadá, Australia, etc.",euNote:"✓ Como residente UE/EEE puedes deducir los gastos directamente relacionados con el arrendamiento. El impuesto se calcula sobre la renta neta.",noneuNote:"⚠ Como residente fuera de la UE/EEE tributas sobre los ingresos brutos. No se admiten deducciones según la LIRNR art. 24.6.",s3title:"Gastos deducibles",s3sub:"Gastos directamente relacionados con el alquiler durante el trimestre",euOnly:"Solo UE/EEE",lInterest:"Intereses hipotecarios",hInterest:"Intereses del préstamo (no amortización)",lIbi:"IBI (impuesto municipal)",hIbi:"Proporcional al período de arrendamiento",lCommunity:"Gastos de comunidad",hCommunity:"Comunidad de propietarios",lInsurance:"Seguros",hInsurance:"Seguro del hogar proporcional al período de alquiler",lRepairs:"Reparaciones y conservación",hRepairs:"No mejoras. Proporcional al período arrendado.",lUtilities:"Agua, electricidad, gas",hUtilities:"Si incluido en el alquiler y pagado por el propietario",lMgmt:"Honorarios de gestión",hMgmt:"Agencia inmobiliaria, administrador, etc.",lAmort:"Amortización del inmueble",hAmort:"3% del valor de construcción ÷ 4 por trimestre",lOther:"Otros gastos deducibles",hOther:"Gestoría, asesoría jurídica, etc.",calcBtn:"Calcular impuesto",rTitle:"Resultado del cálculo",lIncome:"Ingresos",rGross:"Ingresos brutos de alquiler (trimestre)",lDeductions:"Gastos deducibles",rExpenses:"Total deducciones",rNetIncome:"Rendimiento neto (base imponible)",rTaxBase:"Base imponible (bruta)",lTax:"Cálculo del impuesto",rTaxDue:"Cuota a ingresar (Modelo 210)",rFinal:"Total a pagar el trimestre",qbQ:"Trimestre",qbBase:"Base imponible",qbTax:"Cuota",qbDl:"Plazo",resetBtn:"← Nuevo cálculo",ctaText:"¿Quieres que gestionemos tus declaraciones de IRNR por alquiler? Somos especialistas en derecho inmobiliario y fiscal para no residentes en la Costa Blanca.",ctaBtn:"Contáctanos",disclaimer:"Esta calculadora es orientativa y no sustituye el asesoramiento jurídico o fiscal. Los residentes UE/EEE pueden deducir gastos directos conforme al art. 24.2 LIRNR. Contáctanos para una valoración exacta.",euRate:"19% (UE/EEE)",noneuRate:"24% (fuera UE/EEE)",dl:{1:"20 de abril",2:"20 de julio",3:"20 de octubre",4:"20 de enero"},qs:{1:"T1 (Ene–Mar)",2:"T2 (Abr–Jun)",3:"T3 (Jul–Sep)",4:"T4 (Oct–Dic)"},dlNote:"Plazo presentación Modelo 210",rateLabel:"Tipo impositivo",negBase:"Base negativa – sin cuota este trimestre",
filingQuarterlyLabel:"Trimestral",filingQuarterlyDesc:"20 abr · 20 jul · 20 oct · 20 ene",filingAnnualLabel:"Anual",filingAnnualDesc:"Del 1 al 20 de enero del año siguiente",annualNoteText:"✓ Con un único arrendatario puedes optar por declaración anual (del 1 al 20 de enero) en lugar de cuatro trimestrales. El cálculo corresponde a los ingresos del año completo.",daysLabel:"Días arrendados",daysOfPeriod:"días en el período",daysNote:"Los gastos fijos (IBI, comunidad, seguro, intereses, amortización) se prorratean automáticamente según los días arrendados.",proratableHint:"↻ Se prorratea automáticamente",
payerTypeLabel:"Tipo de arrendamiento",singlePayerLabel:"Un solo pagador",singlePayerDesc:"Opción anual: del 1 al 20 de enero",multiPayerLabel:"Varios pagadores",multiPayerDesc:"Declaración trimestral obligatoria",
annualNoteText:"✓ Con un único arrendatario/pagador durante todo el año, puedes optar por una declaración anual (del 1 al 20 de enero) en lugar de cuatro trimestrales. El cálculo siguiente corresponde entonces a los ingresos y gastos del año completo.",
grossLabelAnnual:"Ingresos brutos de alquiler (año completo)",grossHintAnnual:"Total de alquileres cobrados en el ejercicio fiscal (excl. fianza)",
quarterLabelHidden:"(No aplicable – declaración anual)",rFinalAnnual:"Total a pagar por el año completo",annualDeadline:"Plazo: 1 al 20 de enero",annualQbTitle:"Desglose trimestral orientativo (mismos ingresos)"
}
};let lang='sv', res='eu', payerType='single';const PERIOD_DAYS = {1:90, 2:91, 3:92, 4:92}; // approximate days per quarter; annual=365function getDaysInPeriod(){
if(payerType==='single') return 365;
const q=parseInt(document.querySelector('input[name="quarter"]:checked').value);
return PERIOD_DAYS[q]||90;
}function updateProration(){
const total=getDaysInPeriod();
document.getElementById('totalDaysSpan').textContent=total;
const days=parseInt(document.getElementById('daysRented').value)||0;
const pct=days>0?Math.min(100,Math.round(days/total*100)):0;
document.getElementById('proration-badge').textContent=days>0?pct+'%':'— %';
// Update colour
const badge=document.getElementById('proration-badge');
badge.style.background=days===total?'rgba(46,125,50,.12)':'rgba(201,168,76,.15)';
badge.style.borderColor=days===total?'rgba(46,125,50,.3)':'rgba(201,168,76,.3)';
badge.style.color=days===total?'#2E7D32':'#8a7040';
}function setLang(l){
document.documentElement.lang = l || arguments[0];
lang=l;
document.querySelectorAll('.lang-btn').forEach(b=>b.classList.remove('active'));
document.getElementById('btn-'+l).classList.add('active');
const t=T[l];
document.querySelectorAll('[data-t]').forEach(el=>{
const k=el.getAttribute('data-t');
if(t[k]!==undefined) el.textContent=t[k];
});
}function selPayer(type){
payerType=type;
document.querySelectorAll('.payer-opt').forEach(o=>o.classList.remove('selected'));
document.getElementById('opt-'+type).classList.add('selected');
const t=T[lang];
const filingWrap=document.getElementById('filing-mode-wrap');
const annualNote=document.getElementById('annual-note');
const qrow=document.getElementById('quarter-row');
const grossLbl=document.querySelector('[data-t="grossLabel"]');
const grossHint=document.getElementById('gross-hint');
if(type==='single'){
filingWrap.classList.remove('hide');
annualNote.classList.add('show');
qrow.style.opacity='0.4';
qrow.style.pointerEvents='none';
if(grossLbl&&t.grossLabelAnnual) grossLbl.textContent=t.grossLabelAnnual;
if(grossHint&&t.grossHintAnnual) grossHint.textContent=t.grossHintAnnual;
} else {
filingWrap.classList.add('hide');
annualNote.classList.remove('show');
qrow.style.opacity='1';
qrow.style.pointerEvents='auto';
// Reset to quarterly when switching to multi
document.querySelector('input[name="filingmode"][value="quarterly"]').checked=true;
document.querySelectorAll('.filing-opt').forEach(o=>o.classList.remove('selected'));
document.getElementById('opt-quarterly').classList.add('selected');
if(grossLbl&&t.grossLabel) grossLbl.textContent=t.grossLabel;
if(grossHint&&t.grossHint) grossHint.textContent=t.grossHint;
}
// Refresh filing mode labels
const fql=document.querySelector('[data-t="filingQuarterlyLabel"]');
const fqd=document.querySelector('[data-t="filingQuarterlyDesc"]');
const fal=document.querySelector('[data-t="filingAnnualLabel"]');
const fad=document.querySelector('[data-t="filingAnnualDesc"]');
const ant=document.querySelector('[data-t="annualNoteText"]');
if(fql&&t.filingQuarterlyLabel) fql.textContent=t.filingQuarterlyLabel;
if(fqd&&t.filingQuarterlyDesc) fqd.textContent=t.filingQuarterlyDesc;
if(fal&&t.filingAnnualLabel) fal.textContent=t.filingAnnualLabel;
if(fad&&t.filingAnnualDesc) fad.textContent=t.filingAnnualDesc;
if(ant&&t.annualNoteText) ant.textContent=t.annualNoteText;
// Refresh days labels
const daysLbl=document.querySelector('[data-t="daysLabel"]');
const daysOf=document.querySelector('[data-t="daysOfPeriod"]');
const daysNote=document.querySelector('[data-t="daysNote"]');
const hints=document.querySelectorAll('[data-t="proratableHint"]');
if(daysLbl&&t.daysLabel) daysLbl.textContent=t.daysLabel;
if(daysOf&&t.daysOfPeriod) daysOf.textContent=t.daysOfPeriod;
if(daysNote&&t.daysNote) daysNote.textContent=t.daysNote;
hints.forEach(h=>{if(t.proratableHint) h.textContent=t.proratableHint;});
// Refresh payer-dependent labels
if(payerType==='single'){
const gl=document.querySelector('[data-t="grossLabel"]');
const gh=document.getElementById('gross-hint');
if(gl&&t.grossLabelAnnual) gl.textContent=t.grossLabelAnnual;
if(gh&&t.grossHintAnnual) gh.textContent=t.grossHintAnnual;
}
}function selFiling(mode){
const isAnnual=mode==='annual';
document.querySelectorAll('.filing-opt').forEach(o=>o.classList.remove('selected'));
document.getElementById(isAnnual?'opt-annual':'opt-quarterly').classList.add('selected');
const annualNote=document.getElementById('annual-note');
const qrow=document.getElementById('quarter-row');
const grossLbl=document.querySelector('[data-t="grossLabel"]');
const grossHint=document.getElementById('gross-hint');
const t=T[lang];
if(isAnnual){
annualNote.classList.add('show');
qrow.style.opacity='0.4';
qrow.style.pointerEvents='none';
if(grossLbl&&t.grossLabelAnnual) grossLbl.textContent=t.grossLabelAnnual;
if(grossHint&&t.grossHintAnnual) grossHint.textContent=t.grossHintAnnual;
} else {
annualNote.classList.remove('show');
qrow.style.opacity='1';
qrow.style.pointerEvents='auto';
if(grossLbl&&t.grossLabel) grossLbl.textContent=t.grossLabel;
if(grossHint&&t.grossHint) grossHint.textContent=t.grossHint;
}
updateProration();
}function selQ(id){
document.querySelectorAll('.q-option').forEach(o=>o.classList.remove('selected'));
document.getElementById(id).classList.add('selected');
updateProration();
}function selRes(id){
document.querySelectorAll('.res-option').forEach(o=>o.classList.remove('selected'));
document.getElementById(id).classList.add('selected');
res=id==='opt-eu'?'eu':'noneu';
document.getElementById('eu-note').classList.toggle('show',res==='eu');
document.getElementById('noneu-note').classList.toggle('show',res==='noneu');
const exp=document.getElementById('expenses-section');
exp.style.opacity=res==='eu'?'1':'0.4';
exp.style.pointerEvents=res==='eu'?'auto':'none';
}function gv(id){return parseFloat(document.getElementById(id).value)||0;}function fmt(n){
return new Intl.NumberFormat('de-DE',{minimumFractionDigits:2,maximumFractionDigits:2}).format(n)+' €';
}function calculate(){
const gross=gv('grossRent');
const year=gv('taxYear')||new Date().getFullYear();
const q=parseInt(document.querySelector('input[name="quarter"]:checked').value);
const isAnnual=document.querySelector('input[name="filingmode"]:checked')?.value==='annual';
const isEU=res==='eu';
const t=T[lang];if(!gross){
alert(lang==='es'?'Introduce los ingresos brutos de alquiler.':
lang==='en'?'Please enter the gross rental income.':
'Fyll i bruttohyran.');
return;
}const rate=isEU?0.19:0.24;
// Proration logic
const totalDays=getDaysInPeriod();
const daysRented=Math.min(parseInt(document.getElementById('daysRented').value)||totalDays, totalDays);
const proRatio=daysRented/totalDays;// Fixed expenses: prorated by days rented / total days in period
const fixedExp=gv('interest')+gv('ibi')+gv('community')+gv('insurance')+gv('amort');
const fixedExpProrated=fixedExp*proRatio;
// Direct expenses: already proportional to rental period, no further proration needed
const directExp=gv('repairs')+gv('utilities')+gv('mgmt')+gv('otherExp');const expenses=isEU?(fixedExpProrated+directExp):0;
const netIncome=isEU?Math.max(0,gross-expenses):gross;
const taxDue=netIncome*rate;
const isNeg=isEU&&(gross-expenses)<0;document.getElementById('r-gross').textContent=fmt(gross);if(isEU){
document.getElementById('eu-block').style.display='block';
document.getElementById('noneu-block').style.display='none';
const proText=daysRented0?'− '+fmt(expenses)+proText:'0,00 €';
document.getElementById('r-net').textContent=isNeg?t.negBase:fmt(netIncome);
} else {
document.getElementById('eu-block').style.display='none';
document.getElementById('noneu-block').style.display='block';
document.getElementById('r-base').textContent=fmt(gross);
}document.getElementById('r-rate-lbl').textContent=t.rateLabel;
document.getElementById('r-rate').textContent=isEU?t.euRate:t.noneuRate;
document.getElementById('r-tax').textContent='− '+fmt(taxDue);
document.getElementById('r-amount').textContent=fmt(taxDue);const nextY=year+1;
const dlYear=q===4?nextY:year;
document.getElementById('r-deadline').textContent=isAnnual?t.annualDeadline+' '+(year+1):(t.dlNote+': '+t.dl[q]+' '+dlYear);
document.getElementById('r-sub').textContent=isAnnual?(lang==='es'?'Declaración anual':lang==='en'?'Annual return':'Årsdeklaration')+' · '+year:t.qs[q]+' · '+year;// Quarterly breakdown
const body=document.getElementById('qb-body');
body.innerHTML='';
for(let i=1;i<=4;i++){
const dly=i===4?nextY:year;
const row=document.createElement('div');
row.className='qb-row'+(i===q?' current':'');
row.innerHTML=`
${t.qs[i]}
${fmt(netIncome)}
${fmt(taxDue)}
${t.dl[i]} ${dly}
`;
body.appendChild(row);
}document.getElementById('results').classList.add('visible');
document.getElementById('cta-box').classList.add('visible');
document.querySelector('[data-t="rFinal"]').textContent=isAnnual?t.rFinalAnnual:t.rFinal;document.getElementById('results').scrollIntoView({behavior:'smooth',block:'start'});
}function reset(){
document.querySelectorAll('input[type=number]').forEach(i=>i.value='');
document.getElementById('results').classList.remove('visible');
document.getElementById('cta-box').classList.remove('visible');
window.scrollTo({top:0,behavior:'smooth'});
}
// year fix applied// Dynamic year max
(function(){
var y = new Date().getFullYear();
document.querySelectorAll('input[type="number"][id*="year"], input[type="number"][id*="Year"]').forEach(function(el){
el.max = y;
});
})();
window.addEventListener('DOMContentLoaded',function(){
if(typeof updateEduSection === 'function') updateEduSection('sv');
setLang('sv');
selPayer('single');
updateProration();
});const EDU_CONTENT = {
en: {
title: 'How rental income tax works in Spain for non-residents',
items: [
{ h: 'Modelo 210 — quarterly or annual', p: 'Non-resident landlords declare rental income using Modelo 210. Quarterly: Q1 by 20 April, Q2 by 20 July, Q3 by 20 October, Q4 by 20 January. With a single tenant for the full year, one annual return is possible (1–20 January of the following year).' },
{ h: 'Tax rates', p: 'EU/EEA residents pay 19% on net income after deductions. Non-EU/EEA residents pay 24% on gross rental income — no deductions permitted under LIRNR art. 24.6.' },
{ h: 'Deductible expenses — EU/EEA only', p: 'EU/EEA residents may deduct: mortgage interest, IBI, community fees, insurance, repairs, management fees, utilities (if paid by owner), and depreciation (3% of building value per year).' },
{ h: 'Proration of fixed costs', p: 'Fixed costs (IBI, insurance, interest) must be prorated by actual rental days. Direct costs such as repairs and management fees are deducted in full if they relate to the rental period.' },
{ h: 'Penalties for late filing', p: 'Late Modelo 210 filings attract surcharges of 5–20%. Non-declaration can result in significant fines. Voluntary late declarations before an inspection incur lower penalties.' },
],
cta: 'This calculation is only an estimate. Property taxation in Spain depends on many individual factors. A qualified lawyer should review your specific situation before you make any decisions.',
btnWa: 'Request legal review',
btnTg: 'Quick query via Telegram',
disclaimer: '⚠️ This calculator provides an estimate for informational purposes only. Spanish tax calculations depend on individual circumstances. Professional legal advice is recommended before taking any financial decision.',
},
sv: {
title: 'Så fungerar hyresinkomstskatt i Spanien för icke-residenter',
items: [
{ h: 'Modelo 210 — kvartalsvis eller årsvis', p: 'Icke-residenta hyresvärdar deklarerar med Modelo 210. Kvartalsvis: Q1 senast 20 april, Q2 senast 20 juli, Q3 senast 20 oktober, Q4 senast 20 januari. Med en enda hyresgäst hela året kan årsdeklaration väljas (1–20 januari följande år).' },
{ h: 'Skattesatser', p: 'EU/EES-bosatta betalar 19% på nettoinkomst. Bosatta utanför EU/EES betalar 24% på bruttohyra — inga avdrag enligt LIRNR art. 24.6.' },
{ h: 'Avdragsgilla kostnader — endast EU/EES', p: 'EU/EES-bosatta får dra av: bolåneräntor, IBI, gemensamma avgifter, försäkring, reparationer, förvaltningsarvode, elkostnader (om betalda av ägaren) och avskrivning (3% av byggnadsvärdet per år).' },
{ h: 'Proration av fasta kostnader', p: 'Fasta kostnader (IBI, försäkring, räntor) fördelas på faktiska uthyrningsdagar. Direkta kostnader som reparationer dras av i sin helhet om de avser uthyrningsperioden.' },
{ h: 'Förseningsavgifter', p: 'Försenad Modelo 210 ger tillägg på 5–20%. Utebliven deklaration kan ge betydande böter. Frivilliga sena deklarationer före revision ger lägre påföljder.' },
],
cta: 'Detta resultat är en uppskattning. Fastighetsbeskattning i Spanien beror på många individuella faktorer. En kvalificerad advokat bör granska din specifika situation innan du fattar beslut.',
btnWa: 'Juridisk granskning',
btnTg: 'Snabbfråga via Telegram',
disclaimer: '⚠️ Denna kalkylator ger en uppskattning i informationssyfte. Spansk skatteberäkning beror på individuella förhållanden. Professionell juridisk rådgivning rekommenderas innan ekonomiska beslut fattas.',
},
es: {
title: 'Cómo funciona el IRNR por alquiler para no residentes',
items: [
{ h: 'Modelo 210 — trimestral o anual', p: 'Los propietarios no residentes declaran con Modelo 210. Trimestral: T1 antes del 20 de abril, T2 antes del 20 de julio, T3 antes del 20 de octubre, T4 antes del 20 de enero. Con un único arrendatario todo el año puede optarse por declaración anual (1–20 enero siguiente).' },
{ h: 'Tipos impositivos', p: 'Los residentes en la UE/EEE pagan el 19% sobre la renta neta. Los de fuera de la UE/EEE pagan el 24% sobre ingresos brutos — sin deducciones según el art. 24.6 LIRNR.' },
{ h: 'Gastos deducibles — solo UE/EEE', p: 'Los residentes en la UE/EEE pueden deducir: intereses hipotecarios, IBI, gastos de comunidad, seguros, reparaciones, honorarios de gestión, suministros (si los paga el propietario) y amortización (3% del valor de construcción anual).' },
{ h: 'Prorrateo de gastos fijos', p: 'Los gastos fijos (IBI, seguro, intereses) se prorratean según los días efectivos de arrendamiento. Los gastos directos se deducen íntegramente si corresponden al período arrendado.' },
{ h: 'Recargos por presentación tardía', p: 'La presentación tardía del Modelo 210 conlleva recargos del 5 al 20%. La no presentación puede derivar en sanciones significativas. Las declaraciones voluntarias tardías antes de inspección tienen sanciones menores.' },
],
cta: 'Este resultado es una estimación orientativa. La fiscalidad inmobiliaria en España depende de muchos factores individuales. Un abogado cualificado debe revisar su situación concreta antes de tomar decisiones.',
btnWa: 'Solicitar revisión jurídica',
btnTg: 'Consulta rápida por Telegram',
disclaimer: '⚠️ Esta calculadora ofrece una estimación orientativa. Los cálculos fiscales en España dependen de las circunstancias individuales. Se recomienda asesoramiento jurídico profesional antes de tomar decisiones económicas.',
},
};function updateEduSection(l) {
var d = EDU_CONTENT[l];
if (!d) return;
var tEl = document.getElementById('edu-title');
var iEl = document.getElementById('edu-items');
var cEl = document.getElementById('edu-cta-text');
var wEl = document.getElementById('edu-btn-wa');
var tgEl = document.getElementById('edu-btn-tg');
var dsEl = document.getElementById('edu-disclaimer');
if (tEl) tEl.textContent = d.title;
if (iEl) iEl.innerHTML = d.items.map(function(item) {
return '
' + item.h +
'
' + item.p + '
';
}).join('');
if (cEl) cEl.textContent = d.cta;
if (wEl) wEl.textContent = '💬 ' + d.btnWa;
if (tgEl) tgEl.textContent = '🤖 ' + d.btnTg;
if (dsEl) dsEl.textContent = d.disclaimer;
}
Informationen på denna sida och via vår assistent är av allmän och informativ karaktär. Den utgör inte juridisk rådgivning och är inte bindande för byrån. All information måste bekräftas av Hugo Gutiérrez Colás, advokat 6.539 ICALI, innan några juridiska eller ekonomiska beslut fattas.
Gestionar el consentimiento de las cookies
We use cookies to optimize our website and our service.
Functional
Alltid aktiv
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferences
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Statistics
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos.El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.