{"id":1641,"date":"2026-08-05T12:22:53","date_gmt":"2026-08-05T12:22:53","guid":{"rendered":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/?p=1641"},"modified":"2026-08-05T12:26:15","modified_gmt":"2026-08-05T12:26:15","slug":"suuri-asuntopuhallus-rakennammeko-toisillemme-seinia-vain-pitaaksemme-valtion-verokoneen-kaynnissa","status":"publish","type":"post","link":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/?p=1641","title":{"rendered":"Suuri asuntopuhallus: Rakennammeko toisillemme seini\u00e4 vain pit\u00e4\u00e4ksemme valtion verokoneen k\u00e4ynniss\u00e4?"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fi\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Uuden asunnon karu hintalappu: Valtion verokone ja lahoava asuntokanta<\/title>\n    <!-- Load Tailwind CSS via CDN for styling -->\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <!-- Load Chart.js via CDN for rendering the graphs -->\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    <!-- Load Google Fonts (Inter) for better typography -->\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* Custom styles to ensure it integrates well into an Elementor embed *\/\n        body {\n            font-family: 'Inter', sans-serif;\n            background-color: transparent; \/* Allows Elementor background to show through if needed *\/\n            margin: 0;\n            padding: 0;\n        }\n        \/* Ensure the container takes full width but has a max-width for readability *\/\n        .embed-container {\n            width: 100%;\n            max-width: 1920px;\n            margin: 0 auto;\n            padding: 1.5rem;\n            box-sizing: border-box;\n        }\n        \/* Responsive canvas sizing *\/\n        .chart-container {\n            position: relative;\n            height: 400px;\n            width: 100%;\n            margin-bottom: 2rem;\n        }\n        \n        \/* Adjust heights for smaller screens *\/\n        @media (max-width: 768px) {\n            .chart-container {\n                height: 300px;\n            }\n        }\n    <\/style>\n<\/head>\n<body class=\"text-gray-800 antialiased\">\n\n<div class=\"embed-container bg-white rounded-xl shadow-lg border border-gray-100\">\n    \n    <div class=\"mb-10 text-center\">\n        <h2 class=\"text-3xl md:text-4xl font-bold text-gray-900 mb-4 tracking-tight\">Asuntomarkkinoiden rakenteellinen haaste: Rakentamisen kerrannaisverotus ja elinkaarikustannukset<\/h2>\n        <p class=\"text-lg text-gray-600 max-w-3xl mx-auto leading-relaxed\">\n            Asunnon hintalappu k\u00e4tkee sis\u00e4\u00e4ns\u00e4 monimutkaisen ketjun kerrannaiskustannuksia. N\u00e4m\u00e4 graafit havainnollistavat suomalaisen kerrostalorakentamisen kustannusjakaumaa sek\u00e4 verojen ja viranomaismaksujen todellista osuutta. Kansantaloudellisesti asuntorakentamisessa on pitk\u00e4lti kyse suljetusta sis\u00e4markkinasta, joka toimii samalla merkitt\u00e4v\u00e4n\u00e4 fiskaalisena instrumenttina julkisen sektorin rahoittamisessa.\n        <\/p>\n    <\/div>\n\n    <!-- Container for the first chart: Pure construction costs (without taxes) -->\n    <div class=\"bg-gray-50 rounded-lg p-6 mb-12 border border-gray-200 shadow-sm\">\n        <h3 class=\"text-2xl font-semibold text-gray-800 mb-2 text-center\">Rakentamisen fyysinen ydin: Veroton kustannusrakenne<\/h3>\n        <p class=\"text-gray-500 text-center mb-6 text-sm\">Kuvaa karkeasti rakennusliikkeen verotonta urakkahintaa (pl. tontti).<\/p>\n        <div class=\"chart-container\">\n            <canvas id=\"constructionCostsChart\"><\/canvas>\n        <\/div>\n        <div class=\"mt-6 text-base text-gray-700 bg-white p-4 rounded border border-gray-100\">\n            <p><strong>Huomio:<\/strong> Vaikka materiaalit muodostavat t\u00e4ss\u00e4 vaiheessa isoimman siivun (n. 45%), ne ovat silti lopulta vain murto-osa kuluttajan maksamasta kokonaishinnasta, kun verot ja muut kulut astuvat kuvaan.<\/p>\n        <\/div>\n    <\/div>\n\n    <!-- Container for the second chart: Final price breakdown including taxes (The Tampere example) -->\n    <div class=\"bg-blue-50 rounded-lg p-6 mb-8 border border-blue-100 shadow-sm\">\n        <h3 class=\"text-2xl font-semibold text-blue-900 mb-2 text-center\">Verokiilan vaikutus: 400 000 euron asunnosta 166 000 euroa on veroja ja julkisia maksuja<\/h3>\n        <p class=\"text-blue-700 text-center mb-6 text-sm\">Kokonaiskustannus ostajalle (sis. varainsiirtoveron): 406 000 \u20ac. Kuvastaa verojen massiivista kertautumista hankekehityksen aikana.<\/p>\n        \n        <div class=\"flex flex-col md:flex-row items-center gap-8\">\n            <div class=\"w-full md:w-1\/2 chart-container\" style=\"height: 350px;\">\n                <canvas id=\"taxBreakdownChart\"><\/canvas>\n            <\/div>\n            \n            <div class=\"w-full md:w-1\/2\">\n                <div class=\"bg-white overflow-hidden rounded-xl border border-blue-200 shadow-sm\">\n                    <table class=\"min-w-full divide-y divide-gray-200 text-sm\">\n                        <thead class=\"bg-blue-100\">\n                            <tr>\n                                <th scope=\"col\" class=\"px-4 py-3 text-left font-semibold text-blue-900 uppercase tracking-wider\">Er\u00e4<\/th>\n                                <th scope=\"col\" class=\"px-4 py-3 text-right font-semibold text-blue-900 uppercase tracking-wider\">Osuus (n.)<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody class=\"bg-white divide-y divide-gray-200\">\n                            <tr>\n                                <td class=\"px-4 py-3 text-gray-800\">Puhdas tuotanto, tontti ja kate<\/td>\n                                <td class=\"px-4 py-3 text-right font-medium text-gray-900\">240000\u20ac<\/td>\n                            <\/tr>\n                            <tr class=\"bg-red-50\">\n                                <td class=\"px-4 py-3 text-red-800 font-medium\">Verot ja julkiset maksut yhteens\u00e4<\/td>\n                                <td class=\"px-4 py-3 text-right font-bold text-red-700\">166000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Arvonlis\u00e4vero (25,5 %)<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">69000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Ty\u00f6n verokiila (sivukulut, tulovero)<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">58000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Logistiikka- ja energiaverot<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">15000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Viranomais- ja kaavoitusmaksut<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">10000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Yhteis\u00f6verot ketjussa<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">8000\u20ac<\/td>\n                            <\/tr>\n                            <tr>\n                                <td class=\"px-4 py-2 pl-8 text-gray-600 text-xs\">&#8211; Varainsiirtovero (1,5 %)<\/td>\n                                <td class=\"px-4 py-2 text-right text-gray-600 text-xs\">6000\u20ac<\/td>\n                            <\/tr>\n                        <\/tbody>\n                    <\/table>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- New Section: The State as the beneficiary and the reality of the old housing stock -->\n    <div class=\"bg-amber-50 rounded-xl p-6 md:p-8 mb-8 border border-amber-200 shadow-sm relative overflow-hidden\">\n        <!-- Decorative background element for visual interest -->\n        <div class=\"absolute -right-10 -top-10 w-40 h-40 bg-amber-100 rounded-full opacity-50 pointer-events-none\"><\/div>\n        \n        <h3 class=\"text-2xl font-bold text-amber-900 mb-4 relative z-10\">Kansantaloudellinen dynamiikka: Asuntorakentaminen suljettuna sis\u00e4markkinana<\/h3>\n        \n        <div class=\"space-y-4 text-amber-800 text-base md:text-lg leading-relaxed relative z-10\">\n            <p>\n                <strong>Asuntotuotannon rooli kansantaloudessa:<\/strong> Julkisessa keskustelussa rakennusalan suhdanteista unohdetaan usein toimialan luonne. Rakentaminen on pitk\u00e4lti suljettua sis\u00e4markkinaa \u2013 taloustieteen termein kotimaista palveluvaihtoa, joka ei suoranaisesti tuo maahan uutta vientivaurautta. Sen sijaan ala on julkiselle taloudelle keskeinen verokertym\u00e4n l\u00e4hde. Kun rakennusala hidastuu, valtiontaloudesta katoaa v\u00e4litt\u00f6m\u00e4sti satoja miljoonia euroja arvonlis\u00e4-, tulo- ja varainsiirtoverotuloja.\n            <\/p>\n            <p>\n                <strong>Fokus uudistuotannosta olemassa olevan kannan hallintaan:<\/strong> Aggressiivinen uudistuotannon vaatimus sivuuttaa usein laajemman asuntopoliittisen kysymyksen. Suurin haaste ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 ole uusien alueiden rakentaminen, vaan ik\u00e4\u00e4ntyv\u00e4n ja elinkaarensa p\u00e4\u00e4ss\u00e4 olevan rakennuskannan hallittu purkaminen tai uudistaminen.\n            <\/p>\n            <p>\n                <strong>Kriittinen korjausvelka:<\/strong> Suomessa on merkitt\u00e4v\u00e4 m\u00e4\u00e4r\u00e4 1960\u20131980-luvuilla rakennettuja kerrostaloja, joiden tekninen elinkaari on loppumassa. Monissa n\u00e4ist\u00e4 yhti\u00f6ist\u00e4 peruskorjausten (putkistot, julkisivut, energiatehokkuus) kustannukset ylitt\u00e4v\u00e4t kiinteist\u00f6n odotetun markkina-arvon remontin j\u00e4lkeen. T\u00e4ll\u00f6in rakennuksen reaalinen arvo on laskennallisesti negatiivinen. On kansantaloudellisesti tehotonta investoida satoja tuhansia euroja kohteisiin, joiden markkina-arvo ei elvy investoinnin suhteessa.\n            <\/p>\n            <p class=\"font-medium text-amber-900 border-l-4 border-amber-500 pl-4 py-1\">\n                Asuntopolitiikan tuleva kipupiste on tasearvoltaan negatiivisten kiinteist\u00f6jen k\u00e4sittely. Kun asunnon vakuusarvo laskee nollaan, asukkaiden siirtyminen uudempaan kantaan vaikeutuu merkitt\u00e4v\u00e4sti. T\u00e4m\u00e4 edellytt\u00e4\u00e4 uudenlaisia rahoitus- ja kaavoitusmalleja purkavalle uusrakentamiselle.\n            <\/p>\n        <\/div>\n    <\/div>\n\n    <!-- New Section: The Double Tax Wedge (Buyer's gross income requirement) -->\n    <div class=\"bg-rose-50 rounded-xl p-6 md:p-8 border border-rose-200 shadow-sm mb-4\">\n        <h3 class=\"text-2xl font-bold text-rose-900 mb-4\">Kaksinkertainen verokiila: 400 000 euron asunnon hankinta vaatii 625 000 euron bruttotulot<\/h3>\n        \n        <p class=\"text-rose-800 text-base md:text-lg leading-relaxed mb-6\">\n            Asuntokaupan verotus ei rajoitu vain rakennusvaiheeseen. Kuluttaja maksaa 406 000 euron kokonaishinnan (myyntihinta 100k\u20ac + yhti\u00f6laina 300k\u20ac + varainsiirtovero 6k\u20ac) <strong>verotetuilla nettotuloillaan<\/strong>. Kun t\u00e4h\u00e4n yhdistet\u00e4\u00e4n ty\u00f6n kire\u00e4 verotus, j\u00e4rjestelm\u00e4n rakenteellinen raskaus paljastuu.\n        <\/p>\n\n        <div class=\"bg-white rounded-lg p-5 border border-rose-100 shadow-sm mb-6\">\n            <h4 class=\"font-semibold text-gray-800 mb-3 border-b pb-2\">Esimerkkilaskelma: 35 % tuloveroprosentti<\/h4>\n            <p class=\"text-gray-700 text-sm mb-4\">Jotta ostajalle j\u00e4\u00e4 k\u00e4teen tarvittava 406 000 euroa asunnon ja varainsiirtoveron maksuun (olettaen 35 % tulovero ja sivukulut), h\u00e4nen t\u00e4ytyy tienata <strong>bruttona noin 625 000 euroa<\/strong>.<\/p>\n            \n            <ul class=\"space-y-3 text-sm\">\n                <li class=\"flex justify-between items-center text-gray-800\">\n                    <span>Vaadittu bruttopalkka<\/span>\n                    <span class=\"font-bold\">~625 000 \u20ac<\/span>\n                <\/li>\n                <li class=\"flex justify-between items-center text-rose-600 border-b pb-2 border-gray-100\">\n                    <span>&#8211; Ostajan maksamat tuloverot (35 %)<\/span>\n                    <span>-219 000 \u20ac<\/span>\n                <\/li>\n                <li class=\"flex justify-between items-center text-gray-800 font-medium pt-1\">\n                    <span>K\u00e4teen j\u00e4\u00e4v\u00e4 osuus (Asunnon hankintahinta)<\/span>\n                    <span>406 000 \u20ac<\/span>\n                <\/li>\n                <li class=\"flex justify-between items-center text-rose-600 border-b pb-2 border-gray-100\">\n                    <span>&#8211; Asunnon hintaan sis\u00e4ltyv\u00e4t verot (ALV ym.)<\/span>\n                    <span>-166 000 \u20ac<\/span>\n                <\/li>\n                <li class=\"flex justify-between items-center text-green-700 font-bold text-base pt-1\">\n                    <span>= Puhtaan rakentamisen ja tontin arvo<\/span>\n                    <span>240 000 \u20ac<\/span>\n                <\/li>\n            <\/ul>\n        <\/div>\n\n        <div class=\"bg-rose-100\/50 rounded-lg p-5 border-l-4 border-rose-500\">\n            <p class=\"text-rose-900 font-medium\">\n                <strong>Verotuksen kokonaisvaikutus:<\/strong> Saadakseen 240 000 euron reaalisen arvon (materiaalit, rakennusty\u00f6, tontti ja katteet), ostajan on tuotettava arviolta 625 000 euron bruttotulot. T\u00e4st\u00e4 kokonaisarvosta julkinen sektori perii tuloverotuksen ja rakentamisen v\u00e4lillisten verojen kautta yli 60 prosenttia (noin 385 000 euroa).\n            <\/p>\n        <\/div>\n\n        <div class=\"mt-8 mb-4 chart-container\" style=\"height: 350px;\">\n            <canvas id=\"doubleTaxChart\"><\/canvas>\n        <\/div>\n    <\/div>\n\n    <!-- New Section: Renovation Debt & The Second Taxing Cycle -->\n    <div class=\"bg-indigo-50 rounded-xl p-6 md:p-8 border border-indigo-200 shadow-sm mb-4\">\n        <h3 class=\"text-2xl font-bold text-indigo-900 mb-4\">Elinkaarikustannusten verorasitus: Korjausvelka toistuvana verotulojen l\u00e4hteen\u00e4<\/h3>\n        \n        <p class=\"text-indigo-800 text-base md:text-lg leading-relaxed mb-6\">\n            Rakennuksen elinkaaren aikainen kuluminen ja sit\u00e4 seuraavat peruskorjaukset muodostavat toistuvan syklin, jolla on merkitt\u00e4v\u00e4 fiskaalinen vaikutus. Kun kiinteist\u00f6n j\u00e4rjestelm\u00e4t vaativat uusimista, n\u00e4m\u00e4 kalliit investoinnit rahoitetaan tyypillisesti yhti\u00f6lainoilla. Koska asunto-osakeyhti\u00f6 on arvonlis\u00e4verotuksessa loppukuluttaja, korjauskustannukset sis\u00e4lt\u00e4v\u00e4t j\u00e4lleen t\u00e4yden verorasituksen.\n        <\/p>\n\n        <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8 items-center mb-6\">\n            <div class=\"space-y-4 text-indigo-900 text-sm md:text-base\">\n                <div class=\"bg-white p-5 rounded-lg border border-indigo-100 shadow-sm\">\n                    <h4 class=\"font-bold text-lg mb-2 text-indigo-800\">20 vuoden v\u00e4lein: Kosteat tilat<\/h4>\n                    <p class=\"text-gray-700\">M\u00e4rk\u00e4tilojen tekninen k\u00e4ytt\u00f6ik\u00e4 tulee vastaan. Pinnat ja vedeneristykset on uusittava. Ty\u00f6n ja materiaalien osuus on suuri, ja <strong>kaikesta maksetaan 25,5 % arvonlis\u00e4vero<\/strong> sek\u00e4 t\u00e4ysi ty\u00f6n verokiila.<\/p>\n                <\/div>\n                <div class=\"bg-white p-5 rounded-lg border border-indigo-100 shadow-sm\">\n                    <h4 class=\"font-bold text-lg mb-2 text-indigo-800\">40\u201345 vuoden kohdalla: Raskas LVIS<\/h4>\n                    <p class=\"text-gray-700\">Putkiremontti, s\u00e4hk\u00f6t, julkisivut ja hissit liipaistuvat. Kustannus voi olla jopa 1000\u20131500 \u20ac\/m\u00b2. Kymmenien tuhansien eurojen uudesta yhti\u00f6lainaosuudesta palautuu j\u00e4lleen <strong>l\u00e4hes puolet valtiolle veroina ja maksuina<\/strong>.<\/p>\n                <\/div>\n            <\/div>\n            \n            <div class=\"chart-container bg-white p-4 rounded-lg border border-indigo-100 shadow-sm\" style=\"height: 350px;\">\n                <canvas id=\"renovationCycleChart\"><\/canvas>\n            <\/div>\n        <\/div>\n\n        <div class=\"bg-indigo-100\/50 rounded-lg p-5 border-l-4 border-indigo-500 mt-2\">\n            <p class=\"text-indigo-900 font-medium\">\n                <strong>Elinkaarikustannusten verokohtelu:<\/strong> Asunto-osakeyhti\u00f6 ei voi v\u00e4hent\u00e4\u00e4 arvonlis\u00e4veroa investoinneistaan, jolloin asukas rahoittaa verotetuilla nettotuloillaan 100 % peruskorjausten v\u00e4lillisist\u00e4 veroista. Korjausvelka ei siis ole vain teknist\u00e4 kulumista, vaan se yll\u00e4pit\u00e4\u00e4 jatkuvaa verotulojen kassavirtaa julkiselle sektorille.\n            <\/p>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<script>\n    \/\/ Wait for the DOM to be fully loaded before initializing charts\n    document.addEventListener('DOMContentLoaded', function() {\n        \n        \/\/ Common configuration for tooltips to make them large and readable\n        const commonTooltipConfig = {\n            backgroundColor: 'rgba(255, 255, 255, 0.95)',\n            titleColor: '#1f2937', \/\/ Tailwind gray-800\n            bodyColor: '#4b5563', \/\/ Tailwind gray-600\n            borderColor: '#e5e7eb', \/\/ Tailwind gray-200\n            borderWidth: 1,\n            padding: 12,\n            titleFont: { size: 16, family: \"'Inter', sans-serif\", weight: 'bold' },\n            bodyFont: { size: 14, family: \"'Inter', sans-serif\" },\n            boxPadding: 6,\n            usePointStyle: true,\n            callbacks: {\n                label: function(context) {\n                    let label = context.label || '';\n                    if (label) {\n                        label += ': ';\n                    }\n                    if (context.parsed !== null) {\n                        label += context.parsed + '%';\n                    }\n                    return label;\n                }\n            }\n        };\n\n        \/\/ Common legend configuration\n        const commonLegendConfig = {\n            position: 'bottom',\n            labels: {\n                font: { size: 14, family: \"'Inter', sans-serif\" },\n                color: '#374151', \/\/ Tailwind gray-700\n                padding: 20,\n                usePointStyle: true,\n                pointStyle: 'circle'\n            }\n        };\n\n        \/\/ --- Chart 1: Veroton urakkarakenne ---\n        const ctx1 = document.getElementById('constructionCostsChart').getContext('2d');\n        new Chart(ctx1, {\n            type: 'doughnut',\n            data: {\n                labels: [\n                    'Materiaalit (Betoni, LVI, s\u00e4hk\u00f6 jne.)', \n                    'Ty\u00f6 ja ty\u00f6maa (Suorittava ty\u00f6, koneet)', \n                    'Hankehallinto & Suunnittelu', \n                    'Urakoitsijan kate'\n                ],\n                datasets: [{\n                    data: [43, 32, 13, 12],\n                    backgroundColor: [\n                        '#3b82f6', \/\/ blue-500\n                        '#f59e0b', \/\/ amber-500\n                        '#10b981', \/\/ emerald-500\n                        '#6366f1'  \/\/ indigo-500\n                    ],\n                    borderWidth: 2,\n                    borderColor: '#ffffff',\n                    hoverOffset: 8\n                }]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                cutout: '60%', \/\/ Makes it a doughnut\n                plugins: {\n                    legend: commonLegendConfig,\n                    tooltip: commonTooltipConfig\n                }\n            }\n        });\n\n        \/\/ --- Chart 2: Verojen osuus 400k asunnosta ---\n        const ctx2 = document.getElementById('taxBreakdownChart').getContext('2d');\n        new Chart(ctx2, {\n            type: 'pie',\n            data: {\n                labels: [\n                    'Puhdas tuotanto, tontti ja yritysten kate', \n                    'Verot ja julkiset maksut'\n                ],\n                datasets: [{\n                    \/\/ Data based on 240k vs 166k out of 406k total (~59% vs ~41%)\n                    data: [59, 41],\n                    backgroundColor: [\n                        '#94a3b8', \/\/ slate-400 (Production)\n                        '#ef4444'  \/\/ red-500 (Taxes)\n                    ],\n                    borderWidth: 2,\n                    borderColor: '#ffffff',\n                    hoverOffset: 8\n                }]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                plugins: {\n                    legend: {\n                        position: 'bottom',\n                        labels: {\n                            font: { size: 14, family: \"'Inter', sans-serif\", weight: 'bold' },\n                            color: '#1e293b', \/\/ slate-800\n                            padding: 15,\n                            usePointStyle: true,\n                            pointStyle: 'rectRounded'\n                        }\n                    },\n                    tooltip: {\n                        backgroundColor: 'rgba(255, 255, 255, 0.95)',\n                        titleColor: '#1f2937',\n                        bodyColor: '#4b5563',\n                        borderColor: '#e5e7eb',\n                        borderWidth: 1,\n                        padding: 14,\n                        titleFont: { size: 16, family: \"'Inter', sans-serif\", weight: 'bold' },\n                        bodyFont: { size: 15, family: \"'Inter', sans-serif\" },\n                        callbacks: {\n                            label: function(context) {\n                                let label = context.label || '';\n                                if (label) {\n                                    label += ': ';\n                                }\n                                if (context.parsed !== null) {\n                                    \/\/ Add the euro value approximation to the tooltip based on the percentage\n                                    const totalAmount = 406000;\n                                    const valueEuro = (context.parsed \/ 100) * totalAmount;\n                                    \/\/ Format the number to look like money\n                                    const formattedValue = new Intl.NumberFormat('fi-FI', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(valueEuro);\n                                    label += context.parsed + '% (~' + formattedValue + ')';\n                                }\n                                return label;\n                            }\n                        }\n                    }\n                }\n            }\n        });\n\n        \/\/ --- Chart 3: Kaksinkertainen verokiila (Double Tax Wedge) ---\n        const ctx3 = document.getElementById('doubleTaxChart').getContext('2d');\n        new Chart(ctx3, {\n            type: 'doughnut',\n            data: {\n                labels: [\n                    'Ostajan maksamat tuloverot (35%)', \n                    'Rakentamisen verot ja julkiset maksut',\n                    'Puhdas tuotannon ja tontin arvo'\n                ],\n                datasets: [{\n                    data: [219000, 166000, 240000],\n                    backgroundColor: [\n                        '#be123c', \/\/ rose-700 (Income tax)\n                        '#fb7185', \/\/ rose-400 (Construction tax)\n                        '#10b981'  \/\/ emerald-500 (Pure value)\n                    ],\n                    borderWidth: 2,\n                    borderColor: '#ffffff',\n                    hoverOffset: 8\n                }]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                cutout: '50%',\n                plugins: {\n                    legend: commonLegendConfig,\n                    tooltip: {\n                        ...commonTooltipConfig,\n                        callbacks: {\n                            label: function(context) {\n                                let label = context.label || '';\n                                if (label) {\n                                    label += ': ';\n                                }\n                                if (context.raw !== null) {\n                                    label += new Intl.NumberFormat('fi-FI', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(context.raw);\n                                    \n                                    \/\/ Calculate percentage of the 625k total\n                                    const total = 625000;\n                                    const percentage = Math.round((context.raw \/ total) * 100);\n                                    label += ' (' + percentage + '%)';\n                                }\n                                return label;\n                            }\n                        }\n                    }\n                }\n            }\n        });\n\n        \/\/ --- Chart 4: Korjausvelan ikiliikkuja (Renovation Cycle) ---\n        const ctx4 = document.getElementById('renovationCycleChart').getContext('2d');\n        new Chart(ctx4, {\n            type: 'bar',\n            data: {\n                labels: ['0v', '20v: Kosteat tilat', '45v: Putket & Julkisivu'],\n                datasets: [\n                    {\n                        label: 'Verojen osuus',\n                        data: [0, 9000, 36000], \/\/ Esimerkkihinnat: 20k remontti ja 80k remontti, joista n. 45% veroa\/sivukuluja\n                        backgroundColor: '#818cf8', \/\/ indigo-400\n                        stack: 'Stack 0',\n                    },\n                    {\n                        label: 'Puhdas arvo\/kustannus',\n                        data: [0, 11000, 44000], \n                        backgroundColor: '#cbd5e1', \/\/ slate-300\n                        stack: 'Stack 0',\n                    }\n                ]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                scales: {\n                    x: {\n                        stacked: true,\n                        grid: { display: false },\n                        ticks: { font: { size: 14, family: \"'Inter', sans-serif\", weight: 'bold' } }\n                    },\n                    y: {\n                        stacked: true,\n                        ticks: {\n                            font: { size: 13, family: \"'Inter', sans-serif\" },\n                            callback: function(value) {\n                                return value \/ 1000 + 'k \u20ac';\n                            }\n                        }\n                    }\n                },\n                plugins: {\n                    legend: {\n                        position: 'bottom',\n                        labels: { font: { size: 14, family: \"'Inter', sans-serif\" }, padding: 15 }\n                    },\n                    tooltip: {\n                        ...commonTooltipConfig,\n                        callbacks: {\n                            label: function(context) {\n                                let label = context.dataset.label || '';\n                                if (label) {\n                                    label += ': ';\n                                }\n                                if (context.raw !== null) {\n                                    label += new Intl.NumberFormat('fi-FI', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(context.raw);\n                                }\n                                return label;\n                            }\n                        }\n                    }\n                }\n            }\n        });\n    });\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Uuden asunnon karu hintalappu: Valtion verokone ja lahoava asuntokanta Asuntomarkkinoiden rakenteellinen haaste: Rakentamisen kerrannaisverotus ja elinkaarikustannukset Asunnon hintalappu k\u00e4tkee sis\u00e4\u00e4ns\u00e4 monimutkaisen ketjun kerrannaiskustannuksia. N\u00e4m\u00e4 graafit havainnollistavat suomalaisen kerrostalorakentamisen kustannusjakaumaa sek\u00e4 verojen ja viranomaismaksujen todellista osuutta.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1459,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50,52,53],"tags":[94,95,85,91,98,57,40,99,80,88,44,93,87,89,97,90,86,73,100,92,66],"class_list":["post-1641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-markkina","category-tietoa-osakkaille","category-sijoittajille","tag-asunnon-ostaminen","tag-asunto-oy-hannenkoti","tag-asunto-osakeyhtio","tag-asuntokaupan-sudenkuopat","tag-asuntokauppa","tag-asuntosijoittaminen","tag-hutiostos","tag-kaksio","tag-loorulyzer","tag-lvis-saneeraus","tag-mikrobivaurio","tag-piilokulut-asuntokaupassa","tag-putkiremontti","tag-sadesieni","tag-sijoitusasunto","tag-taloyhtion-piilevat-viat","tag-taloyhtion-riskit","tag-taloyhtiotieto","tag-tampere","tag-tampere-hervanta-asunnot","tag-yhtiolaina"],"_links":{"self":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1641"}],"version-history":[{"count":4,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1641\/revisions"}],"predecessor-version":[{"id":1645,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/posts\/1641\/revisions\/1645"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=\/wp\/v2\/media\/1459"}],"wp:attachment":[{"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asunto-osakeyhtio.fi\/Asoy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}