{"id":24650,"date":"2025-08-13T14:06:01","date_gmt":"2025-08-13T14:06:01","guid":{"rendered":"https:\/\/remato.com\/blog\/winstmarge-calculator-gratis-calculator-voor-aannemers\/"},"modified":"2025-08-14T06:59:07","modified_gmt":"2025-08-14T06:59:07","slug":"winstmarge-calculator-gratis-calculator-voor-aannemers","status":"publish","type":"post","link":"https:\/\/remato.com\/nl\/blog\/winstmarge-calculator-gratis-calculator-voor-aannemers\/","title":{"rendered":"Winstmarge calculator &#8211; gratis calculator voor aannemers"},"content":{"rendered":"\n<p>Onze gratis <strong>marge calculator<\/strong> helpt je snel de winstmarge, opslag en totale kosten voor elke klus te berekenen. Of je nu prijzen berekent voor bouwprojecten, diensten of producten, voer gewoon je arbeids-, materiaal- en overheadkosten in, samen met je verkoopprijs. <\/p>\n\n<p>De calculator toont direct je winstmarge en opslag, zodat je prijzen kunt bepalen die je bedrijf concurrerend en winstgevend houden.<\/p>\n\n<div id=\"profit-margin-calculator\" class=\"p-16 border border-grey-200 border-radius-8\">\n  <h2 class=\"font-size-20 text-center\" style=\"margin-top:12px;margin-bottom:24px;\">\n    Winstmarge calculator  <\/h2>\n\n  <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;\">\n    <!-- Left: Inputs -->\n    <div>\n      <label for=\"currency\"><strong>Valuta:<\/strong><\/label>\n      <select id=\"currency\" style=\"width:100%;margin:6px 0 12px;\">\n        <option value=\"USD\">Amerikaanse Dollar (USD)<\/option>\n        <option value=\"CAD\">Canadese dollar (CAD)<\/option>\n        <option value=\"AUD\">Australische dollar (AUD)<\/option>\n        <option value=\"GBP\">Britse pond (GBP)<\/option>\n        <option value=\"EUR\">Euro (EUR)<\/option>\n        <option value=\"SEK\">Zweedse kroon (SEK)<\/option>\n        <option value=\"NOK\">Noorse kroon (NOK)<\/option>\n        <option value=\"DKK\">Deense kroon (DKK)<\/option>\n        <option value=\"PLN\">Poolse z\u0142oty (PLN)<\/option>\n      <\/select>\n\n      <!-- Labor -->\n      <label for=\"labor\"><strong>Arbeidskosten:<\/strong><\/label>\n      <input id=\"labor\" type=\"text\" placeholder=\"$ 0\" style=\"width:100%;margin:6px 0 12px;\">\n      <details style=\"margin-bottom:16px;\">\n        <summary>Bereken arbeidskosten<\/summary>\n        <div style=\"display:grid;gap:8px;margin-top:10px;\">\n          <input id=\"labor-workers\" type=\"number\" min=\"0\" placeholder=\"Aantal werknemers\">\n          <input id=\"labor-hours\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Uren om de klus te voltooien\">\n          <input id=\"labor-rate\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Gemiddeld uurloon\">\n          <button id=\"calc-labor-btn\" class=\"button button--blue-grey mt-8\" type=\"button\">Gebruik in arbeidskosten<\/button>\n        <\/div>\n      <\/details>\n\n      <!-- Materials -->\n      <label for=\"materials\"><strong>Materiaalkosten:<\/strong><\/label>\n      <input id=\"materials\" type=\"text\" placeholder=\"$ 0\" style=\"width:100%;margin:6px 0 16px;\">\n\n      <!-- Overhead -->\n      <label for=\"overhead\"><strong>Overheadkosten:<\/strong><\/label>\n      <input id=\"overhead\" type=\"text\" placeholder=\"$ 0\" style=\"width:100%;margin:6px 0 12px;\">\n      <details style=\"margin-bottom:16px;\">\n        <summary>Bereken overheadkosten<\/summary>\n        <div style=\"display:grid;gap:8px;margin-top:10px;\">\n          <input id=\"oh-monthly\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Alle maandelijkse uitgaven\">\n          <input id=\"oh-monthly-hours\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Werkuren per maand\">\n          <input id=\"oh-job-hours\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"Uren om de klus te voltooien\">\n          <button id=\"calc-overhead-btn\" class=\"button button--blue-grey mt-8\" type=\"button\">Gebruik in overhead<\/button>\n        <\/div>\n      <\/details>\n\n      <!-- Price -->\n      <label for=\"price\"><strong>Serviceprijs:<\/strong><\/label>\n      <input id=\"price\" type=\"text\" placeholder=\"$ 0\" style=\"width:100%;margin:6px 0 8px;\">\n\n      <div class=\"mt-16\">\n        <button id=\"calc-btn\" class=\"button button--blue\" style=\"width: 100%\" type=\"button\">Berekenen<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- Right: Results -->\n    <div class=\"p-16 border-radius-8 bg-black text-white\">\n      <div style=\"font-weight:700;margin-bottom:8px;\">Winstmarge:<\/div>\n      <div id=\"marginPct\" style=\"font-size:44px;font-weight:800;line-height:1;margin-bottom:16px;\">0.00%<\/div>\n\n      <div style=\"display:flex;justify-content:space-between;margin-bottom:6px;\">\n        <span style=\"opacity:.9;\">Winst:<\/span>\n        <strong id=\"profitOut\">$0.00<\/strong>\n      <\/div>\n      <div style=\"display:flex;justify-content:space-between;margin-bottom:6px;\">\n        <span style=\"opacity:.9;\">Marge:<\/span>\n        <strong id=\"markupPct\">0.00%<\/strong>\n      <\/div>\n      <div style=\"display:flex;justify-content:space-between;opacity:.9;\">\n        <span>Kosten:<\/span>\n        <span id=\"costOut\">$0.00<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n  function profitMarginCalculator() {\n    const $ = id => document.getElementById(id)\n\n    function getCurrencyAffixes(ccy) {\n      const parts = new Intl.NumberFormat(undefined, {\n        style: 'currency',\n        currency: ccy,\n        currencyDisplay: 'symbol'\n      }).formatToParts(0)\n      const curIdx = parts.findIndex(p => p.type === 'currency')\n      const intIdx = parts.findIndex(p => p.type === 'integer')\n      const symbol = parts.find(p => p.type === 'currency')?.value ?? ''\n      const prefix = curIdx > -1 && intIdx > -1 && curIdx < intIdx ? symbol : ''\n      const suffix = curIdx > -1 && intIdx > -1 && curIdx > intIdx ? symbol : ''\n      return {\n        prefix,\n        suffix\n      }\n    }\n\n    function setCurrencyPlaceholders(ccy) {\n      const {\n        prefix,\n        suffix\n      } = getCurrencyAffixes(ccy)\n      const ph = prefix ? `${prefix} 0` : suffix ? `0 ${suffix}` : '0';\n      ['labor', 'materials', 'overhead', 'price'].forEach(id => {\n        const el = document.getElementById(id)\n        if (el) el.placeholder = ph\n      })\n    }\n\n    const toNum = v => {\n      if (!v) return 0\n      const n = v.replace(\/[^\\d,.\\-]\/g, '').replace(',', '.')\n      const x = parseFloat(n)\n      return isFinite(x) ? x : 0\n    }\n\n    const fmtMoney = (amt, ccy) =>\n      new Intl.NumberFormat(undefined, {\n        style: 'currency',\n        currency: ccy,\n        maximumFractionDigits: 2\n      }).format(amt)\n\n    const pct = v => `${(isFinite(v) ? v * 100 : 0).toFixed(2)}%`\n\n    function calculate() {\n      const ccy = $('currency')?.value || 'USD'\n      const labor = toNum($('labor')?.value)\n      const materials = toNum($('materials')?.value)\n      const overhead = toNum($('overhead')?.value)\n      const price = toNum($('price')?.value)\n\n      const cost = Math.max(0, labor + materials + overhead)\n      const profit = price - cost\n      const margin = price > 0 ? profit \/ price : 0\n      const markup = cost > 0 ? profit \/ cost : 0\n\n      if ($('marginPct')) $('marginPct').textContent = pct(margin)\n      if ($('profitOut')) $('profitOut').textContent = fmtMoney(profit, ccy)\n      if ($('markupPct')) $('markupPct').textContent = pct(markup)\n      if ($('costOut')) $('costOut').textContent = fmtMoney(cost, ccy)\n    }\n\n    function calcLabor() {\n      const workers = toNum($('labor-workers')?.value)\n      const hours = toNum($('labor-hours')?.value)\n      const rate = toNum($('labor-rate')?.value)\n      const total = Math.max(0, workers * hours * rate)\n      if ($('labor')) $('labor').value = total.toString()\n      calculate()\n    }\n\n    function calcOverhead() {\n      const monthly = toNum($('oh-monthly')?.value)\n      const monthlyHours = toNum($('oh-monthly-hours')?.value)\n      const jobHours = toNum($('oh-job-hours')?.value)\n      const hourlyOH = monthlyHours > 0 ? monthly \/ monthlyHours : 0\n      const total = Math.max(0, hourlyOH * jobHours)\n      if ($('overhead')) $('overhead').value = total.toString()\n      calculate()\n    }\n\n    ;\n    ['labor', 'materials', 'overhead', 'price', 'currency'].forEach(id => {\n      const el = $(id)\n      if (el) el.addEventListener('input', calculate)\n    })\n\n    $('calc-btn')?.addEventListener('click', calculate)\n    $('calc-labor-btn')?.addEventListener('click', calcLabor)\n    $('calc-overhead-btn')?.addEventListener('click', calcOverhead)\n\n    const calcContainer = $('profit-margin-calculator')\n    calcContainer?.addEventListener('keydown', e => {\n      if (e.key === 'Enter') {\n        e.preventDefault()\n        calculate()\n      }\n    })\n\n    const currencySel = $('currency')\n    if (currencySel) {\n      setCurrencyPlaceholders(currencySel.value)\n      currencySel.addEventListener('change', () => {\n        setCurrencyPlaceholders(currencySel.value)\n        calculate()\n      })\n    } else {\n      setCurrencyPlaceholders('USD')\n    }\n\n    calculate()\n  }\n\n  setTimeout(() => profitMarginCalculator(), 2000)\n<\/script>\n\n\n<p><br\/><strong>Ben je het zat om te gokken naar je marges?<\/strong> Probeer <a href=\"https:\/\/remato.com\/nl\/\" data-type=\"page\" data-id=\"13269\">Remato<\/a> en houd elk project winstgevend.<\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Veelgestelde vragen<\/h2>\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1755093314400\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Wat is een marge calculator?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Een <a href=\"https:\/\/www.investopedia.com\/terms\/p\/profitmargin.asp\" target=\"_blank\" rel=\"noopener\">marge calculator<\/a> is een hulpmiddel waarmee je de winstmarge en opslag van een product of dienst kunt bepalen door de verkoopprijs te vergelijken met de totale kosten.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1755093333827\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Hoe gebruik ik deze marge calculator?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Voer je arbeids-, materiaal- en overheadkosten in en voeg vervolgens je verkoopprijs toe. De calculator toont direct je totale kosten, winst, margepercentage en opslagpercentage.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1755093334544\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Wat is het verschil tussen marge en opslag?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Marge is het percentage van de verkoopprijs dat winst is, terwijl opslag het percentage is dat aan je kosten wordt toegevoegd om tot de verkoopprijs te komen. Lees meer over <a href=\"https:\/\/www.freshbooks.com\/en-gb\/hub\/pricing\/markup-vs-margin\" target=\"_blank\" rel=\"noopener\">opslag vs marge<\/a> in deze gids.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1755093335143\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Kan ik deze calculator gebruiken voor bouwprojecten?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ja &#8211; hij is ontworpen met bouw en ambachten in gedachten, maar werkt voor elk bedrijf dat marges en opslag moet berekenen.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1755093336194\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Waarom zou ik marges voor elk project bijhouden?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Het bijhouden van marges helpt ervoor te zorgen dat je projecten winstgevend blijven, stelt je in staat concurrerender te prijzen en geeft je een duidelijk beeld van waar je geld naartoe gaat.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1755093454093\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Wat zijn overheadkosten in de marge calculator?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Overheadkosten zijn de indirecte kosten van het runnen van je bedrijf die niet aan een specifiek project zijn gekoppeld, maar nog steeds gedekt moeten worden. In de bouw omvat dit zaken als kantoohuur, nutsvoorzieningen, verzekeringen, softwareabonnementen, afschrijving van apparatuur en administratieve salarissen. Met de marge calculator kun je een eerlijk deel van deze kosten voor elke klus meenemen, zodat je prijzen niet alleen directe arbeid en materialen dekken, maar ook de kosten om je bedrijf draaiende te houden.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2 class=\"wp-block-heading\">Waarom een winstmarge calculator gebruiken?<\/h2>\n\n<p>Gokken naar marges of ruwe schattingen gebruiken kan leiden tot te lage prijzen, verloren winst en onaangename verrassingen aan het einde van een project. Dit hulpmiddel helpt je:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Direct je winstmarge en opslag zien<\/li>\n\n\n\n<li>Nauwkeurig rekening houden met arbeid, materialen en overhead<\/li>\n\n\n\n<li>Verschillende prijsscenario&#8217;s vergelijken<\/li>\n\n\n\n<li>Voorkomen dat je te weinig rekent voor klussen<\/li>\n\n\n\n<li>Ge\u00efnformeerde prijsbeslissingen nemen<\/li>\n<\/ul>\n\n<p>Handmatige margeberekeningen zijn prima voor eenmalige klussen &#8211; maar als je meerdere projecten uitvoert of regelmatig prijzen bepaalt, bespaart automatisering tijd en verbetert het de nauwkeurigheid. Remato helpt je de echte cijfers vast te leggen die je marge voeden:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Mobiel in- en uitklokken (met optionele geofence)<\/li>\n\n\n\n<li>Automatische totalen voor reguliere en overuren<\/li>\n\n\n\n<li>Registratie van voltooid werk\/hoeveelheden en voortgang op de bouwplaats<\/li>\n\n\n\n<li>Foto&#8217;s, notities en dagelijkse rapporten van de bouwplaats<\/li>\n\n\n\n<li>Gecentraliseerde urenstaten en activiteitenrapporten per medewerker of project (exportklaar)<\/li>\n<\/ul>\n\n<p>Gebruik de calculator om met vertrouwen te prijzen &#8211; en gebruik Remato om de <strong>uren en voltooide hoeveelheden<\/strong> nauwkeurig te houden terwijl het werk vordert.<\/p>\n\n<h2 class=\"wp-block-heading\">Gebouwd voor bouw- en veldbedrijven<\/h2>\n\n<p>Remato is gemaakt voor bedrijven die in het veld werken &#8211; bouw, onderhoud, serviceteams en meer. Het is makkelijk op te zetten, simpel in gebruik en werkt op elk apparaat.<\/p>\n\n<p>Begin met vertrouwen offertes te maken, bescherm je winst en krijg volledig inzicht in je cijfers.<\/p>\n\n<p><strong>Probeer <a href=\"https:\/\/remato.com\/nl\/ploegbeheer\/\" data-type=\"page\" data-id=\"4494\">Remato personeelsbeheer<\/a> gratis en houd elk project winstgevend<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Onze gratis marge calculator helpt je snel de winstmarge, opslag en totale kosten voor elke klus te berekenen. Of je nu prijzen berekent voor bouwprojecten, diensten of producten, voer gewoon je arbeids-, materiaal- en overheadkosten in, samen met je verkoopprijs. De calculator toont direct je winstmarge en opslag, zodat je prijzen kunt bepalen die je [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[314],"tags":[],"class_list":["post-24650","post","type-post","status-publish","format-standard","hentry","category-sjablonen-tools"],"acf":[],"metadata":{"blog_post_read_time":"3 min leestijd"},"category_objects":[{"term_id":314,"name":"Sjablonen &amp; Tools","slug":"sjablonen-tools","term_group":0,"term_taxonomy_id":314,"taxonomy":"category","description":"","parent":0,"count":10,"filter":"raw","cat_ID":314,"category_count":10,"category_description":"","cat_name":"Sjablonen &amp; Tools","category_nicename":"sjablonen-tools","category_parent":0}],"image":null,"excerpt_raw":"","formatted_date":"13 augustus 2025","_links":{"self":[{"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/posts\/24650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/comments?post=24650"}],"version-history":[{"count":1,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/posts\/24650\/revisions"}],"predecessor-version":[{"id":24652,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/posts\/24650\/revisions\/24652"}],"wp:attachment":[{"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/media?parent=24650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/categories?post=24650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/remato.com\/nl\/wp-json\/wp\/v2\/tags?post=24650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}