{"id":70787,"date":"2026-04-27T12:30:13","date_gmt":"2026-04-27T10:30:13","guid":{"rendered":"https:\/\/tickelia.com\/demo_2023\/?p=70787"},"modified":"2026-04-27T12:30:16","modified_gmt":"2026-04-27T10:30:16","slug":"calculadora-de-tarifa-por-hora","status":"publish","type":"post","link":"https:\/\/tickelia.com\/demo_2023\/pt\/blog\/noticias\/calculadora-de-tarifa-por-hora\/","title":{"rendered":"Calculadora de\u00a0Tarifa por Hora"},"content":{"rendered":"<style>\r\n    * { box-sizing: border-box; margin: 0; padding: 0; }\r\n   \r\n\r\n    .app-header {\r\n        text-align: center;\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 { font-size: 2rem; font-weight: 800; letter-spacing: -0.5px; }\r\n    .app-header h1 span { color: #00c8b3; }\r\n    .app-header p { margin-top: 6px; color: #666; }\r\n\r\n    .main-layout {\r\n        display: grid;\r\n        grid-template-columns: 1.2fr 0.8fr;\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        position: relative;\r\n        overflow: hidden;\r\n        margin-bottom: 20px;\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    }\r\n\r\n    .section-title { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }\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    .section-icon svg { width: 20px; height: 20px; fill: white; }\r\n\r\n    .section-title h3 { font-size: 1.05rem; font-weight: 700; }\r\n    .section-title h3 small { display: block; font-size: 0.78rem; color: #999; font-weight: 400; margin-top: 2px; }\r\n\r\n    .field-group { margin-bottom: 18px; }\r\n    .field-group label {\r\n        font-size: 0.75rem;\r\n        font-weight: 700;\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    .input-modern input {\r\n        width: 100%;\r\n        padding: 12px 15px;\r\n        border: 2px solid #e8ece9;\r\n        border-radius: 10px;\r\n        font-size: 1.1rem;\r\n        font-weight: 600;\r\n        color: #1a1a2e;\r\n        background: #fafcfb;\r\n        transition: all 0.2s;\r\n    }\r\n    .input-modern input:focus { outline: none; border-color: #00c8b3; background: #fff; }\r\n    .input-modern .unit {\r\n        position: absolute; right: 12px; top: 50%;\r\n        transform: translateY(-50%);\r\n        font-size: 0.9rem; color: #aaa; font-weight: 700;\r\n    }\r\n\r\n    .result-hero {\r\n        background: #00c8b3;\r\n        border-radius: 14px; padding: 25px;\r\n        margin-bottom: 20px; text-align: center; color: white;\r\n    }\r\n    .result-hero .hero-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; opacity: 0.8; margin-bottom: 8px; }\r\n    .result-hero .hero-value { font-size: 2.5rem; font-weight: 800; color: white; }\r\n\r\n    .res-item {\r\n        display: flex; justify-content: space-between; align-items: center;\r\n        padding: 14px 0; border-bottom: 1px solid #f0f0f0;\r\n    }\r\n    .res-label { font-size: 0.85rem; color: #666; font-weight: 500; }\r\n    .res-value { font-size: 1.05rem; font-weight: 700; color: #1a1a2e; }\r\n\r\n    .info-box {\r\n        background: #f0faf8;\r\n        border-radius: 10px;\r\n        padding: 15px;\r\n        margin-top: 15px;\r\n        font-size: 0.8rem;\r\n        color: #00897b;\r\n        line-height: 1.4;\r\n    }\r\n\r\n    @media (max-width: 800px) { .main-layout { grid-template-columns: 1fr; } }\r\n<\/style>\r\n\r\n<div class=\"app-header\">\r\n    <h2>Calculadora de <span>Tarifa por Hora<\/span><\/h2>\r\n    <p>Determine o valor real do seu trabalho em Portugal (2026)<\/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=\"M11.8 2.02c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\/><\/svg>\r\n            <\/div>\r\n            <h3>Par\u00e2metros de Rendimento <small>Metas e obriga\u00e7\u00f5es fiscais mensais<\/small><\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label>Sal\u00e1rio L\u00edquido Desejado (Mensal)<\/label>\r\n            <div class=\"input-modern\">\r\n                <input type=\"number\" id=\"net-salary\" value=\"2000\" 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>Impostos e Seguran\u00e7a Social (Estimativa %)<\/label>\r\n            <div class=\"input-modern\">\r\n                <input type=\"number\" id=\"tax-percent\" value=\"30\" oninput=\"calcular()\">\r\n                <span class=\"unit\">%<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"field-group\">\r\n            <label>Custos Fixos e Operacionais (Mensal)<\/label>\r\n            <div class=\"input-modern\">\r\n                <input type=\"number\" id=\"costs\" value=\"300\" oninput=\"calcular()\">\r\n                <span class=\"unit\">\u20ac<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"section-title\" style=\"margin-top: 30px;\">\r\n            <div class=\"section-icon\">\r\n                <svg viewBox=\"0 0 24 24\"><path d=\"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z\"\/><\/svg>\r\n            <\/div>\r\n            <h3>Tempo e Produtividade <small>Disponibilidade real de trabalho<\/small><\/h3>\r\n        <\/div>\r\n\r\n        <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 15px;\">\r\n            <div class=\"field-group\">\r\n                <label>Horas Totais \/ Semana<\/label>\r\n                <div class=\"input-modern\">\r\n                    <input type=\"number\" id=\"weekly-hours\" value=\"40\" oninput=\"calcular()\">\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"field-group\">\r\n                <label>% Horas Factur\u00e1veis<\/label>\r\n                <div class=\"input-modern\">\r\n                    <input type=\"number\" id=\"billable-percent\" value=\"70\" oninput=\"calcular()\">\r\n                    <span class=\"unit\">%<\/span>\r\n                <\/div>\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>Valor Sugerido <small>Tarifa por hora calculada<\/small><\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"result-hero\">\r\n            <div class=\"hero-label\">A sua tarifa por hora deve ser:<\/div>\r\n            <div class=\"hero-value\" id=\"res-hourly-rate\">0,00 \u20ac<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"results-grid\">\r\n            <div class=\"res-item\">\r\n                <span class=\"res-label\">Necessidade Bruta Mensal<\/span>\r\n                <span class=\"res-value\" id=\"res-gross-total\">0,00 \u20ac<\/span>\r\n            <\/div>\r\n            <div class=\"res-item\">\r\n                <span class=\"res-label\">Horas Factur\u00e1veis \/ M\u00eas<\/span>\r\n                <span class=\"res-value\" id=\"res-billable-hours\">0h<\/span>\r\n            <\/div>\r\n            <div class=\"res-item\">\r\n                <span class=\"res-label\">Custos da Atividade<\/span>\r\n                <span class=\"res-value\" id=\"res-costs-val\">0,00 \u20ac<\/span>\r\n            <\/div>\r\n            <div class=\"res-item\" style=\"border-bottom: none;\">\r\n                <span class=\"res-label\">Horas N\u00e3o Factur\u00e1veis (Gest\u00e3o)<\/span>\r\n                <span class=\"res-value\" id=\"res-non-billable\" style=\"color: #ff7675;\">0h<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"info-box\">\r\n            <strong>Dica de 2026:<\/strong> O c\u00e1lculo inclui horas n\u00e3o factur\u00e1veis (reuni\u00f5es, administra\u00e7\u00e3o, forma\u00e7\u00e3o). Se cobrar menos que o valor sugerido, estar\u00e1 a pagar para trabalhar.\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        \/\/ Entradas\r\n        const netSalary = parseFloat(document.getElementById('net-salary').value) || 0;\r\n        const taxPercent = parseFloat(document.getElementById('tax-percent').value) || 0;\r\n        const monthlyCosts = parseFloat(document.getElementById('costs').value) || 0;\r\n        const weeklyHours = parseFloat(document.getElementById('weekly-hours').value) || 0;\r\n        const billablePercent = parseFloat(document.getElementById('billable-percent').value) || 0;\r\n\r\n        \/\/ 1. Calcular Necessidade Bruta (O que tem de facturar antes de impostos para ter o l\u00edquido)\r\n        \/\/ F\u00f3rmula: Bruto = L\u00edquido \/ (1 - taxa)\r\n        const grossSalary = netSalary \/ (1 - (taxPercent \/ 100));\r\n        const totalNeeded = grossSalary + monthlyCosts;\r\n\r\n        \/\/ 2. Calcular Horas (M\u00e9dia de 4.33 semanas por m\u00eas)\r\n        const totalMonthlyHours = weeklyHours * 4.33;\r\n        const billableHours = totalMonthlyHours * (billablePercent \/ 100);\r\n        const nonBillableHours = totalMonthlyHours - billableHours;\r\n\r\n        \/\/ 3. Tarifa por hora\r\n        const hourlyRate = billableHours > 0 ? totalNeeded \/ billableHours : 0;\r\n\r\n        \/\/ UI\r\n        document.getElementById('res-hourly-rate').textContent = fmt(hourlyRate);\r\n        document.getElementById('res-gross-total').textContent = fmt(totalNeeded);\r\n        document.getElementById('res-billable-hours').textContent = Math.round(billableHours) + 'h';\r\n        document.getElementById('res-non-billable').textContent = Math.round(nonBillableHours) + 'h';\r\n        document.getElementById('res-costs-val').textContent = fmt(monthlyCosts);\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-70787","post","type-post","status-publish","format-standard","hentry","category-noticias"],"acf":[],"lang":"pt","translations":{"pt":70787},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70787","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=70787"}],"version-history":[{"count":1,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70787\/revisions"}],"predecessor-version":[{"id":70792,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/posts\/70787\/revisions\/70792"}],"wp:attachment":[{"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/media?parent=70787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/categories?post=70787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tickelia.com\/demo_2023\/wp-json\/wp\/v2\/tags?post=70787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}