{"id":83496,"date":"2025-12-26T16:15:21","date_gmt":"2025-12-26T15:15:21","guid":{"rendered":"https:\/\/dexxter.be\/tool\/freelance-budget-planner-2\/"},"modified":"2026-05-13T15:18:00","modified_gmt":"2026-05-13T13:18:00","slug":"freelance-budget-planner-2","status":"publish","type":"tools","link":"https:\/\/dexxter.be\/en\/tool\/freelance-budget-planner-2\/","title":{"rendered":"Freelance budget planner"},"content":{"rendered":"<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Hourly Rate Calculator for Self-Employed<\/title>\r\n    <style>\r\n        .hourly-rate-widget-en {\r\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n            background-color: transparent;\r\n            padding: 40px 20px;\r\n            line-height: 1.6;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .hourly-rate-widget-en * {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .hourly-rate-widget-en .container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .hourly-rate-widget-en h2 {\r\n            color: #1a1a1a;\r\n            font-size: 1.25rem;\r\n            margin: 0 0 20px 0;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .hourly-rate-widget-en h3 {\r\n            color: #1a1a1a;\r\n            font-size: 1.1rem;\r\n            margin: 25px 0 15px 0;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .hourly-rate-widget-en .inputs-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr;\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        @media (min-width: 768px) {\r\n            .hourly-rate-widget-en .inputs-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n            }\r\n        }\r\n\r\n        .hourly-rate-widget-en .calculator-card {\r\n            background-color: white;\r\n            padding: 30px;\r\n            border-radius: 12px;\r\n            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n        }\r\n\r\n        .hourly-rate-widget-en .input-group {\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .hourly-rate-widget-en label {\r\n            display: block;\r\n            margin-bottom: 8px;\r\n            font-weight: 500;\r\n            color: #1a1a1a;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .hourly-rate-widget-en input[type=\"number\"] {\r\n            width: 100%;\r\n            padding: 12px;\r\n            border: 1px solid #d1d5db;\r\n            border-radius: 8px;\r\n            font-size: 1rem;\r\n            transition: border-color 0.3s;\r\n            background-color: white;\r\n        }\r\n\r\n        .hourly-rate-widget-en input[type=\"number\"]:focus {\r\n            border-color: #4169FF;\r\n            outline: none;\r\n        }\r\n\r\n        .hourly-rate-widget-en .hint {\r\n            margin-top: 4px;\r\n            font-size: 0.8rem;\r\n            color: #6b7280;\r\n        }\r\n\r\n        .hourly-rate-widget-en .results {\r\n            background-color: white;\r\n            padding: 30px;\r\n            border-radius: 12px;\r\n            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .hourly-rate-widget-en .results-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr;\r\n            gap: 20px;\r\n            margin-top: 20px;\r\n        }\r\n\r\n        @media (min-width: 768px) {\r\n            .hourly-rate-widget-en .results-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n            }\r\n        }\r\n\r\n        .hourly-rate-widget-en .result-card {\r\n            background-color: #f9fafb;\r\n            padding: 20px;\r\n            border-radius: 8px;\r\n        }\r\n\r\n        .hourly-rate-widget-en .result-card h3 {\r\n            margin: 0 0 15px 0;\r\n            font-size: 1rem;\r\n        }\r\n\r\n        .hourly-rate-widget-en .result-item {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            margin-bottom: 8px;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .hourly-rate-widget-en .result-item span:last-child {\r\n            font-weight: 600;\r\n            color: #1a1a1a;\r\n        }\r\n\r\n        .hourly-rate-widget-en .final-result {\r\n            margin-top: 25px;\r\n            padding: 25px;\r\n            background-color: #f0f7ff;\r\n            border-radius: 8px;\r\n            text-align: center;\r\n        }\r\n\r\n        .hourly-rate-widget-en .final-result h3 {\r\n            margin: 0 0 10px 0;\r\n            font-size: 1.1rem;\r\n            color: #1a1a1a;\r\n        }\r\n\r\n        .hourly-rate-widget-en .final-result .price {\r\n            font-size: 2.5rem;\r\n            font-weight: 700;\r\n            color: #4169FF;\r\n            margin: 10px 0;\r\n        }\r\n\r\n        .hourly-rate-widget-en .final-result .note {\r\n            font-size: 0.85rem;\r\n            color: #6b7280;\r\n            margin-top: 10px;\r\n        }\r\n\r\n        .hourly-rate-widget-en .note {\r\n            margin-top: 20px;\r\n            padding: 15px;\r\n            background-color: #f9fafb;\r\n            border-radius: 8px;\r\n            font-size: 0.85rem;\r\n            color: #4a5568;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        .hourly-rate-widget-en .note p {\r\n            margin: 0;\r\n        }\r\n\r\n        .hourly-rate-widget-en .note strong {\r\n            color: #1a1a1a;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"hourly-rate-widget-en\">\r\n        <div class=\"container\">\r\n            <div class=\"inputs-grid\">\r\n                <div class=\"calculator-card\">\r\n                    <h2>Business Expenses (per month)<\/h2>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"software-en\">Software\/subscriptions: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"software-en\" min=\"0\" value=\"50\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"marketing-en\">Marketing\/acquisition: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"marketing-en\" min=\"0\" value=\"100\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"insurance-en\">Insurance (business): \u20ac<\/label>\r\n                        <input type=\"number\" id=\"insurance-en\" min=\"0\" value=\"150\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"equipment-en\">Equipment\/materials: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"equipment-en\" min=\"0\" value=\"100\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"phoneInternet-en\">Phone\/internet: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"phoneInternet-en\" min=\"0\" value=\"80\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"transport-en\">Transport\/travel costs: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"transport-en\" min=\"0\" value=\"150\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"otherBusiness-en\">Other business expenses: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"otherBusiness-en\" min=\"0\" value=\"100\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"calculator-card\">\r\n                    <h2>Personal Expenses (per month)<\/h2>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"personalExpenses-en\">Total personal expenses: \u20ac<\/label>\r\n                        <input type=\"number\" id=\"personalExpenses-en\" min=\"0\" value=\"2000\">\r\n                        <div class=\"hint\">Including rent\/mortgage, living expenses, care, etc.<\/div>\r\n                    <\/div>\r\n\r\n                    <h3>Tax and Working Hours<\/h3>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"taxPercentage-en\">Estimated tax percentage: %<\/label>\r\n                        <input type=\"number\" id=\"taxPercentage-en\" min=\"0\" max=\"100\" value=\"45\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"workHoursPerWeek-en\">Working hours per week:<\/label>\r\n                        <input type=\"number\" id=\"workHoursPerWeek-en\" min=\"0\" max=\"168\" value=\"32\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"vacationWeeksPerYear-en\">Vacation weeks per year:<\/label>\r\n                        <input type=\"number\" id=\"vacationWeeksPerYear-en\" min=\"0\" max=\"52\" value=\"6\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"sickWeeksPerYear-en\">Sick weeks per year:<\/label>\r\n                        <input type=\"number\" id=\"sickWeeksPerYear-en\" min=\"0\" max=\"52\" value=\"2\">\r\n                    <\/div>\r\n\r\n                    <div class=\"input-group\">\r\n                        <label for=\"unpaidHoursPercentage-en\">Percentage unpaid hours: %<\/label>\r\n                        <input type=\"number\" id=\"unpaidHoursPercentage-en\" min=\"0\" max=\"100\" value=\"20\">\r\n                        <div class=\"hint\">Administration, acquisition, etc.<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"results\">\r\n                <h2>Results<\/h2>\r\n\r\n                <div class=\"results-grid\">\r\n                    <div class=\"result-card\">\r\n                        <h3>Total Costs<\/h3>\r\n                        <div class=\"result-item\">\r\n                            <span>Per month:<\/span>\r\n                            <span>\u20ac<span id=\"totalCostsMonth-en\">0<\/span><\/span>\r\n                        <\/div>\r\n                        <div class=\"result-item\">\r\n                            <span>Per year:<\/span>\r\n                            <span>\u20ac<span id=\"totalCostsYear-en\">0<\/span><\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"result-card\">\r\n                        <h3>Working Hours<\/h3>\r\n                        <div class=\"result-item\">\r\n                            <span>Effective work weeks per year:<\/span>\r\n                            <span id=\"effectiveWeeks-en\">0<\/span>\r\n                        <\/div>\r\n                        <div class=\"result-item\">\r\n                            <span>Effective hours per week:<\/span>\r\n                            <span id=\"effectiveHoursPerWeek-en\">0<\/span>\r\n                        <\/div>\r\n                        <div class=\"result-item\">\r\n                            <span>Effective hours per year:<\/span>\r\n                            <span id=\"effectiveHoursPerYear-en\">0<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"final-result\">\r\n                    <h3>Minimum Hourly Rate (excl. VAT)<\/h3>\r\n                    <div class=\"price\">\u20ac<span id=\"minimumHourlyRate-en\">0<\/span><\/div>\r\n                    <div class=\"note\">This is the minimum hourly rate needed to cover all expenses<\/div>\r\n                <\/div>\r\n\r\n                <div class=\"note\">\r\n                    <p><strong>Note:<\/strong> This is an estimate based on the entered data. For an accurate calculation, we recommend consulting an accountant.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        const inputsEN = document.querySelectorAll('.hourly-rate-widget-en input');\r\n\r\n        inputsEN.forEach(input => {\r\n            input.addEventListener('input', updateCalculationsEN);\r\n        });\r\n\r\n        function updateCalculationsEN() {\r\n            const software = parseFloat(document.getElementById('software-en').value) || 0;\r\n            const marketing = parseFloat(document.getElementById('marketing-en').value) || 0;\r\n            const insurance = parseFloat(document.getElementById('insurance-en').value) || 0;\r\n            const equipment = parseFloat(document.getElementById('equipment-en').value) || 0;\r\n            const phoneInternet = parseFloat(document.getElementById('phoneInternet-en').value) || 0;\r\n            const transport = parseFloat(document.getElementById('transport-en').value) || 0;\r\n            const otherBusiness = parseFloat(document.getElementById('otherBusiness-en').value) || 0;\r\n            const personalExpenses = parseFloat(document.getElementById('personalExpenses-en').value) || 0;\r\n            const taxPercentage = parseFloat(document.getElementById('taxPercentage-en').value) || 0;\r\n            const workHoursPerWeek = parseFloat(document.getElementById('workHoursPerWeek-en').value) || 0;\r\n            const vacationWeeksPerYear = parseFloat(document.getElementById('vacationWeeksPerYear-en').value) || 0;\r\n            const sickWeeksPerYear = parseFloat(document.getElementById('sickWeeksPerYear-en').value) || 0;\r\n            const unpaidHoursPercentage = parseFloat(document.getElementById('unpaidHoursPercentage-en').value) || 0;\r\n\r\n            const businessExpenses = software + marketing + insurance + equipment + phoneInternet + transport + otherBusiness;\r\n            const totalMonth = businessExpenses + personalExpenses;\r\n            const totalYear = totalMonth * 12;\r\n            const grossAmountYear = totalYear \/ (1 - (taxPercentage \/ 100));\r\n            const effectiveWeeks = 52 - vacationWeeksPerYear - sickWeeksPerYear;\r\n            const effectiveHoursPerWeek = workHoursPerWeek * (1 - (unpaidHoursPercentage \/ 100));\r\n            const effectiveHoursPerYear = effectiveWeeks * effectiveHoursPerWeek;\r\n            const hourlyRate = effectiveHoursPerYear > 0 ? grossAmountYear \/ effectiveHoursPerYear : 0;\r\n\r\n            function formatNumber(num) {\r\n                return num.toFixed(2);\r\n            }\r\n\r\n            document.getElementById('totalCostsMonth-en').textContent = formatNumber(totalMonth);\r\n            document.getElementById('totalCostsYear-en').textContent = formatNumber(totalYear);\r\n            document.getElementById('effectiveWeeks-en').textContent = effectiveWeeks.toFixed(1);\r\n            document.getElementById('effectiveHoursPerWeek-en').textContent = effectiveHoursPerWeek.toFixed(1);\r\n            document.getElementById('effectiveHoursPerYear-en').textContent = Math.round(effectiveHoursPerYear);\r\n            document.getElementById('minimumHourlyRate-en').textContent = formatNumber(hourlyRate);\r\n        }\r\n\r\n        updateCalculationsEN();\r\n    <\/script>\r\n<\/body>\n","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":64333,"template":"","class_list":["post-83496","tools","type-tools","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/tools\/83496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/tools"}],"about":[{"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/types\/tools"}],"version-history":[{"count":1,"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/tools\/83496\/revisions"}],"predecessor-version":[{"id":83497,"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/tools\/83496\/revisions\/83497"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/media\/64333"}],"wp:attachment":[{"href":"https:\/\/dexxter.be\/en\/wp-json\/wp\/v2\/media?parent=83496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}