{"id":70775,"date":"2026-04-27T12:23:27","date_gmt":"2026-04-27T10:23:27","guid":{"rendered":"https:\/\/tickelia.com\/demo_2023\/?p=70775"},"modified":"2026-04-28T08:21:55","modified_gmt":"2026-04-28T06:21:55","slug":"calcular-base-tributavel-pt-1","status":"publish","type":"post","link":"https:\/\/tickelia.com\/demo_2023\/pt\/blog\/noticias\/calcular-base-tributavel-pt-1\/","title":{"rendered":"calcular-base-tributavel PT 1"},"content":{"rendered":"<style>\r\n    * {\r\n        box-sizing: border-box;\r\n        margin: 0;\r\n        padding: 0;\r\n    }\r\n\r\n\r\n    .app-header {\r\n      \r\n        padding: 30px 20px 10px;\r\n        max-width: 1100px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .app-header h1 {\r\n        font-size: 2rem;\r\n        color: #1a1a2e;\r\n        font-weight: 800;\r\n        letter-spacing: -0.5px;\r\n    }\r\n\r\n    .app-header h1 span { color: #00c8b3; }\r\n\r\n    .app-header p {\r\n        margin-top: 6px;\r\n        color: #666;\r\n    }\r\n\r\n    .main-layout {\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 20px;\r\n        max-width: 1100px;\r\n        margin: 25px auto 0;\r\n        padding: 0 20px;\r\n    }\r\n\r\n    .card {\r\n        background: #fff;\r\n        border-radius: 16px;\r\n        padding: 28px;\r\n        box-shadow: 0 2px 20px rgba(0,0,0,0.04);\r\n        transition: transform 0.2s, box-shadow 0.2s;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .card:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: 0 8px 30px rgba(0,0,0,0.08);\r\n    }\r\n\r\n    .card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0; left: 0; right: 0;\r\n        height: 4px;\r\n        background: linear-gradient(90deg, #00c8b3, #00e6cf);\r\n        border-radius: 16px 16px 0 0;\r\n    }\r\n\r\n    .section-title {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        margin-bottom: 22px;\r\n    }\r\n\r\n    .section-icon {\r\n        width: 40px; height: 40px;\r\n        background: linear-gradient(135deg, #00c8b3, #00e6cf);\r\n        border-radius: 10px;\r\n        display: flex; align-items: center; justify-content: center;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .section-icon svg { width: 20px; height: 20px; fill: white; }\r\n\r\n    .section-title h3 {\r\n        font-size: 1.05rem;\r\n        color: #1a1a2e;\r\n        font-weight: 700;\r\n    }\r\n\r\n    .section-title h3 small {\r\n        display: block;\r\n        font-size: 0.78rem;\r\n        color: #999;\r\n        font-weight: 400;\r\n        margin-top: 2px;\r\n    }\r\n\r\n    .field-group { margin-bottom: 20px; }\r\n\r\n    .field-group label {\r\n        font-size: 0.82rem;\r\n        font-weight: 600;\r\n        color: #555;\r\n        text-transform: uppercase;\r\n        letter-spacing: 0.5px;\r\n        margin-bottom: 8px;\r\n        display: block;\r\n    }\r\n\r\n    .input-modern { position: relative; }\r\n\r\n    .input-modern input, .input-modern select {\r\n        width: 100%;\r\n        padding: 14px 18px;\r\n        border: 2px solid #e8ece9;\r\n        border-radius: 12px;\r\n        font-size: 1.15rem;\r\n        font-weight: 600;\r\n        color: #1a1a2e;\r\n        transition: all 0.25s;\r\n        background: #fafcfb;\r\n        appearance: none;\r\n    }\r\n\r\n    .input-modern input:focus, .input-modern select:focus {\r\n        outline: none;\r\n        border-color: #00c8b3;\r\n        background: #fff;\r\n        box-shadow: 0 0 0 4px rgba(0, 200, 179, 0.1);\r\n    }\r\n\r\n    .input-modern .unit {\r\n        position: absolute;\r\n        right: 16px; top: 50%;\r\n        transform: translateY(-50%);\r\n        font-size: 1rem; color: #aaa; font-weight: 600;\r\n        pointer-events: none;\r\n    }\r\n\r\n    .result-hero {\r\n        background: linear-gradient(135deg, #00c8b3, #00a89a);\r\n        border-radius: 14px; padding: 22px;\r\n        margin-bottom: 18px; text-align: center; color: white;\r\n        position: relative; overflow: hidden;\r\n    }\r\n\r\n    .result-hero .hero-label {\r\n        font-size: 0.8rem; text-transform: uppercase;\r\n        letter-spacing: 1px; opacity: 0.85; margin-bottom: 6px; font-weight: 600;\r\n    }\r\n\r\n    .result-hero .hero-value {\r\n        font-size: 2.2rem; font-weight: 800; letter-spacing: -1px;\r\n    }\r\n\r\n    .results-grid { display: flex; flex-direction: column; }\r\n\r\n    .result-item {\r\n        display: flex; justify-content: space-between; align-items: center;\r\n        padding: 16px 0; border-bottom: 1px solid #f0f0f0;\r\n    }\r\n\r\n    .result-label {\r\n        font-size: 0.88rem; color: #777; font-weight: 500;\r\n    }\r\n\r\n    .result-value { font-size: 1.2rem; font-weight: 800; color: #1a1a2e; }\r\n\r\n    .tag-highlight { color: #00c8b3; }\r\n\r\n    @media (max-width: 800px) {\r\n        .main-layout { grid-template-columns: 1fr; }\r\n    }\r\n\r\n    @keyframes fadeUp {\r\n        from { opacity: 0; transform: translateY(20px); }\r\n        to   { opacity: 1; transform: translateY(0); }\r\n    }\r\n\r\n    .card { animation: fadeUp 0.5s ease forwards; }\r\n<\/style>\r\n\r\n<div class=\"app-header\">\r\n    <h2>Calculadora de <span>Base Tribut\u00e1vel<\/span><\/h2>\r\n    <p>C\u00e1lculos fiscais para recibos verdes e faturas em Portugal<\/p>\r\n<\/div>\r\n\r\n<div class=\"main-layout\">\r\n    <div class=\"card\">\r\n        <div class=\"section-title\">\r\n            <div class=\"section-icon\">\r\n                <svg viewBox=\"0 0 24 24\"><path d=\"M19 14V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zm-9-1c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-6v11c0 1.1-.9 2-2 2H4v-2h17V7h2z\"\/><\/svg>\r\n            <\/div>\r\n            <h3>Dados da Fatura <small>Configura o valor e as taxas aplic\u00e1veis<\/small><\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label>Modo de C\u00e1lculo<\/label>\r\n            <div class=\"input-modern\">\r\n                <select id=\"calc-mode\" onchange=\"calcular()\">\r\n                    <option value=\"base\">Inserir Base Tribut\u00e1vel (L\u00edquido)<\/option>\r\n                    <option value=\"total\">Inserir Valor Total (Bruto)<\/option>\r\n                <\/select>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label id=\"label-valor\">Valor Principal<\/label>\r\n            <div class=\"input-modern\">\r\n                <input type=\"number\" id=\"main-value\" value=\"1000\" step=\"any\" oninput=\"calcular()\">\r\n                <span class=\"unit\">\u20ac<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label>Taxa de IVA (Portugal)<\/label>\r\n            <div class=\"input-modern\">\r\n                <select id=\"pct-iva\" onchange=\"calcular()\">\r\n                    <option value=\"23\">23% (Taxa Normal - Continente)<\/option>\r\n                    <option value=\"13\">13% (Taxa Interm\u00e9dia)<\/option>\r\n                    <option value=\"6\">6% (Taxa Reduzida)<\/option>\r\n                    <option value=\"22\">22% (Madeira)<\/option>\r\n                    <option value=\"16\">16% (A\u00e7ores)<\/option>\r\n                <\/select>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label>Reten\u00e7\u00e3o na Fonte (IRS)<\/label>\r\n            <div class=\"input-modern\">\r\n                <select id=\"pct-irs\" onchange=\"calcular()\">\r\n                    <option value=\"23\">23% (Atividades Art. 151 - 2025)<\/option>\r\n                    <option value=\"25\">25% (Outras atividades)<\/option>\r\n                    <option value=\"11.5\">11.5% (In\u00edcio de atividade)<\/option>\r\n                    <option value=\"0\">Isento \/ Sem reten\u00e7\u00e3o<\/option>\r\n                <\/select>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"card\">\r\n        <div class=\"section-title\">\r\n            <div class=\"section-icon\">\r\n                <svg viewBox=\"0 0 24 24\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm0-4h-2V7h2v8z\"\/><\/svg>\r\n            <\/div>\r\n            <h3>Resumo Fiscal <small>Valores finais calculados<\/small><\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"result-hero\">\r\n            <div class=\"hero-label\" id=\"hero-title\">Total da Fatura<\/div>\r\n            <div class=\"hero-value\" id=\"res-total\">0,00 \u20ac<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"results-grid\">\r\n            <div class=\"result-item\">\r\n                <span class=\"result-label\">Base Tribut\u00e1vel<\/span>\r\n                <span class=\"result-value\" id=\"res-base\">0,00 \u20ac<\/span>\r\n            <\/div>\r\n            <div class=\"result-item\">\r\n                <span class=\"result-label\">IVA Liquidado<\/span>\r\n                <span class=\"result-value tag-highlight\" id=\"res-iva-val\">+ 0,00 \u20ac<\/span>\r\n            <\/div>\r\n            <div class=\"result-item\">\r\n                <span class=\"result-label\">Reten\u00e7\u00e3o IRS<\/span>\r\n                <span class=\"result-value\" style=\"color:#ff7675;\" id=\"res-irs-val\">- 0,00 \u20ac<\/span>\r\n            <\/div>\r\n            <div class=\"result-item\" style=\"border-bottom: none; margin-top: 10px;\">\r\n                <span class=\"result-label\" style=\"font-weight: 800; color: #1a1a2e;\">Rendimento L\u00edquido<\/span>\r\n                <span class=\"result-value tag-highlight\" id=\"res-neto\" style=\"font-size: 1.5rem;\">0,00 \u20ac<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    function fmt(n) {\r\n        return n.toLocaleString('pt-PT', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + ' \u20ac';\r\n    }\r\n\r\n    function calcular() {\r\n        const mode = document.getElementById('calc-mode').value;\r\n        const mainVal = parseFloat(document.getElementById('main-value').value) || 0;\r\n        const pIva = parseFloat(document.getElementById('pct-iva').value) \/ 100;\r\n        const pIrs = parseFloat(document.getElementById('pct-irs').value) \/ 100;\r\n\r\n        let base, totalFatura, ivaVal, irsVal, netoReal;\r\n\r\n        if (mode === 'base') {\r\n            base = mainVal;\r\n            ivaVal = base * pIva;\r\n            totalFatura = base + ivaVal;\r\n            document.getElementById('label-valor').textContent = \"Base Tribut\u00e1vel\";\r\n            document.getElementById('hero-title').textContent = \"Total Bruto da Fatura\";\r\n        } else {\r\n            base = mainVal \/ (1 + pIva);\r\n            ivaVal = mainVal - base;\r\n            totalFatura = mainVal;\r\n            document.getElementById('label-valor').textContent = \"Valor Total da Fatura\";\r\n            document.getElementById('hero-title').textContent = \"Total Bruto da Fatura\";\r\n        }\r\n\r\n        irsVal = base * pIrs;\r\n        netoReal = base - irsVal;\r\n\r\n        \/\/ Atualizar UI\r\n        document.getElementById('res-total').textContent = fmt(totalFatura);\r\n        document.getElementById('res-base').textContent = fmt(base);\r\n        document.getElementById('res-iva-val').textContent = \"+ \" + fmt(ivaVal);\r\n        document.getElementById('res-irs-val').textContent = \"- \" + fmt(irsVal);\r\n        document.getElementById('res-neto').textContent = fmt(netoReal);\r\n    }\r\n\r\n    window.onload = calcular;\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":18,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4382],"tags":[],"class_list":["post-70775","post","type-post","status-publish","format-standard","hentry","category-noticias"],"acf":[],"lang":"pt","translations":{"pt":70775},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/comments?post=70775"}],"version-history":[{"count":3,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70775\/revisions"}],"predecessor-version":[{"id":70813,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70775\/revisions\/70813"}],"wp:attachment":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/media?parent=70775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/categories?post=70775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/tags?post=70775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}