{"id":2090,"date":"2026-05-29T09:59:59","date_gmt":"2026-05-29T09:59:59","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=2090"},"modified":"2026-10-21T09:15:46","modified_gmt":"2026-10-21T09:15:46","slug":"calculadora-prestamo-piscina","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/es\/calculadora-prestamo-piscina\/","title":{"rendered":"Calculadora de pr\u00e9stamo para piscina"},"content":{"rendered":"\n<div class=\"pool-calc-container\">\n    <div class=\"pool-calc-header\">\n\n        <p>Estima tus cuotas mensuales y explora opciones internacionales de financiaci\u00f3n de piscinas.<\/p>\n    <\/div>\n\n    <div class=\"pool-calc-layout\">\n        <!-- Main Calculator Wrapper -->\n        <div class=\"pool-calc-main\">\n            <!-- Step 1 -->\n            <div class=\"calc-step active\" id=\"step-1\">\n                <div class=\"step-badge\">Paso 1 de 4<\/div>\n                <h3>Coste del proyecto<\/h3>\n                <div class=\"form-group\">\n                    <label for=\"project-cost\">Coste total del proyecto de piscina<\/label>\n                    <div class=\"input-with-currency\">\n                        <select id=\"currency-select\" class=\"currency-toggle\" onchange=\"updateCurrencySymbols()\">\n                            <option value=\"$\">USD ($)<\/option>\n                            <option value=\"\u20ac\">EUR (\u20ac)<\/option>\n                            <option value=\"\u00a3\">GBP (\u00a3)<\/option>\n                            <option value=\"AU$\">AUD (AU$)<\/option>\n                        <\/select>\n                        <input type=\"number\" id=\"project-cost\" placeholder=\"0.00\" value=\"65000\">\n                    <\/div>\n                <\/div>\n                <button type=\"button\" class=\"btn-next\" onclick=\"nextStep(2)\">Paso siguiente \u2192<\/button>\n            <\/div>\n\n            <!-- Step 2 -->\n            <div class=\"calc-step\" id=\"step-2\">\n                <div class=\"step-badge\">Paso 2 de 4<\/div>\n                <h3>Entrada y tipo de base<\/h3>\n                <div class=\"form-group\">\n                    <label for=\"down-payment\">Entrada<\/label>\n                    <div class=\"input-prefix-wrapper\">\n                        <span class=\"currency-symbol\">$<\/span>\n                        <input type=\"number\" id=\"down-payment\" placeholder=\"0.00\" value=\"10000\">\n                    <\/div>\n                <\/div>\n                <div class=\"form-group\">\n                    <label for=\"custom-apr\">Tipo de inter\u00e9s personalizado (TAE %)<\/label>\n                    <input type=\"number\" id=\"custom-apr\" placeholder=\"ej. 6,5\" step=\"0.01\" value=\"6.5\">\n                <\/div>\n                <div class=\"btn-group\">\n                    <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(1)\">\u2190 Atr\u00e1s<\/button>\n                    <button type=\"button\" class=\"btn-next\" onclick=\"nextStep(3)\">Paso siguiente \u2192<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Step 3 -->\n            <div class=\"calc-step\" id=\"step-3\">\n                <div class=\"step-badge\">Paso 3 de 4<\/div>\n                <h3>Condiciones del pr\u00e9stamo<\/h3>\n                <div class=\"form-group\">\n                    <label for=\"loan-term\">Plazo del pr\u00e9stamo<\/label>\n                    <select id=\"loan-term\">\n                        <option value=\"60\">5 a\u00f1os (60 meses)<\/option>\n                        <option value=\"84\">7 a\u00f1os (84 meses)<\/option>\n                        <option value=\"120\" selected>10 a\u00f1os (120 meses)<\/option>\n                        <option value=\"144\">12 a\u00f1os (144 meses)<\/option>\n                        <option value=\"180\">15 a\u00f1os (180 meses)<\/option>\n                        <option value=\"240\">20 a\u00f1os (240 meses)<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"form-group\">\n                    <label for=\"credit-score\">Perfil crediticio (sustituye al tipo personalizado salvo que elijas \u00abPersonalizado\u00bb)<\/label>\n                    <select id=\"credit-score\">\n                        <option value=\"custom\" selected>Tipo personalizado (introducido en el paso 2)<\/option>\n                        <option value=\"excellent\">Excelente (750+) ~ 6,25 %<\/option>\n                        <option value=\"good\">Bueno (700-749) ~ 8,00 %<\/option>\n                        <option value=\"fair\">Regular (650-699) ~ 11,00 %<\/option>\n                        <option value=\"below\">Por debajo de 650 ~ 15,5 %<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"btn-group\">\n                    <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(2)\">\u2190 Atr\u00e1s<\/button>\n                    <button type=\"button\" class=\"btn-calc\" onclick=\"calculatePoolLoan()\">Calcular<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Step 4: Results -->\n            <div class=\"calc-step\" id=\"step-4\">\n                <div class=\"step-badge\">Paso 4 de 4: Resultados<\/div>\n\n                <div class=\"results-grid\">\n                    <div class=\"result-card main-card\">\n                        <h4>Cuota mensual<\/h4>\n                        <div class=\"result-value\" id=\"res-monthly\">0.00<\/div>\n                    <\/div>\n                    <div class=\"result-card\">\n                        <h4>Importe del pr\u00e9stamo<\/h4>\n                        <div class=\"result-value\" id=\"res-loan-amt\">0.00<\/div>\n                    <\/div>\n                    <div class=\"result-card\">\n                        <h4>Intereses totales<\/h4>\n                        <div class=\"result-value\" id=\"res-total-int\">0.00<\/div>\n                    <\/div>\n                    <div class=\"result-card\">\n                        <h4>Coste total (pr\u00e9stamo + intereses)<\/h4>\n                        <div class=\"result-value\" id=\"res-total-cost\">0.00<\/div>\n                    <\/div>\n                    <div class=\"result-card\">\n                        <h4>Tipo de inter\u00e9s (TAE)<\/h4>\n                        <div class=\"result-value\" id=\"res-apr\">0.00%<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"btn-group\">\n                    <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(3)\">\u2190 Recalcular<\/button>\n                    <button type=\"button\" class=\"btn-amort\" onclick=\"toggleAmortizationTable()\">Mostrar amortizaci\u00f3n anual<\/button>\n                <\/div>\n\n                <div id=\"amortization-wrapper\" style=\"display: none;\">\n                    <table class=\"amort-table\">\n                        <thead>\n                            <tr>\n                                <th>A\u00f1o<\/th>\n                                <th>Pago<\/th>\n                                <th>Principal<\/th>\n                                <th>Intereses<\/th>\n                                <th>Saldo<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody id=\"amort-table-body\">\n                            <!-- Dynamic data rows -->\n                        <\/tbody>\n                    <\/table>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Sidebar Global Cost Guide Reference -->\n        <div class=\"pool-calc-sidebar\">\n            <h3 class=\"sidebar-main-title\">Gu\u00eda global de costes de piscina<\/h3>\n\n            <!-- Region Tab Controls -->\n            <div class=\"region-tabs\">\n                <button class=\"tab-btn active\" onclick=\"switchRegion('us')\">EE. UU.<\/button>\n                <button class=\"tab-btn\" onclick=\"switchRegion('eu')\">Europa<\/button>\n                <button class=\"tab-btn\" onclick=\"switchRegion('au')\">Australia<\/button>\n            <\/div>\n\n            <!-- US Data -->\n            <div id=\"region-us\" class=\"region-content active\">\n                <h4>Piscinas enterradas (llave en mano)<\/h4>\n                <ul>\n                    <li><strong>Liner de vinilo:<\/strong> $45,000 \u2013 $90,000 <small>(Cambio de liner cada 7-10 a\u00f1os)<\/small><\/li>\n                    <li><strong>Poli\u00e9ster (fibra de vidrio):<\/strong> $55,000 \u2013 $100,000+ <small>(Bajo mantenimiento)<\/small><\/li>\n                    <li><strong>Hormig\u00f3n \/ gunita:<\/strong> $65,000 \u2013 $120,000+ <small>(Totalmente personalizable)<\/small><\/li>\n                <\/ul>\n                <h4>Piscinas desmontables<\/h4>\n                <ul>\n                    <li><strong>Pared blanda:<\/strong> $200 \u2013 $2,500 <small>(DIY \/ estacional)<\/small><\/li>\n                    <li><strong>Estructura met\u00e1lica \/ resina:<\/strong> $1,500 \u2013 $10,000<\/li>\n                <\/ul>\n                <h4>Gastos adicionales<\/h4>\n                <ul>\n                    <li><strong>Permisos e inspecci\u00f3n:<\/strong> $100 \u2013 $1,800<\/li>\n                    <li><strong>Terrazas y jardiner\u00eda:<\/strong> $3,000 \u2013 $20,000<\/li>\n                    <li><strong>Vallado de seguridad:<\/strong> $1,000 \u2013 $2,500<\/li>\n                    <li><strong>Sistemas de calefacci\u00f3n:<\/strong> $500 \u2013 $7,500<\/li>\n                <\/ul>\n            <\/div>\n\n            <!-- Europe Data -->\n            <div id=\"region-eu\" class=\"region-content\">\n                <h4>Costes de instalaci\u00f3n<\/h4>\n                <ul>\n                    <li><strong>Desmontables y kits DIY:<\/strong> \u20ac1,000 \u2013 \u20ac15,000<\/li>\n                    <li><strong>Enterrada est\u00e1ndar (FR\/sur de Europa):<\/strong> \u20ac15,000 \u2013 \u20ac40,000 <small>(p. ej., 7 m \u00d7 3 m)<\/small><\/li>\n                    <li><strong>Enterrada de lujo (UK\/CH\/a medida):<\/strong> \u00a330,000 \u2013 \u20ac100,000+ <small>(hormig\u00f3n\/cer\u00e1mica)<\/small><\/li>\n                <\/ul>\n                <h4>Mantenimiento (privado)<\/h4>\n                <ul>\n                    <li><strong>Suministros y productos qu\u00edmicos:<\/strong> ~\u20ac15 \u2013 \u20ac50 \/ mes <small>(filtraci\u00f3n\/tratamiento en verano)<\/small><\/li>\n                    <li><strong>Mantenimiento profesional:<\/strong> \u00a31,000 \u2013 \u20ac4,000 \/ a\u00f1o <small>(apertura y cierre estacional)<\/small><\/li>\n                    <li><strong>Calefacci\u00f3n:<\/strong> En climas fr\u00edos, una bomba de calor incrementa de forma notable el coste.<\/li>\n                <\/ul>\n                <h4>Entrada a piscinas p\u00fablicas<\/h4>\n                <ul>\n                    <li><strong>Francia:<\/strong> \u20ac3.50 \u2013 \u20ac10 \/ sesi\u00f3n<\/li>\n                    <li><strong>Reino Unido:<\/strong> \u00a35 \u2013 \u00a315 \/ sesi\u00f3n<\/li>\n                    <li><strong>N\u00f3rdicos y Europa del Este:<\/strong> \u20ac5 \u2013 \u20ac20 <small>(incluye sauna\/spa)<\/small><\/li>\n                <\/ul>\n            <\/div>\n\n            <!-- Australia Data -->\n            <div id=\"region-au\" class=\"region-content\">\n                <h4>Coste medio por tipo<\/h4>\n                <ul>\n                    <li><strong>Desmontable \/ vinilo:<\/strong> $3,500 \u2013 $15,000<\/li>\n                    <li><strong>Plunge \/ modular:<\/strong> $20,000 \u2013 $50,000 <small>(Ideal para jardines peque\u00f1os)<\/small><\/li>\n                    <li><strong>Fibra de vidrio:<\/strong> $25,000 \u2013 $75,000+ <small>(Depende del acceso de la gr\u00faa)<\/small><\/li>\n                    <li><strong>Piscinas de hormig\u00f3n:<\/strong> $50,000 \u2013 $100,000+ <small>(Mayor libertad de dise\u00f1o)<\/small><\/li>\n                <\/ul>\n                <h4>Costes ocultos y adicionales<\/h4>\n                <p style=\"font-size: 12px; color: #718096; margin: 5px 0 10px 0;\">Prev\u00e9 entre 10 000 y 30 000 $ adicionales para:<\/p>\n                <ul>\n                    <li><strong>Permisos municipales:<\/strong> $2,000 \u2013 $4,000<\/li>\n                    <li><strong>Vallado de la piscina:<\/strong> $200 \u2013 $600 \/ metro lineal<\/li>\n                    <li><strong>Calefacci\u00f3n (solar \/ bomba de calor):<\/strong> $2,700 \u2013 $6,900<\/li>\n                    <li><strong>Jardiner\u00eda y obra:<\/strong> Tarimas, muros de contenci\u00f3n y retirada de tierras pueden duplicar el coste.<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* Scoped Styling for WordPress compatibility *\/\n.pool-calc-container {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n    max-width: 1050px;\n    margin: 20px auto;\n    background: #ffffff;\n    border-radius: 12px;\n    box-shadow: 0 8px 30px rgba(0,0,0,0.08);\n    overflow: hidden;\n    color: #333333;\n}\n.pool-calc-header {\n    background-color: #1ecad3;\n    color: #ffffff;\n    padding: 30px;\n    text-align: center;\n}\n.pool-calc-header h2 { margin: 0 0 10px 0; color: #ffffff; font-size: 28px; font-weight: 700; }\n.pool-calc-header p { margin: 0; font-size: 16px; opacity: 0.9; }\n.pool-calc-layout { display: flex; flex-wrap: wrap; }\n.pool-calc-main { flex: 1; min-width: 300px; padding: 40px; border-right: 1px solid #eeeeee; }\n.pool-calc-sidebar { width: 340px; padding: 35px 25px; background-color: #fcfdfd; box-sizing: border-box; }\n@media (max-width: 868px) {\n    .pool-calc-layout { flex-direction: column; }\n    .pool-calc-sidebar { width: 100%; border-top: 1px solid #eeeeee; }\n    .pool-calc-main { padding: 25px; }\n}\n.calc-step { display: none; }\n.calc-step.active { display: block; animation: fadeIn 0.4s ease-in-out; }\n@keyframes fadeIn {\n    from { opacity: 0; transform: translateY(4px); }\n    to { opacity: 1; transform: translateY(0); }\n}\n.step-badge {\n    display: inline-block;\n    background: rgba(30, 202, 211, 0.1);\n    color: #1ecad3;\n    padding: 4px 12px;\n    border-radius: 20px;\n    font-size: 13px;\n    font-weight: 600;\n    margin-bottom: 15px;\n}\n.calc-step h3 { margin: 0 0 25px 0; font-size: 22px; color: #222; }\n.form-group { margin-bottom: 25px; }\n.form-group label { display: block; font-weight: 600; margin-bottom: 8px; font-size: 15px; color: #444; }\n.input-with-currency, .input-prefix-wrapper {\n    display: flex; align-items: center;\n    border: 2px solid #e2e8f0; border-radius: 8px; overflow: hidden;\n}\n.input-with-currency:focus-within, .input-prefix-wrapper:focus-within { border-color: #1ecad3; }\n.currency-toggle {\n    background: #f7fafc; border: none; border-right: 2px solid #e2e8f0;\n    padding: 12px; font-weight: bold; color: #4a5568; outline: none; cursor: pointer;\n}\n.currency-symbol {\n    background: #f7fafc; padding: 12px 18px; font-weight: bold;\n    color: #4a5568; border-right: 2px solid #e2e8f0;\n}\n.form-group input[type=\"number\"], .form-group select {\n    width: 100%; padding: 12px 15px; border: 2px solid #e2e8f0;\n    border-radius: 8px; font-size: 16px; outline: none; box-sizing: border-box;\n}\n.input-with-currency input, .input-prefix-wrapper input { border: none !important; width: 100%; }\n.btn-next, .btn-calc, .btn-amort {\n    background-color: #1ecad3; color: white; border: none;\n    padding: 14px 28px; font-size: 16px; font-weight: 600;\n    border-radius: 8px; cursor: pointer; transition: background 0.2s;\n}\n.btn-next:hover, .btn-calc:hover, .btn-amort:hover { background-color: #17b3ba; }\n.btn-prev {\n    background-color: #e2e8f0; color: #4a5568; border: none;\n    padding: 14px 28px; font-size: 16px; font-weight: 600;\n    border-radius: 8px; cursor: pointer; margin-right: 10px;\n}\n.btn-prev:hover { background-color: #cbd5e0; }\n.btn-group { margin-top: 30px; display: flex; }\n.btn-amort { background-color: #2d3748; }\n.btn-amort:hover { background-color: #1a202c; }\n.results-grid {\n    display: grid; grid-template-columns: repeat(2, 11fr);\n    gap: 15px; margin-bottom: 25px;\n}\n.result-card { background: #f7fafc; padding: 15px; border-radius: 8px; border-left: 4px solid #1ecad3; }\n.result-card.main-card {\n    grid-column: span 2;\n    background: rgba(30, 202, 211, 0.05);\n    border-left-width: 6px;\n}\n.result-card h4 {\n    margin: 0 0 5px 0; font-size: 13px; text-transform: uppercase;\n    color: #718096; letter-spacing: 0.5px;\n}\n.result-value { font-size: 20px; font-weight: 700; color: #1a202c; }\n.main-card .result-value { font-size: 32px; color: #1ecad3; }\n#amortization-wrapper {\n    margin-top: 30px; max-height: 400px; overflow-y: auto;\n    border: 1px solid #e2e8f0; border-radius: 8px;\n}\n.amort-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }\n.amort-table th {\n    background-color: #f7fafc; padding: 12px; position: sticky; top: 0;\n    border-bottom: 2px solid #e2e8f0; color: #4a5568;\n}\n.amort-table td { padding: 10px 12px; border-bottom: 1px solid #edf2f7; }\n.sidebar-main-title { margin: 0 0 15px 0; font-size: 18px; color: #1a202c; }\n.region-tabs {\n    display: flex; gap: 5px; margin-bottom: 20px;\n    border-bottom: 2px solid #e2e8f0; padding-bottom: 8px;\n}\n.tab-btn {\n    background: none; border: none; padding: 6px 12px;\n    font-size: 13px; font-weight: 600; color: #718096;\n    cursor: pointer; border-radius: 4px; transition: all 0.2s;\n}\n.tab-btn:hover { background: #edf2f7; color: #2d3748; }\n.tab-btn.active { background-color: #1ecad3; color: #ffffff; }\n.region-content { display: none; }\n.region-content.active { display: block; animation: fadeIn 0.3s ease; }\n.pool-calc-sidebar h4 { margin: 15px 0 5px 0; font-size: 14px; color: #2d3748; }\n.pool-calc-sidebar ul { margin: 0 0 15px 0; padding-left: 18px; }\n.pool-calc-sidebar li { font-size: 13px; margin-bottom: 6px; line-height: 1.4; color: #4a5568; }\n.pool-calc-sidebar small { display: block; color: #718096; font-size: 11px; }\n<\/style>\n\n<script>\nlet currentCurrencySymbol = \"$\";\n\nfunction updateCurrencySymbols() {\n    const selector = document.getElementById('currency-select');\n    currentCurrencySymbol = selector.value;\n    const prefix = document.querySelector('.currency-symbol');\n    if(prefix) prefix.innerText = currentCurrencySymbol;\n}\n\nfunction nextStep(stepNumber) {\n    document.querySelectorAll('.calc-step').forEach(step => step.classList.remove('active'));\n    document.getElementById(`step-${stepNumber}`).classList.add('active');\n}\n\nfunction prevStep(stepNumber) {\n    document.querySelectorAll('.calc-step').forEach(step => step.classList.remove('active'));\n    document.getElementById(`step-${stepNumber}`).classList.add('active');\n}\n\nfunction switchRegion(regionCode) {\n    document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));\n    event.target.classList.add('active');\n    document.querySelectorAll('.region-content').forEach(panel => panel.classList.remove('active'));\n    document.getElementById(`region-${regionCode}`).classList.add('active');\n}\n\nfunction getSelectedAPR() {\n    const creditScore = document.getElementById('credit-score').value;\n    const customApr = parseFloat(document.getElementById('custom-apr').value) || 0;\n    switch(creditScore) {\n        case 'excellent': return 6.25;\n        case 'good':      return 8.00;\n        case 'fair':      return 11.00;\n        case 'below':     return 15.50;\n        case 'custom':\n        default:          return customApr;\n    }\n}\n\nfunction calculatePoolLoan() {\n    const totalCost = parseFloat(document.getElementById('project-cost').value) || 0;\n    const downPayment = parseFloat(document.getElementById('down-payment').value) || 0;\n    const months = parseInt(document.getElementById('loan-term').value) || 60;\n    const apr = getSelectedAPR();\n    const loanAmount = Math.max(0, totalCost - downPayment);\n    const monthlyRate = (apr \/ 100) \/ 12;\n    let monthlyPayment = 0;\n    if (loanAmount > 0) {\n        if (monthlyRate === 0) {\n            monthlyPayment = loanAmount \/ months;\n        } else {\n            monthlyPayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, months)) \/ (Math.pow(1 + monthlyRate, months) - 1);\n        }\n    }\n    const totalCostOfLoan = monthlyPayment * months;\n    const totalInterest = Math.max(0, totalCostOfLoan - loanAmount);\n    document.getElementById('res-monthly').innerText = currentCurrencySymbol + \" \" + monthlyPayment.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});\n    document.getElementById('res-loan-amt').innerText = currentCurrencySymbol + \" \" + loanAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});\n    document.getElementById('res-total-int').innerText = currentCurrencySymbol + \" \" + totalInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});\n    document.getElementById('res-total-cost').innerText = currentCurrencySymbol + \" \" + (loanAmount + totalInterest).toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});\n    document.getElementById('res-apr').innerText = apr.toFixed(2) + \"%\";\n    buildAmortizationSchedule(loanAmount, monthlyRate, monthlyPayment, months);\n    nextStep(4);\n}\n\nfunction buildAmortizationSchedule(loanAmount, monthlyRate, monthlyPayment, totalMonths) {\n    const tableBody = document.getElementById('amort-table-body');\n    tableBody.innerHTML = \"\";\n    let balance = loanAmount;\n    let yearlyPrincipal = 0;\n    let yearlyInterest = 0;\n    let yearlyPayment = 0;\n    let yearCounter = 1;\n    for (let m = 1; m <= totalMonths; m++) {\n        let interestPayment = balance * monthlyRate;\n        let principalPayment = monthlyPayment - interestPayment;\n        if (balance < principalPayment) {\n            principalPayment = balance;\n            monthlyPayment = principalPayment + interestPayment;\n        }\n        balance -= principalPayment;\n        yearlyPrincipal += principalPayment;\n        yearlyInterest += interestPayment;\n        yearlyPayment += monthlyPayment;\n        if (m % 12 === 0 || m === totalMonths) {\n            const row = document.createElement('tr');\n            row.innerHTML = `\n                <td><strong>A\u00f1o ${yearCounter}<\/strong><\/td>\n                <td>${currentCurrencySymbol} ${yearlyPayment.toLocaleString(undefined, {maximumFractionDigits: 0})}<\/td>\n                <td>${currentCurrencySymbol} ${yearlyPrincipal.toLocaleString(undefined, {maximumFractionDigits: 0})}<\/td>\n                <td>${currentCurrencySymbol} ${yearlyInterest.toLocaleString(undefined, {maximumFractionDigits: 0})}<\/td>\n                <td>${currentCurrencySymbol} ${Math.max(0, balance).toLocaleString(undefined, {maximumFractionDigits: 0})}<\/td>\n            `;\n            tableBody.appendChild(row);\n            yearlyPrincipal = 0;\n            yearlyInterest = 0;\n            yearlyPayment = 0;\n            yearCounter++;\n        }\n        if (balance <= 0) break;\n    }\n}\n\nfunction toggleAmortizationTable() {\n    const wrapper = document.getElementById('amortization-wrapper');\n    const btn = document.querySelector('.btn-amort');\n    if (wrapper.style.display === 'none') {\n        wrapper.style.display = 'block';\n        btn.innerText = \"Ocultar amortizaci\u00f3n\";\n    } else {\n        wrapper.style.display = 'none';\n        btn.innerText = \"Mostrar amortizaci\u00f3n anual\";\n    }\n}\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre financiaci\u00f3n de piscinas<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1779168690306\"><strong class=\"schema-faq-question\">\u00bfUna piscina aumenta el valor de la vivienda?<\/strong> <p class=\"schema-faq-answer\">S\u00ed, pero por lo general solo entre un 5 % y un 7 % del valor total del inmueble. Una piscina enterrada mejora el atractivo y la comercializaci\u00f3n en climas c\u00e1lidos, pero rara vez recupera el 100 % del coste inicial de instalaci\u00f3n.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168716210\"><strong class=\"schema-faq-question\">\u00bfQu\u00e9 perfil crediticio necesito para un pr\u00e9stamo para piscina?<\/strong> <p class=\"schema-faq-answer\">Algunos prestamistas aceptan perfiles m\u00e1s modestos, pero por lo general necesitas un buen historial crediticio para acceder a los tipos de inter\u00e9s m\u00e1s competitivos y a condiciones flexibles en un pr\u00e9stamo no garantizado.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168725206\"><strong class=\"schema-faq-question\">\u00bfPuedo financiar una piscina sin entrada?<\/strong> <p class=\"schema-faq-answer\">S\u00ed. Muchos pr\u00e9stamos personales sin garant\u00eda y programas espec\u00edficos de financiaci\u00f3n de piscinas ofrecen una financiaci\u00f3n del 100 % sin entrada, siempre que cuentes con un buen historial crediticio e ingresos demostrables.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168742183\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1nto tarda la aprobaci\u00f3n de un pr\u00e9stamo para piscina?<\/strong> <p class=\"schema-faq-answer\">Los pr\u00e9stamos personales sin garant\u00eda para piscina pueden aprobarse con rapidez, a menudo en 1 a 3 d\u00edas h\u00e1biles. Las opciones garantizadas con la vivienda exigen una tasaci\u00f3n y un an\u00e1lisis formal, y suelen tardar entre 2 y 6 semanas.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168751940\"><strong class=\"schema-faq-question\">\u00bfDeber\u00eda cancelar mi pr\u00e9stamo para piscina antes de tiempo?<\/strong> <p class=\"schema-faq-answer\">Por lo general, s\u00ed. Liquidar el capital antes reduce los intereses futuros. Comprueba primero que tu contrato no incluya comisiones por cancelaci\u00f3n anticipada (la mayor\u00eda de pr\u00e9stamos personales sin garant\u00eda no las aplican).<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168769212\"><strong class=\"schema-faq-question\">\u00bfSon deducibles fiscalmente los intereses del pr\u00e9stamo para piscina?<\/strong> <p class=\"schema-faq-answer\">Solo pueden serlo si financias la obra con un pr\u00e9stamo garantizado con la vivienda y la piscina se considera una mejora estructural del inmueble. Las reglas dependen de la legislaci\u00f3n de tu pa\u00eds; consulta a un asesor fiscal en caso de duda. Los intereses de los pr\u00e9stamos personales sin garant\u00eda no suelen ser deducibles.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168785407\"><strong class=\"schema-faq-question\">\u00bfQu\u00e9 ocurre si vendo la casa antes de terminar de pagar el pr\u00e9stamo?<\/strong> <p class=\"schema-faq-answer\">Si utilizaste un pr\u00e9stamo garantizado con la vivienda, el saldo pendiente se liquida en el momento de la venta con el importe obtenido. Si es un pr\u00e9stamo personal sin garant\u00eda, sigues pagando las cuotas mensuales con normalidad, ya que la deuda est\u00e1 vinculada a ti y no al inmueble.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779168798809\"><strong class=\"schema-faq-question\">\u00bfCu\u00e1l es el tipo de inter\u00e9s t\u00edpico de un pr\u00e9stamo para piscina?<\/strong> <p class=\"schema-faq-answer\">Los tipos var\u00edan mucho seg\u00fan tu perfil crediticio. En perfiles excelentes suelen situarse entre el 5,5 % y el 7 %, mientras que para quienes est\u00e1n reconstruyendo su historial pueden subir al 13 %-18 %.<\/p> <\/div> <\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<!-- aiper-tool-links -->\n<div class=\"aiper-tool-links\">\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">M\u00e1s herramientas<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-tiempo-llenado-piscina\/\" class=\"aiper-tl-tag\">Calculadora de tiempo de llenado de piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-tasa-recambio-piscina\/\" class=\"aiper-tl-tag\">Calculadora de tasa de recambio de piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/calculadora-indice-saturacion-piscina\/\" class=\"aiper-tl-tag\">Calculadora del \u00edndice de saturaci\u00f3n de piscina (LSI)<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">Art\u00edculos relacionados<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/es\/bajar-alcalinidad-piscina\/\" class=\"aiper-tl-tag\">C\u00f3mo bajar la alcalinidad de la piscina<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/robot-piscina-atascado-desague-principal\/\" class=\"aiper-tl-tag\">\u00bfPor qu\u00e9 el robot de piscina se queda atascado en el desag\u00fce principal?<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/preparar-piscina-para-invierno\/\" class=\"aiper-tl-tag\">C\u00f3mo preparar una piscina enterrada para el invierno: gu\u00eda paso a paso<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/es\/dejar-robot-limpiapiscinas-en-el-agua\/\" class=\"aiper-tl-tag\">\u00bfSe puede dejar el robot limpiapiscinas en el agua?<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.aiper-tool-links{margin:2.5rem 0 1.5rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,rgba(148,134,247,.04),rgba(30,202,211,.04));border-radius:12px;border:1px solid rgba(148,134,247,.10)}\n.aiper-tl-section{margin-bottom:1.25rem}\n.aiper-tl-section:last-child{margin-bottom:0}\n.aiper-tl-heading{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8899aa;margin:0 0 .65rem}\n.aiper-tl-tags{display:flex;flex-wrap:wrap;gap:.5rem}\n.aiper-tl-tag{display:inline-block;padding:.4rem .95rem;font-size:.82rem;font-weight:500;line-height:1.35;color:#9486f7;background:rgba(148,134,247,.055);border:1px solid rgba(30,202,211,.25);border-radius:22px;text-decoration:none;transition:all .18s}\n.aiper-tl-tag:hover{background:#1ecad3;color:#fff;border-color:#1ecad3;box-shadow:0 2px 10px rgba(30,202,211,.22)}\n<\/style>","protected":false},"excerpt":{"rendered":"<p>Estima tus cuotas mensuales y explora opciones internacionales de financiaci\u00f3n de piscinas. Paso 1 de 4 Coste del proyecto Coste total del proyecto de piscina USD ($)EUR (\u20ac)GBP (\u00a3)AUD (AU$) Paso siguiente \u2192 Paso 2 de 4 Entrada y tipo de base Entrada $ Tipo de inter\u00e9s personalizado (TAE %) \u2190 Atr\u00e1s Paso siguiente \u2192&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-2090","page","type-page","status-publish","hentry"],"lang":"es","translations":{"es":2090,"de":2088,"en":1763,"fr":2089},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/comments?post=2090"}],"version-history":[{"count":4,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2090\/revisions"}],"predecessor-version":[{"id":11889,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/2090\/revisions\/11889"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=2090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}