{"id":33869,"date":"2026-09-09T10:19:47","date_gmt":"2026-09-09T09:19:47","guid":{"rendered":"https:\/\/www.jobfunders.com\/?page_id=33869"},"modified":"2026-10-08T14:22:00","modified_gmt":"2026-10-08T13:22:00","slug":"rekruteringskosten-calculator","status":"publish","type":"page","link":"https:\/\/www.jobfunders.com\/en\/rekruteringskosten-calculator\/","title":{"rendered":"Recruitment cost calculator: what does hiring cost?"},"content":{"rendered":"<p>[et_pb_section fb_built=\u201d1\u2033 fullwidth=\u201don\u201d admin_label=\u201dJFQ hero\u201d _builder_version=\u201d4.27.4\u2033 custom_padding=\u201d0px|0px|0px|0px\u201d custom_margin=\u201d0px|0px|0px|0px\u201d][et_pb_fullwidth_code admin_label=\u201dJFQ hero code\u201d _builder_version=\u201d4.27.4\u2033]<\/p>\n<style>\n  .jfq { --paper:#FAF8F4; --card:#FFFFFF; --ink:#26303F; --soft:#5A6478; --navy9:#232E42; --or0:#FBF3E6; --or5:#E1993B; --or6:#C97F26; --line:#E6E1D8; --good:#2E7D5B; --half:#B07E1E; --bad:#B0503C; }\n  .jfq, .jfq * { box-sizing:border-box; margin:0; padding:0; }\n  .jfq { background:var(--paper); color:var(--ink); font-family:'Poppins',Helvetica,Arial,sans-serif; font-size:16px; line-height:1.65; }\n  .jfq .wrap { max-width:1180px; margin:0 auto; padding:0 24px; }\n  .jfq .eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--or5); background:rgba(225,153,59,0.16); border-radius:999px; padding:6px 14px; margin-bottom:16px; }\n  .jfq .hero { background:var(--navy9); color:#EDF0F6; padding:64px 0 84px; text-align:center; }\n  .jfq .hero h1 { font-size:clamp(28px,4vw,42px); font-weight:800; color:#FFFFFF; text-wrap:balance; }\n  .jfq .hero .sub { margin:14px auto 0; max-width:60ch; color:#C2CBDC; }\n  .jfq .tool { max-width:1180px; margin:-46px auto 0; padding:0 24px 60px; }\n  .jfq .paneel { background:var(--card); border-radius:20px; box-shadow:0 24px 60px rgba(35,46,66,.16); padding:34px 38px; }\n  .jfq .modus { display:flex; gap:8px; margin-bottom:26px; max-width:560px; }\n  .jfq .modus button { flex:1; padding:13px; border:1.5px solid var(--line); background:#FFFFFF; border-radius:12px; font:inherit; font-weight:700; font-size:15px; color:var(--soft); cursor:pointer; }\n  .jfq .modus button.aan { background:var(--navy9); border-color:var(--navy9); color:#FFFFFF; }\n  .jfq .modus button:focus-visible { outline:3px solid var(--or5); outline-offset:2px; }\n  .jfq .invoer { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }\n  .jfq .veld label { display:block; font-size:12.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--soft); margin-bottom:8px; }\n  .jfq .veld output { float:right; font-weight:800; color:var(--navy9); font-size:14px; }\n  .jfq .veld input[type=range] { -webkit-appearance:none; appearance:none; width:100%; height:6px; background:var(--line); border-radius:999px; outline:none; }\n  .jfq .veld input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--or5); cursor:pointer; border:0; box-shadow:0 2px 6px rgba(35,46,66,.25); }\n  .jfq .veld input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--or5); cursor:pointer; border:0; }\n  .jfq .veld input[type=range]::-moz-range-track { height:6px; background:var(--line); border-radius:999px; }\n  .jfq .kaarten { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:32px; }\n  .jfq .kaart { border:1.5px solid var(--line); border-radius:16px; padding:20px 18px; display:flex; flex-direction:column; }\n  .jfq .kaart.jf { border-color:var(--or5); background:linear-gradient(180deg, #FFF9F0, #FFFFFF); position:relative; }\n  .jfq .kaart.jf::before { content:\"JobFunders\"; position:absolute; top:-11px; left:14px; background:var(--or5); color:#FFFFFF; font-size:11px; font-weight:800; letter-spacing:.06em; border-radius:999px; padding:3px 12px; }\n  .jfq .kaart h3 { font-size:14.5px; font-weight:700; color:var(--navy9); }\n  .jfq .kaart .prijs { font-size:23px; font-weight:800; color:var(--navy9); margin-top:8px; font-variant-numeric:tabular-nums; }\n  .jfq .kaart.jf .prijs { color:var(--or6); }\n  .jfq .kaart .detail { font-size:12px; color:var(--soft); margin-top:4px; min-height:52px; }\n  .jfq .kaart .staaf { height:8px; border-radius:6px; background:#E9E4DA; margin-top:12px; overflow:hidden; }\n  .jfq .kaart .staaf i { display:block; height:100%; background:var(--navy9); border-radius:6px; }\n  .jfq .kaart.jf .staaf i { background:var(--or5); }\n  .jfq .kaart ul.feats { list-style:none; margin-top:12px; border-top:1px dashed var(--line); padding-top:10px; font-size:12px; color:var(--soft); }\n  .jfq .kaart ul.feats li { margin-bottom:5px; line-height:1.45; }\n  .jfq .kaart ul.feats .ja { color:var(--good); font-weight:700; }\n  .jfq .kaart ul.feats .half { color:var(--half); font-weight:700; }\n  .jfq .kaart ul.feats .nee { color:var(--bad); font-weight:700; }\n  .jfq .besparing { margin-top:28px; background:var(--navy9); border-radius:16px; padding:22px 30px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; color:#C2CBDC; }\n  .jfq .besparing b { display:block; font-size:30px; font-weight:800; color:#FFD9A0; font-variant-numeric:tabular-nums; }\n  .jfq .besparing .cta { background:var(--or5); color:#FFFFFF; font-weight:700; border-radius:10px; padding:13px 24px; text-decoration:none; }\n  .jfq .besparing .cta:hover { background:var(--or6); }\n  .jfq .b-acties { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }\n  .jfq .b-acties br { display:none; }\n  .jfq .besparing .cta-lijn { border:1.5px solid rgba(255,255,255,.4); color:#FFFFFF; font-weight:700; border-radius:10px; padding:12px 20px; text-decoration:none; }\n  .jfq .besparing .cta-lijn:hover { border-color:#FFFFFF; }\n  .jfq .tijdtoggle { display:flex; align-items:center; gap:10px; margin-top:26px; font-size:14px; color:var(--soft); cursor:pointer; }\n  .jfq .tijdtoggle b { color:var(--navy9); }\n  .jfq .tijdtoggle input { width:18px; height:18px; accent-color:var(--or5); cursor:pointer; }\n  .jfq .kaart .urenlijn { margin-top:10px; font-size:12px; color:var(--half); font-weight:600; }\n  .jfq .modusnoot { margin-top:14px; font-size:13px; color:#9AA3B5; }\n  .jfq .modusnoot b { color:var(--soft); }\n  .jfq .aannames { margin-top:22px; }\n  .jfq .aannames summary { cursor:pointer; font-size:14px; font-weight:700; color:var(--or6); }\n  .jfq .aannames .a-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:16px; }\n  .jfq .aannames .bron { margin-top:14px; font-size:12.5px; color:#9AA3B5; }\n  .jfq .kaarten br, .jfq .invoer br, .jfq .a-grid br, .jfq .modus br, .jfq .besparing br, .jfq .feats br { display:none; }\n  .jfq [hidden] { display:none !important; }\n  @media (max-width:1000px){ .jfq .kaarten { grid-template-columns:repeat(2,1fr); } .jfq .aannames .a-grid { grid-template-columns:repeat(2,1fr); } }\n  @media (max-width:640px){ .jfq .kaarten, .jfq .invoer, .jfq .aannames .a-grid { grid-template-columns:1fr; } }\n<\/style>\n<div class=\"jfq\">\n<section class=\"hero\">\n<div class=\"wrap\">\n    <span class=\"eyebrow\">Free calculator<\/span><\/p>\n<h1>What does hiring really cost you?<\/h1>\n<pee class=\"sub\">Compare in 10 seconds what your hires cost via job boards, a recruitment agency, social media, an ATS, or JobFunders \u2014 in euros and in your own time.<\/pee>\n  <\/div>\n<\/section>\n<div class=\"tool\">\n<div class=\"paneel\">\n<div class=\"modus\">\n      <button id=\"q-m-vast\" class=\"aan\" type=\"button\">Permanent employment<\/button><button id=\"q-m-interim\" type=\"button\">First on an interim basis<\/button>\n    <\/div>\n<div class=\"invoer\">\n<div class=\"veld\"><label for=\"q-loon\">Gross monthly salary position <output id=\"qo-loon\">\u20ac3,750<\/output><\/label><input type=\"range\" id=\"q-loon\" min=\"2200\" max=\"8000\" step=\"50\" value=\"3750\"><\/div>\n<div class=\"veld\" id=\"qv-hires\"><label for=\"q-hires\">Recruitments per year <output id=\"qo-hires\">3<\/output><\/label><input type=\"range\" id=\"q-hires\" min=\"1\" max=\"30\" step=\"1\" value=\"3\"><\/div>\n<div class=\"veld\" id=\"qv-mnd\" hidden><label for=\"q-mnd\">Interim period <output id=\"qo-mnd\">6 months<\/output><\/label><input type=\"range\" id=\"q-mnd\" min=\"1\" max=\"12\" step=\"1\" value=\"6\"><\/div>\n<\/p><\/div>\n<p>    <label class=\"tijdtoggle\"><input type=\"checkbox\" id=\"q-incl-tijd\" checked> <b>Cost calculation incl. own time spent<\/b> \u2014 your HR hours count towards the hourly rate from the assumptions<\/label><\/p>\n<div class=\"kaarten\" id=\"q-kaarten\"><\/div>\n<pee class=\"modusnoot\" id=\"q-interimnoot\" hidden>For a pure comparison, we only show the cost. <b>on top of your normal labor costs<\/b> (gross salary \u00d7 wage cost factor, adjustable in the assumptions) \u2014 you bear that cost in every route.<\/pee>\n<div class=\"besparing\">\n<div>With JobFunders, you save compared to the most expensive alternative.<b id=\"qo-besparing\">\u20ac \u2014<\/b><\/div>\n<div class=\"b-acties\"><a class=\"cta\" href=\"https:\/\/www.jobfunders.com\/nl\/demo\/?utm_source=website&#038;utm_campaign=kosten-calculator&#038;utm_content=besparing-cta\">Book a free demo \u2192<\/a><a class=\"cta-lijn\" href=\"https:\/\/www.jobfunders.com\/nl\/werkgevers\/?utm_source=website&#038;utm_campaign=kosten-calculator&#038;utm_content=besparing-formules#jf-prijzen\">View all plans<\/a><\/div>\n<\/p><\/div>\n<details class=\"aannames\">\n<summary>Assumptions \u2014 feel free to adjust them<\/summary>\n<div class=\"a-grid\">\n<div class=\"veld\"><label for=\"q-fee\">Fee selection agency <output id=\"qo-fee\">22%<\/output><\/label><input type=\"range\" id=\"q-fee\" min=\"15\" max=\"30\" step=\"1\" value=\"22\"><\/div>\n<div class=\"veld\"><label for=\"q-coefK\">Interim agency coefficient <output id=\"qo-coefK\">2,10<\/output><\/label><input type=\"range\" id=\"q-coefK\" min=\"180\" max=\"240\" step=\"5\" value=\"210\"><\/div>\n<div class=\"veld\"><label for=\"q-coefP\">Coefficient payrolling via interim (JF route) <output id=\"qo-coefP\">1,60<\/output><\/label><input type=\"range\" id=\"q-coefP\" min=\"140\" max=\"190\" step=\"5\" value=\"160\"><\/div>\n<div class=\"veld\"><label for=\"q-board\">Job board per vacancy (60 days) <output id=\"qo-board\">\u20ac990<\/output><\/label><input type=\"range\" id=\"q-board\" min=\"500\" max=\"2500\" step=\"10\" value=\"990\"><\/div>\n<div class=\"veld\"><label for=\"q-social\">Social media budget per vacancy <output id=\"qo-social\">\u20ac1,000<\/output><\/label><input type=\"range\" id=\"q-social\" min=\"250\" max=\"3000\" step=\"250\" value=\"1000\"><\/div>\n<div class=\"veld\"><label for=\"q-ats\">ATS license per month <output id=\"qo-ats\">\u20ac250<\/output><\/label><input type=\"range\" id=\"q-ats\" min=\"60\" max=\"600\" step=\"10\" value=\"250\"><\/div>\n<div class=\"veld\"><label for=\"q-wf\">Wage cost factor on gross salary (social security contributions + fringe benefits) <output id=\"qo-wf\">1,27<\/output><\/label><input type=\"range\" id=\"q-wf\" min=\"120\" max=\"150\" step=\"1\" value=\"127\"><\/div>\n<div class=\"veld\"><label for=\"q-uur\">Internal HR cost per hour <output id=\"qo-uur\">\u20ac50<\/output><\/label><input type=\"range\" id=\"q-uur\" min=\"30\" max=\"90\" step=\"5\" value=\"50\"><\/div>\n<div class=\"veld\"><label for=\"q-appr\">Approved candidates per hire <output id=\"qo-appr\">5<\/output><\/label><input type=\"range\" id=\"q-appr\" min=\"2\" max=\"10\" step=\"1\" value=\"5\"><\/div>\n<\/p><\/div>\n<pee class=\"bron\">Defaults based on market averages in Flanders; gross annual salary = monthly salary \u00d7 13.92 (incl. holiday allowance and end-of-year bonus). Own HR hours per hire: see the time table below. JobFunders prices excl. VAT \u2014 view <a href=\"https:\/\/www.jobfunders.com\/nl\/werkgevers\/\" style=\"color:#C97F26; font-weight:700;\">all formulas on the employer page<\/a>. Would you prefer one specific alternative besides JobFunders? View the <a href=\"https:\/\/www.jobfunders.com\/nl\/vergelijk\/\" style=\"color:#C97F26; font-weight:700;\">one-to-one comparisons<\/a>.<\/pee>\n    <\/details>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p><script>\n(function () {\n  var E = function (id) { return document.getElementById(id); };\n  if (!E('q-kaarten')) { return; }\n  var modus = 'vast';\n  var EN = location.pathname.indexOf('\/en\/') === 0;\n  var T = function (nl, en) { return EN ? en : nl; };\n  var eur = function (n) { return '\u20ac ' + Math.round(n).toLocaleString(EN ? 'en-GB' : 'nl-BE'); };\n  var UREN = { jobboards: 20, social: 27, ats: 40, selectie: 10, interimK: 10, jf: 9 };\n  function lees() {\n    return {\n      loon: +E('q-loon').value, hires: +E('q-hires').value, mnd: +E('q-mnd').value,\n      fee: +E('q-fee').value \/ 100, coefK: +E('q-coefK').value \/ 100, coefP: +E('q-coefP').value \/ 100,\n      board: +E('q-board').value, social: +E('q-social').value, ats: +E('q-ats').value,\n      uur: +E('q-uur').value, appr: +E('q-appr').value, wf: +E('q-wf').value \/ 100, inclTijd: E('q-incl-tijd').checked,\n    };\n  }\n  function jfAbo(hires) {\n    var slots = Math.min(5, Math.max(1, Math.ceil(hires \/ 5)));\n    var abos = { 1: [1500, 'Solo'], 2: [2750, 'Duo'], 3: [4000, 'Team'], 4: [5000, 'Team+'], 5: [6000, 'Scale'] };\n    return { prijs: abos[slots][0], naam: abos[slots][1], slots: slots };\n  }\n  function feats(actief, screening, garantie, extra) {\n    var iconen = { ja: '\u2713', half: '~', nee: '\u2717' };\n    var rij = function (p) { return '<\/p>\n<li><span class=\"' + p[0] + '\">' + iconen[p[0]] + '<\/span> ' + p[1] + '<\/li>\n<p>'; };\n    return '<\/p>\n<ul class=\"feats\">' + rij(actief) + rij(screening) + rij(garantie) + (extra ? rij(extra) : '') + '<\/ul>\n<p>';\n  }\n  function bereken() {\n    var v = lees();\n    var jaarloon = v.loon * 13.92;\n    var cf = function (x) { return x.toFixed(2).replace('.', ','); };\n    var kaarten;\n    if (modus === 'vast') {\n      var abo = jfAbo(v.hires);\n      var perMatch = v.hires * v.appr * 100;\n      var jfFactuur = Math.min(abo.prijs, perMatch);\n      var jfDetail = jfFactuur === abo.prijs ? abo.naam + T('-abonnement (', '-subscription (') + abo.slots + ' slot' + (abo.slots > 1 ? 's' : '') + T(', &plusmn;5 vacatures per slot\/jaar) met matchgarantie', ', &plusmn;5 vacancies per slot\/year) with match guarantee') : v.appr + T(' goedgekeurde kandidaten &times; &euro;100 per aanwerving', ' approved candidates &times; &euro;100 per hire');\n      kaarten = [\n        { naam: T('Jobboards', 'Job boards'), basis: v.board * v.hires, urenPer: UREN.jobboards, detail: eur(v.board) + T(' per vacature (60 dagen)', ' per vacancy (60 days)'), f: feats(['nee', T('Passief wachten', 'Passive waiting')], ['nee', T('Zelf screenen', 'Screen yourself')], ['nee', T('Geen instroomgarantie', 'No inflow guarantee')]) },\n        { naam: T('Selectiekantoor', 'Recruitment agency'), basis: v.fee * jaarloon * v.hires, urenPer: UREN.selectie, detail: Math.round(v.fee * 100) + T('% van het bruto jaarloon per aanwerving', '% of the gross annual salary per hire'), f: feats(['half', T('Manueel zoeken', 'Manual search')], ['ja', T('Door consultant', 'By a consultant')], ['ja', T('Betalen bij aanwerving', 'Pay on hire')]) },\n        { naam: T('Vast na 6 maand interim', 'Permanent after 6 months of temping'), basis: Math.max(0, v.coefK - v.wf) * v.loon * 6 * v.hires, urenPer: UREN.interimK, detail: T('marge bovenop je normale loonkost (brutoloon &times; ', 'margin on top of your normal payroll cost (gross salary &times; ') + cf(v.wf) + T(' loonkostfactor) tijdens 6 mnd interim, daarna kosteloze overname', ' payroll-cost factor) during 6 months of temping, then free takeover'), f: feats(['half', T('Manueel zoeken', 'Manual search')], ['ja', T('Door consultant', 'By a consultant')], ['half', T('Vervanggarantie varieert', 'Replacement guarantee varies')]) },\n        { naam: 'Social media', basis: v.social * v.hires, urenPer: UREN.social, detail: eur(v.social) + T(' mediabudget per vacature', ' media budget per vacancy'), f: feats(['nee', T('Enkel met expertise', 'Only with expertise')], ['nee', T('Geen screening', 'No screening')], ['nee', T('Budget zonder garantie', 'Budget without guarantee')]) },\n        { naam: T('Zelf met ATS', 'DIY with an ATS'), basis: v.ats * 12, urenPer: UREN.ats, detail: eur(v.ats) + T('\/maand licentie &mdash; sourcing niet inbegrepen: zelf zoeken, &oacute;f daarbovenop nog jobboard-abonnementen of een kantoor', '\/month licence &mdash; sourcing not included: search yourself, or add job-board subscriptions or an agency on top'), f: feats(['nee', T('Geen sourcing', 'No sourcing')], ['half', T('Zelf filteren', 'Filter yourself')], ['nee', T('Enkel software', 'Software only')]) },\n        { naam: 'JobFunders', basis: jfFactuur, urenPer: UREN.jf, detail: jfDetail, jf: true, f: feats(['ja', T('24\/7 automatisch zoeken', '24\/7 automatic sourcing')], ['ja', T('Automatisch op jouw criteria', 'Automatic, on your criteria')], ['ja', T('Matchgarantie of &euro;100\/match', 'Match guarantee or &euro;100\/match')], ['ja', T('Gratis ATS inbegrepen', 'Free ATS included')]) },\n      ];\n    } else {\n      var basisLoon = v.loon * v.mnd * v.hires;\n      var pay = Math.max(0, v.coefP - v.wf) * basisLoon;\n      var jfMatch = Math.min(jfAbo(v.hires).prijs, v.hires * v.appr * 100);\n      kaarten = [\n        { naam: T('Interimkantoor (klassiek)', 'Temp agency (classic)'), basis: Math.max(0, v.coefK - v.wf) * basisLoon, urenPer: UREN.interimK, detail: T('marge bovenop je normale loonkost: (co&euml;ffici&euml;nt ', 'margin on top of your normal payroll cost: (coefficient ') + cf(v.coefK) + T(' &minus; loonkostfactor ', ' &minus; payroll-cost factor ') + cf(v.wf) + ') &times; ' + T('brutoloon', 'gross salary') + ' &times; ' + v.mnd + T(' mnd', ' months'), f: feats(['half', T('Manueel zoeken', 'Manual search')], ['ja', T('Door consultant', 'By a consultant')], ['half', T('Vervanggarantie varieert', 'Replacement guarantee varies')]) },\n        { naam: T('Jobboards + interim-payrolling', 'Job boards + temp payrolling'), basis: v.board * v.hires + pay, urenPer: UREN.jobboards, detail: eur(v.board) + T('\/vacature + interim-payrollingmarge (co&euml;ff. ', '\/vacancy + temp-payrolling margin (coeff. ') + cf(v.coefP) + ' &minus; ' + cf(v.wf) + ')', f: feats(['nee', T('Passief wachten', 'Passive waiting')], ['nee', T('Zelf screenen', 'Screen yourself')], ['nee', T('Geen instroomgarantie', 'No inflow guarantee')]) },\n        { naam: T('Social media + interim-payrolling', 'Social media + temp payrolling'), basis: v.social * v.hires + pay, urenPer: UREN.social, detail: eur(v.social) + T(' mediabudget\/vacature + interim-payrollingmarge (co&euml;ff. ', ' media budget\/vacancy + temp-payrolling margin (coeff. ') + cf(v.coefP) + ' &minus; ' + cf(v.wf) + ')', f: feats(['nee', T('Enkel met expertise', 'Only with expertise')], ['nee', T('Geen screening', 'No screening')], ['nee', T('Budget zonder garantie', 'Budget without guarantee')]) },\n        { naam: T('Zelf met ATS + interim-payrolling', 'DIY ATS + temp payrolling'), basis: v.ats * 12 + pay, urenPer: UREN.ats, detail: eur(v.ats) + T('\/mnd licentie (sourcing niet inbegrepen: zelf zoeken &oacute;f jobboards\/kantoor erbovenop) + interim-payrollingmarge (co&euml;ff. ', '\/month licence (sourcing not included: search yourself or add job boards\/an agency) + temp-payrolling margin (coeff. ') + cf(v.coefP) + ' &minus; ' + cf(v.wf) + ')', f: feats(['nee', T('Geen sourcing', 'No sourcing')], ['half', T('Zelf filteren', 'Filter yourself')], ['nee', T('Enkel software', 'Software only')]) },\n        { naam: T('JobFunders + interim-payrolling', 'JobFunders + temp payrolling'), basis: jfMatch + pay, urenPer: UREN.jf, detail: T('JobFunders-matchprijs + interim-payrollingmarge (co&euml;ff. ', 'JobFunders match price + temp-payrolling margin (coeff. ') + cf(v.coefP) + ' &minus; ' + cf(v.wf) + ')', jf: true, f: feats(['ja', T('24\/7 automatisch zoeken', '24\/7 automatic sourcing')], ['ja', T('Automatisch op jouw criteria', 'Automatic, on your criteria')], ['ja', T('Matchgarantie of &euro;100\/match', 'Match guarantee or &euro;100\/match')], ['ja', T('Gratis ATS inbegrepen', 'Free ATS included')]) },\n      ];\n    }\n    kaarten.forEach(function (k) {\n      k.urenKost = k.urenPer * v.uur * v.hires;\n      k.kost = k.basis + (v.inclTijd ? k.urenKost : 0);\n      k.urenlijn = v.inclTijd\n        ? T('waarvan ', 'of which ') + eur(k.urenKost) + T(' eigen tijd (&plusmn;', ' own time (&plusmn;') + k.urenPer + T('u\/aanwerving)', 'h\/hire)')\n        : '+ ' + eur(k.urenKost) + T(' eigen tijd komt er nog bij (&plusmn;', ' own time still comes on top (&plusmn;') + k.urenPer + T('u\/aanwerving)', 'h\/hire)');\n    });\n    var max = Math.max.apply(null, kaarten.map(function (k) { return k.kost; }));\n    E('q-kaarten').innerHTML = kaarten.map(function (k) {\n      return '<\/p>\n<div class=\"kaart' + (k.jf ? ' jf' : '') + '\">\n<h3>' + k.naam + '<\/h3>\n<div class=\"prijs\">' + eur(k.kost) + '<\/div>\n<div class=\"detail\">' + k.detail + '<\/div>\n<div class=\"urenlijn\">\u23f1 ' + k.urenlijn + '<\/div>\n<div class=\"staaf\"><i style=\"width:' + Math.max(6, k.kost \/ max * 100) + '%\"><\/i><\/div>\n<p>' + k.f + '<\/p><\/div>\n<p>';\n    }).join('');\n    var jfKost = kaarten.filter(function (k) { return k.jf; })[0].kost;\n    E('qo-besparing').textContent = eur(max - jfKost) + (modus === 'vast' ? T(' per jaar', ' per year') : ' over ' + v.mnd + T(' maanden', ' months'));\n    E('qo-loon').textContent = eur(v.loon);\n    E('qo-hires').textContent = v.hires;\n    E('qo-mnd').textContent = v.mnd + T(' mnd', ' mo');\n    E('qo-fee').textContent = Math.round(v.fee * 100) + '%';\n    E('qo-coefK').textContent = cf(v.coefK);\n    E('qo-coefP').textContent = cf(v.coefP);\n    E('qo-board').textContent = eur(v.board);\n    E('qo-social').textContent = eur(v.social);\n    E('qo-ats').textContent = eur(v.ats);\n    E('qo-uur').textContent = eur(v.uur);\n    E('qo-appr').textContent = v.appr;\n    E('qo-wf').textContent = cf(v.wf);\n  }\n  ['q-loon', 'q-hires', 'q-mnd', 'q-fee', 'q-coefK', 'q-coefP', 'q-board', 'q-social', 'q-ats', 'q-uur', 'q-appr', 'q-wf', 'q-incl-tijd'].forEach(function (id) { E(id).addEventListener('input', bereken); });\n  E('q-m-vast').addEventListener('click', function () { modus = 'vast'; E('q-m-vast').classList.add('aan'); E('q-m-interim').classList.remove('aan'); E('qv-mnd').hidden = true; E('q-interimnoot').hidden = true; bereken(); });\n  E('q-m-interim').addEventListener('click', function () { modus = 'interim'; E('q-m-interim').classList.add('aan'); E('q-m-vast').classList.remove('aan'); E('qv-mnd').hidden = false; E('q-interimnoot').hidden = false; bereken(); });\n  bereken();\n})();\n<\/script>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=\u201d1\u2033 fullwidth=\u201don\u201d admin_label=\u201dJFQ time\u201d _builder_version=\u201d4.27.4\u2033 custom_padding=\u201d0px|0px|0px|0px\u201d custom_margin=\u201d0px|0px|0px|0px\u201d][et_pb_fullwidth_code admin_label=\u201dJFQ time code\u201d _builder_version=\u201d4.27.4\u2033]<\/p>\n<style>\n  .jfq .tijd { max-width:1180px; margin:0 auto; padding:0 24px 60px; }\n  .jfq .tijd h2 { font-size:clamp(22px,3vw,30px); font-weight:800; color:var(--navy9); }\n  .jfq .schuif { overflow-x:auto; border-radius:14px; box-shadow:0 10px 30px rgba(35,46,66,.06); margin-top:20px; background:#FFFFFF; }\n  .jfq .tijd table { width:100%; min-width:860px; border-collapse:collapse; background:#FFFFFF; font-size:13.5px; }\n  .jfq .tijd th, .jfq .tijd td { padding:11px 13px; text-align:center; border-bottom:1px solid #F1EEE7; }\n  .jfq .tijd th { background:var(--navy9); color:#FFFFFF; font-weight:700; font-size:12.5px; }\n  .jfq .tijd td:first-child, .jfq .tijd th:first-child { text-align:left; }\n  .jfq .tijd tr.totaal td { font-weight:800; color:var(--navy9); background:var(--or0); }\n  .jfq .jfkol { color:var(--or6); font-weight:700; }\n  .jfq .noot { margin-top:12px; font-size:12.5px; color:#9AA3B5; }\n<\/style>\n<div class=\"jfq\">\n<section class=\"tijd\">\n<h2>And your own time? That counts too.<\/h2>\n<div class=\"schuif\">\n<table>\n<thead>\n<tr>\n<th>Per recruitment<\/th>\n<th>Job boards<\/th>\n<th>Social media<\/th>\n<th>Even with ATS<\/th>\n<th>Selection agency<\/th>\n<th>Interim agency<\/th>\n<th class=\"jfkol\">JobFunders<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Drafting the vacancy &amp; briefing<\/td>\n<td>\u00b12 hours<\/td>\n<td>\u00b13 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td class=\"jfkol\">\u00b11 hour \u2014 via Jobby<\/td>\n<\/tr>\n<tr>\n<td>Sourcing &amp; managing campaigns<\/td>\n<td>0h \u2014 passive waiting<\/td>\n<td>\u00b18 hours<\/td>\n<td>\u00b14pm<\/td>\n<td>0am<\/td>\n<td>0am<\/td>\n<td class=\"jfkol\">0h \u2014 24\/7 automatic<\/td>\n<\/tr>\n<tr>\n<td>Outreach &amp; candidate follow-up<\/td>\n<td>\u00b16 hours<\/td>\n<td>\u00b16 hours<\/td>\n<td>\u00b110h<\/td>\n<td>\u00b12 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td class=\"jfkol\">\u00b12h \u2014 you chat directly<\/td>\n<\/tr>\n<tr>\n<td>Assessing screening &amp; pre-selection<\/td>\n<td>\u00b18 hours \u2014 everything yourself<\/td>\n<td>\u00b16 hours<\/td>\n<td>\u00b18 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td>\u00b12 hours<\/td>\n<td class=\"jfkol\">\u00b12 hours<\/td>\n<\/tr>\n<tr>\n<td>Holding conversations<\/td>\n<td>\u00b14 hours<\/td>\n<td>\u00b14 hours<\/td>\n<td>\u00b14 hours<\/td>\n<td>\u00b14 hours<\/td>\n<td>\u00b14 hours<\/td>\n<td class=\"jfkol\">\u00b14 hours<\/td>\n<\/tr>\n<tr class=\"totaal\">\n<td>Total<\/td>\n<td>\u00b120h<\/td>\n<td>\u00b127h<\/td>\n<td>\u00b140h<\/td>\n<td>\u00b110h<\/td>\n<td>\u00b110h<\/td>\n<td class=\"jfkol\">\u00b19h<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<pee class=\"noot\">Conducting conversations remains your job everywhere \u2014 no tool should get in the way. Assessing a shortlist costs you roughly the same amount with every partner; the major time difference lies in sourcing, campaigns, and screening yourself.<\/pee>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=\u201d1\u2033 fullwidth=\u201don\u201d admin_label=\u201dJFQ seo\u201d _builder_version=\u201d4.27.4\u2033 custom_padding=\u201d0px|0px|0px|0px\u201d custom_margin=\u201d0px|0px|0px|0px\u201d][et_pb_fullwidth_code admin_label=\u201dJFQ seo code\u201d _builder_version=\u201d4.27.4\u2033]<\/p>\n<style>\n  .jfq .seotekst { max-width:820px; margin:0 auto; padding:0 24px 50px; }\n  .jfq .seotekst h2 { font-size:clamp(22px,3vw,30px); font-weight:800; color:var(--navy9); text-wrap:balance; }\n  .jfq .seotekst p { color:var(--soft); margin-top:14px; }\n  .jfq .seotekst a { color:var(--or6); font-weight:700; }\n<\/style>\n<div class=\"jfq\">\n<section class=\"seotekst\">\n<h2>How much does recruitment and selection cost in Flanders?<\/h2>\n<pee>The costs of recruitment vary widely depending on the approach. <b>recruitment agency<\/b> typically charges 20 to 25% of the gross annual salary per hire \u2014 for a profile of \u20ac3,750 gross per month, that quickly amounts to \u20ac10,000 to \u20ac13,000 per hired candidate. <b>interim agency<\/b> works with a coefficient of approximately 2 on the gross salary for the duration of the interim period, often followed by a takeover fee. <b>Job boards<\/b> costs typically around \u20ac990 per vacancy for 60 days of visibility, without a guarantee of applications. And whoever the full <b>does it yourself with an ATS<\/b> pays \u20ac60 to 300+ per month for licenses \u2014 excluding sourcing, which then falls entirely on their own HR hours.<\/pee>\n  <pee>Those in-house hours are the most underestimated cost: sourcing, outreach, follow-up, and screening add up to around 40 hours per hire when recruiting in-house. Multiply that by an internal HR cost of \u20ac50 per hour, and the \u201cfree\u201d channel suddenly turns out to cost \u20ac2,000 per hire \u2014 on top of the advertisements.<\/pee>\n  <pee><a href=\"https:\/\/www.jobfunders.com\/nl\/werkgevers\/\">JobFunders<\/a> takes a different approach: our AI recruiter Jobby actively searches talent pools of 260,000+ candidates 24\/7, automatically screens based on your criteria, and delivers screened candidates directly to your dashboard \u2014 from \u20ac1,500 per year with a match guarantee, or \u20ac100 per approved candidate without a subscription. Calculate it yourself above using your figures, or <a href=\"https:\/\/www.jobfunders.com\/nl\/gratis-jobby-test\/\">test my vacancy for free<\/a> for a real job vacancy.<\/pee>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=\u201d1\u2033 fullwidth=\u201don\u201d admin_label=\u201dJFQ faq\u201d _builder_version=\u201d4.27.4\u2033 custom_padding=\u201d0px|0px|0px|0px\u201d custom_margin=\u201d0px|0px|0px|0px\u201d][et_pb_fullwidth_code admin_label=\u201dJFQ faq code\u201d _builder_version=\u201d4.27.4\u2033]<\/p>\n<style>\n  .jfq .faq { background:#FFFFFF; border-top:1px solid var(--line); padding:60px 0; }\n  .jfq .faq .wrap { max-width:820px; }\n  .jfq .faq h2 { font-size:clamp(22px,3vw,30px); font-weight:800; color:var(--navy9); text-align:center; }\n  .jfq .faq details { margin-top:14px; background:var(--paper); border-radius:12px; padding:16px 20px; }\n  .jfq .faq summary { font-weight:700; cursor:pointer; color:var(--navy9); }\n  .jfq .faq p { margin-top:8px; color:var(--soft); font-size:15px; }\n  .jfq .faq a { color:var(--or6); font-weight:700; }\n<\/style>\n<div class=\"jfq\">\n<section class=\"faq\">\n<div class=\"wrap\">\n<h2>Frequently Asked Questions<\/h2>\n<details open>\n<summary>How much does a recruitment agency cost?<\/summary>\n<pee>Typically 20 to 251% of the gross annual salary per hire. With a salary of \u20ac3,750 per month (\u20ac52,200 gross per year incl. bonuses), you therefore pay \u20ac10,000 to \u20ac13,000 per hired candidate \u2014 and again per profile.<\/pee><\/details>\n<details>\n<summary>How much does an interim agency cost?<\/summary>\n<pee>A traditional interim agency charges a coefficient of approximately 2 to 2.2 on the gross salary for the entire interim period, including sourcing and administration. If you wish to hire the candidate permanently afterwards, a takeover fee is often added.<\/pee><\/details>\n<details>\n<summary>What does a bad hire cost?<\/summary>\n<pee>A wrong hire costs an average of around \u20ac30,000 per year in wages, guidance, productivity loss, and rehiring. Read all about it in our <a href=\"https:\/\/www.jobfunders.com\/blog\/whitepaper-waarom-rekrutering-voor-kmos-vaak-moeilijk-blijft\/\">Handbook for Flemish SMEs<\/a>.<\/pee><\/details>\n<details>\n<summary>Can I also start with JobFunders on an interim basis?<\/summary>\n<pee>Yes. Jobby finds and screens the candidate; through payrolling with an interim partner, you then work at a low coefficient (typically around 1.6) instead of the classic all-in interim rate. So you pay the JobFunders matching price plus the interim payrolling \u2014 together usually significantly below a classic interim invoice.<\/pee><\/details>\n<details>\n<summary>Where do the numbers in this calculator come from?<\/summary>\n<pee>The default values are market averages for Flanders; the JobFunders prices are our <a href=\"https:\/\/www.jobfunders.com\/nl\/werkgevers\/\">actual formulas<\/a>. Do you find an assumption too high or too low? Adjust them under \u201cAssumptions\u201d \u2014 the calculation uses your figures in real time.<\/pee><\/details>\n<\/p><\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=\u201d1\u2033 fullwidth=\u201don\u201d admin_label=\u201dJFQ cta\u201d _builder_version=\u201d4.27.4\u2033 custom_padding=\u201d0px|0px|0px|0px\u201d custom_margin=\u201d0px|0px|0px|0px\u201d][et_pb_fullwidth_code admin_label=\u201dJFQ cta code\u201d _builder_version=\u201d4.27.4\u2033]<\/p>\n<style>\n  .jfq .verder { background:var(--navy9); padding:76px 0 84px; text-align:center; }\n  .jfq .verder h2 { font-size:clamp(26px,3.6vw,38px); font-weight:800; color:#FFFFFF; text-wrap:balance; }\n  .jfq .verder p { color:#C2CBDC; max-width:58ch; margin:16px auto 0; }\n  .jfq .verder .ctas { margin-top:32px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }\n  .jfq .btn { display:inline-block; font-weight:700; font-size:15.5px; border-radius:10px; padding:15px 28px; text-decoration:none; transition:background .2s ease; }\n  .jfq .btn-primary { background:var(--or5); color:#FFFFFF; }\n  .jfq .btn-primary:hover { background:var(--or6); }\n  .jfq .btn-lijn { border:2px solid rgba(255,255,255,.35); color:#FFFFFF; background:transparent; }\n  .jfq .btn-lijn:hover { border-color:#FFFFFF; }\n  .jfq .verder .fine { margin-top:26px; font-size:13.5px; color:#8D99B0; }\n  .jfq .ctas br { display:none; }\n<\/style>\n<div class=\"jfq\">\n<section class=\"verder\">\n<div class=\"wrap\">\n    <span class=\"eyebrow\">From calculation to result<\/span><\/p>\n<h2>Don&#039;t just calculate it \u2014 test it for free<\/h2>\n<pee>Test my vacancy for free and see how many relevant candidates are already ready for your position. No subscription needed, no obligations.<\/pee>\n<div class=\"ctas\"><a class=\"btn btn-primary\" href=\"https:\/\/www.jobfunders.com\/nl\/gratis-jobby-test\/?utm_source=website&#038;utm_campaign=kosten-calculator&#038;utm_content=slot-cta\">Test my vacancy for free<\/a><a class=\"btn btn-lijn\" href=\"https:\/\/www.jobfunders.com\/nl\/demo\/?utm_source=website&#038;utm_campaign=kosten-calculator&#038;utm_content=slot-cta\">Book a free demo<\/a><\/div>\n<pee class=\"fine\">From \u20ac1,500\/year or \u20ac100 per match \u00b7 Match guarantee included \u00b7 No fee \u00b7 No mandatory contract<\/pee>\n  <\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"class_list":["post-33869","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/33869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/comments?post=33869"}],"version-history":[{"count":18,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/33869\/revisions"}],"predecessor-version":[{"id":36269,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/33869\/revisions\/36269"}],"wp:attachment":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/media?parent=33869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}