Bereken wat je nu kan verdienen.
Vergelijk jouw recruitment fee nu
Direct inzicht in kosten per plaatsing
Branche-fees uit de Red Rocket Index
Binnen 1 minuut klaar
Zonder addertjes. Gewoon helder.
1,2 sec
Gemiddelde duur Whatsapp opvolging door onze chatbots
<!doctype html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>RRI Fee Vergelijker (Gated)</title>
<style>
:root{
--rri-red:#e30613;
--rri-red-700:#c4161c;
--rri-black:#111111;
--rri-white:#ffffff;
--rri-border:#e5e7eb;
--rri-muted:#6b7280;
--rri-radius:20px;
--rri-shadow:0 8px 24px rgba(0,0,0,.06);
--rri-focus:0 0 0 3px rgba(227,6,19,.25);
}
.rri-fee{ font-family:inherit; color:var(--rri-black); }
.rri-fee *{ box-sizing:border-box; }
.rri-container{ max-width:1200px; margin:0 auto; padding:32px 0; }
.rri-row{ display:grid; gap:30px; grid-template-columns:1fr; align-items:start; }
@media(min-width:900px){ .rri-row{ grid-template-columns:1fr 1fr; } }
.rri-card{ background:#fff; border:1px solid var(--rri-border); border-radius:var(--rri-radius); box-shadow:var(--rri-shadow); }
.rri-card-inner{ padding:28px; }
.rri-field{ margin-bottom:18px; }
.rri-label{ display:block; font-size:16px; font-weight:600; margin-bottom:8px; }
.rri-input,.rri-select{ width:100%; border:1px solid var(--rri-border); border-radius:12px; padding:12px 14px; background:#fff; color:#0f0f0f; font:inherit; font-size:16px; }
.rri-input:focus,.rri-select:focus{ outline:none; box-shadow:var(--rri-focus); border-color:var(--rri-red); }
.rri-help{ font-size:14px; color:var(--rri-muted); margin-top:8px; min-height:1.2em; }
.rri-check{ display:inline-flex; align-items:center; gap:10px; }
.rri-checkbox{ width:18px; height:18px; accent-color:var(--rri-red); }
.rri-btn{ width:100%; display:inline-flex; align-items:center; justify-content:center; border:none; cursor:pointer; border-radius:999px; font-weight:700; padding:14px 18px; font-size:18px; }
.rri-btn-primary{ background:var(--rri-red); color:#fff; }
.rri-btn-primary:hover{ background:var(--rri-red-700); }
.rri-btn-primary:disabled{ background:#ccc; cursor:not-allowed; opacity:0.7; }
.rri-btn-dark{ background:#0f0f0f; color:#fff; }
.rri-btn-dark:disabled{ background:#666; cursor:not-allowed; }
.rri-result{ display:grid; gap:12px; }
.rri-rowline{ display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-radius:12px; }
.rri-rowline.em{ background:#fafafa; font-weight:700; }
.rri-divider{ height:1px; background:var(--rri-border); margin:6px 0; }
.rri-subtle{ color:var(--rri-muted); font-size:14px; }
.rri-grid-3{ display:grid; gap:12px; }
@media(min-width:700px){ .rri-grid-3{ grid-template-columns:1fr 1fr 1fr; } }
.rri-alert-ok{ background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; padding:14px; border-radius:12px; }
.rri-alert-neutral{ background:#f9fafb; color:#0f0f0f; border:1px solid var(--rri-border); padding:14px; border-radius:12px; }
.rri-lead-intro{ margin-top:20px; margin-bottom:16px; font-size:18px; line-height:1.4; font-weight:600; }
.rri-lead-intro span{ color:var(--rri-red); }
.rri-blurred{ filter:blur(5px); pointer-events:none; user-select:none; }
.rri-teaser{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.rri-pill{ display:inline-block; padding:8px 12px; border-radius:999px; background:#f9fafb; border:1px solid var(--rri-border); font-size:12px; color:#374151; }
.rri-big{ font-size:44px; line-height:1; font-weight:900; letter-spacing:-0.5px; }
.rri-desc{ color:#374151; }
.rri-hidden{ display:none !important; }
</style>
</head>
<body>
<div class="rri-fee" id="rri-fee-widget">
<div class="rri-container">
<div class="rri-row">
<!-- Formulier -->
<section class="rri-card"><div class="rri-card-inner">
<div class="rri-field">
<label class="rri-label" for="rri-functie">Functienaam</label>
<input class="rri-input" id="rri-functie" placeholder="Vul hier de functie in" />
</div>
<div class="rri-field">
<label class="rri-label" for="rri-branche">Branche</label>
<select class="rri-select" id="rri-branche">
<option value="" selected disabled>Kies branche</option>
<optgroup label="Onderwijs">
<option data-fee="15.78" value="Basisonderwijs en speciaal onderwijs">Basisonderwijs en speciaal onderwijs</option>
<option data-fee="15.91" value="Voortgezet onderwijs">Voortgezet onderwijs</option>
<option data-fee="15.80" value="Hoger onderwijs">Hoger onderwijs</option>
</optgroup>
<optgroup label="Gezondheids- en welzijnszorg">
<option data-fee="17.34" value="Ziekenhuizen">Ziekenhuizen</option>
<option data-fee="18.35" value="Verpleging en zorg met overnachting">Verpleging en zorg met overnachting</option>
<option data-fee="17.50" value="Welzijnszorg zonder overnachting">Welzijnszorg zonder overnachting</option>
</optgroup>
<option data-fee="15.91" value="Landbouw, bosbouw en visserij">Landbouw, bosbouw en visserij</option>
<option data-fee="15.55" value="Delfstoffenwinning">Delfstoffenwinning</option>
<optgroup label="Nijverheid en energie">
<option data-fee="19.17" value="Industrie">Industrie</option>
<option data-fee="16.03" value="Voedings-, genotmiddelenindustrie">Voedings-, genotmiddelenindustrie</option>
<option data-fee="16.03" value="Basismetaal, metaalprod.-industrie">Basismetaal, metaalprod.-industrie</option>
<option data-fee="15.71" value="Transportmiddelenindustrie">Transportmiddelenindustrie</option>
<option data-fee="16.06" value="Overige industrie en reparatie">Overige industrie en reparatie</option>
<option data-fee="15.76" value="Energievoorziening">Energievoorziening</option>
<option data-fee="15.74" value="Waterbedrijven en afvalbeheer">Waterbedrijven en afvalbeheer</option>
</optgroup>
<option data-fee="19.08" value="Bouwnijverheid">Bouwnijverheid</option>
<optgroup label="Handel">
<option data-fee="16.45" value="Autohandel en -reparatie">Autohandel en -reparatie</option>
<option data-fee="18.36" value="Groothandel en handelsbemiddeling">Groothandel en handelsbemiddeling</option>
<option data-fee="20.03" value="Detailhandel (niet in auto’s)">Detailhandel (niet in auto’s)</option>
<option data-fee="17.17" value="Supermarkten en warenhuizen">Supermarkten en warenhuizen</option>
<option data-fee="15.72" value="Winkels in voedingsmiddelen">Winkels in voedingsmiddelen</option>
</optgroup>
<optgroup label="Vervoer en opslag">
<option data-fee="16.44" value="Vervoer over land">Vervoer over land</option>
<option data-fee="16.17" value="Opslag, dienstverlening voor vervoer">Opslag, dienstverlening voor vervoer</option>
<option data-fee="15.65" value="Post en koeriers">Post en koeriers</option>
</optgroup>
<option data-fee="19.15" value="Horeca">Horeca</option>
<optgroup label="Informatie en communicatie">
<option data-fee="15.69" value="Uitgeverijen, film, radio en t.v.">Uitgeverijen, film, radio en t.v.</option>
</optgroup>
<optgroup label="Financiële dienstverlening">
<option data-fee="16.06" value="Bankwezen">Bankwezen</option>
<option data-fee="15.69" value="Verzekeraars en pensioenfondsen">Verzekeraars en pensioenfondsen</option>
<option data-fee="15.91" value="Overige financiële dienstverlening">Overige financiële dienstverlening</option>
</optgroup>
<option data-fee="15.83" value="Verhuur en handel van onroerend goed">Verhuur en handel van onroerend goed</option>
<optgroup label="Zakelijke dienstverlening">
<option data-fee="19.96" value="Specialistische zakelijke diensten">Specialistische zakelijke diensten</option>
<option data-fee="19.17" value="Management- en technisch advies">Management- en technisch advies</option>
<option data-fee="15.76" value="Research">Research</option>
<option data-fee="16.07" value="Reclame, design, overige diensten">Reclame, design, overige diensten</option>
<option data-fee="18.79" value="Verhuur en overige zakelijke diensten">Verhuur en overige zakelijke diensten</option>
<option data-fee="15.86" value="Uitzendbureaus">Uitzendbureaus</option>
<option data-fee="16.70" value="Schoonmaakbedrijven, hoveniers e.d.">Schoonmaakbedrijven, hoveniers e.d.</option>
</optgroup>
<option data-fee="18.54" value="Openbaar bestuur en overheidsdiensten">Openbaar bestuur en overheidsdiensten</option>
<option data-fee="16.20" value="Cultuur, sport en recreatie">Cultuur, sport en recreatie</option>
<option data-fee="16.26" value="Overige dienstverlening">Overige dienstverlening</option>
</select>
<div class="rri-help">Onze fee voor deze branche: <strong id="rri-rrpct">-</strong></div>
</div>
<div class="rri-row" style="grid-template-columns:1fr; gap:14px;">
<div class="rri-field" style="margin:0;">
<label class="rri-label" for="rri-fee">Huidige vergoedingsfee (%)</label>
<input class="rri-input" id="rri-fee" type="number" step="0.1" placeholder="25" min="0" />
</div>
<div class="rri-field" style="margin:0;">
<label class="rri-label" for="rri-salaris">Salaris (gemiddeld) per maand</label>
<input class="rri-input" id="rri-salaris" type="number" value="3000" min="0" />
</div>
</div>
<div class="rri-field" style="margin-top:12px;">
<label class="rri-check" for="rri-vak">
<input class="rri-checkbox" id="rri-vak" type="checkbox" checked />
<span>Inclusief 8% vakantiegeld in salarisberekening</span>
</label>
</div>
<button class="rri-btn rri-btn-primary" id="rri-compare">Vergelijk</button>
<!-- Lead form (gating) -->
<form id="rri-lead" action="https://formsubmit.co/ajax/kevin@redrocketonline.nl" method="POST" class="rri-hidden">
<div class="rri-lead-intro" id="rri-lead-intro">Vul je gegevens in om te zien hoeveel je kunt besparen:</div>
<div class="rri-grid-3" style="margin-top:10px;">
<input class="rri-input" id="rri-naam" name="Naam" placeholder="Naam (optioneel)" />
<input class="rri-input" id="rri-email" name="Email" placeholder="E-mailadres (verplicht)" type="email" required />
<input class="rri-input" id="rri-tel" name="Telefoon" placeholder="Telefoonnummer (optioneel)" />
</div>
<input type="text" name="_honey" style="display:none" tabindex="-1" autocomplete="off" />
<input type="hidden" name="_subject" value="Fee Vergelijker lead" />
<input type="hidden" name="_template" value="table" />
<input type="hidden" name="_captcha" value="false" />
<input type="hidden" name="_autoresponse" value="Dank voor je aanvraag. We nemen z.s.m. contact op. — Red Rocket" />
<input type="hidden" name="_next" value="https://www.redrocketonline.nl/bedankt" />
<input type="hidden" id="h-intro" name="Lead tekst" />
<input type="hidden" id="h-functie" name="Functienaam" />
<input type="hidden" id="h-branche" name="Branche" />
<input type="hidden" id="h-huidigePct" name="Huidige fee (%)" />
<input type="hidden" id="h-rrPct" name="Red Rocket fee (%)" />
<input type="hidden" id="h-maand" name="Salaris per maand" />
<input type="hidden" id="h-jaar" name="Jaarloon" />
<input type="hidden" id="h-jaarIncl" name="Jaarloon incl. vak.geld" />
<input type="hidden" id="h-huidigeKosten" name="Huidige kosten per plaatsing" />
<input type="hidden" id="h-rrKosten" name="RR kosten per plaatsing" />
<input type="hidden" id="h-besparing" name="Besparing per plaatsing" />
<input type="hidden" id="h-besparingPct" name="Besparing (%) t.o.v. huidige kosten" />
<input type="hidden" id="h-vak" name="Incl vakantiegeld" />
<button class="rri-btn rri-btn-dark" id="rri-submit" type="submit" style="margin-top:14px;">Toon resultaten</button>
</form>
</div></section>
<!--TCG: <!-- Teaser % (pas zichtbaar na submit) -->
<section class="rri-card rri-blurred" id="rri-teaser-card"><div class="rri-card-inner">
<div class="rri-teaser">
<div>
<span class="rri-pill">Potentiële besparing</span>
<div class="rri-big" id="rri-savings-pct">-</div>
<div class="rri-desc" id="rri-savings-desc">Voer je gegevens in en klik op Vergelijk.</div>
</div>
</div>
</div></section>
<!-- Resultaten (GEGATED: pas zichtbaar na submit) -->
<section class="rri-card rri-blurred" id="rri-results-card"><div class="rri-card-inner">
<h3 style="margin:0 0 10px; font-size:20px; font-weight:700;">Wat betaal je per plaatsing?</h3>
<div id="rri-results" class="rri-result">
<div class="rri-rowline"><span class="rri-subtle">Jaarloon</span><strong id="rri-jaarloon">-</strong></div>
<div class="rri-rowline"><span id="rri-jaarlabel" class="rri-subtle">Jaarloon incl. vakantiegeld (8%)</span><strong id="rri-jaarincl">-</strong></div>
<div class="rri-divider"></div>
<div class="rri-rowline"><span class="rri-subtle" id="rri-huidig-label">Huidige fee</span><strong id="rri-huidig">-</strong></div>
<div class="rri-rowline"><span class="rri-subtle" id="rri-rr-label">Red Rocket branche-fee</span><strong id="rri-rr">-</strong></div>
<div class="rri-divider"></div>
<div class="rri-rowline em"><span>Verschil</span><strong id="rri-verschil">-</strong></div>
</div>
<div id="rri-outcome" style="margin-top:18px;"></div>
</div></section>
</div>
</div>
</div>
<script>
(function(){
// Config
const REDIRECT_AFTER_SUBMIT = false;
const formatEUR = (v) => new Intl.NumberFormat('nl-NL', { style:'currency', currency:'EUR', maximumFractionDigits:0 }).format(v||0);
const formatPct = (v) => `${(v||0).toLocaleString('nl-NL', { minimumFractionDigits:0, maximumFractionDigits:1 })}%`;
const byId = (id) => document.getElementById(id);
const el = {
branche: byId('rri-branche'), rrpct: byId('rri-rrpct'),
functie: byId('rri-functie'), fee: byId('rri-fee'), salaris: byId('rri-salaris'), vak: byId('rri-vak'),
compare: byId('rri-compare'),
jaarloon: byId('rri-jaarloon'), jaarincl: byId('rri-jaarincl'), jaarlabel: byId('rri-jaarlabel'),
huidig: byId('rri-huidig'), huidigLabel: byId('rri-huidig-label'), rr: byId('rri-rr'), rrLabel: byId('rri-rr-label'),
verschil: byId('rri-verschil'), outcome: byId('rri-outcome'),
savingsPct: byId('rri-savings-pct'), savingsDesc: byId('rri-savings-desc'),
leadForm: byId('rri-lead'), leadIntro: byId('rri-lead-intro'), submit: byId('rri-submit'), email: byId('rri-email'),
teaserCard: byId('rri-teaser-card'), resultsCard: byId('rri-results-card'),
h: {
intro: byId('h-intro'), functie: byId('h-functie'), branche: byId('h-branche'), huidigePct: byId('h-huidigePct'),
rrPct: byId('h-rrPct'), maand: byId('h-maand'), jaar: byId('h-jaar'), jaarIncl: byId('h-jaarIncl'),
huidigeKosten: byId('h-huidigeKosten'), rrKosten: byId('h-rrKosten'), besparing: byId('h-besparing'),
besparingPct: byId('h-besparingPct'), vak: byId('h-vak')
}
};
let rrPct = 0;
let lastPayload = null;
function updateRRPct() {
const opt = el.branche.options[el.branche.selectedIndex];
rrPct = opt ? Number(opt.getAttribute('data-fee')) || 0 : 0;
if (el.rrpct) {
el.rrpct.textContent = rrPct ? rrPct.toLocaleString('nl-NL', { minimumFractionDigits:2, maximumFractionDigits:2 }) + '%' : '-';
}
}
el.branche.addEventListener('change', updateRRPct);
function numeric(v) {
const s = String(v).replace(/\./g,'').replace(',', '.');
const n = Number(s.replace(/[^0-9.\-]/g,''));
return isFinite(n) ? n : 0;
}
function runComparison() {
const functie = (el.functie.value || '').trim();
const branche = el.branche.value;
const feeRaw = (el.fee.value || '').trim();
const huidigePct = feeRaw === '' ? numeric(el.fee.getAttribute('placeholder') || '25') : numeric(feeRaw);
const maand = numeric(el.salaris.value);
const vak = el.vak.checked;
if (!functie || !branche || maand <= 0 || !isFinite(huidigePct) || huidigePct <= 0 || rrPct <= 0) {
alert('Vul alle velden correct in. Zorg ervoor dat de functie, branche, salaris en huidige fee zijn ingevuld.');
return false;
}
const jaar = maand * 12;
const jaarIncl = vak ? jaar * 1.08 : jaar;
const huidigeKosten = jaarIncl * (huidigePct / 100);
const rrKosten = jaarIncl * (rrPct / 100);
const diff = huidigeKosten - rrKosten;
const besparingPct = huidigeKosten > 0 ? Math.max(0, (diff / huidigeKosten) * 100) : 0;
// Vul verborgen resultvelden
el.jaarloon.textContent = formatEUR(jaar);
el.jaarincl.textContent = formatEUR(jaarIncl);
el.jaarlabel.textContent = vak ? 'Jaarloon incl. vakantiegeld (8%)' : 'Jaarloon (excl. vakantiegeld)';
el.huidig.textContent = formatEUR(huidigeKosten);
el.huidigLabel.textContent = `Huidige fee (${huidigePct}%)`;
el.rr.textContent = formatEUR(rrKosten);
el.rrLabel.textContent = `Red Rocket branche-fee (${rrPct}%)`;
el.verschil.textContent = (diff >= 0 ? '+' : '-') + formatEUR(Math.abs(diff));
lastPayload = { functie, branche, huidigePct, rrPct, maand, jaar, jaarIncl, huidigeKosten, rrKosten, diff, besparingPct, inclVakantiegeld: vak };
// Vul hidden velden
if (el.h.intro) el.h.intro.value = `Vergelijking voor ${functie || 'deze functie'}`;
if (el.h.functie) el.h.functie.value = functie;
if (el.h.branche) el.h.branche.value = branche;
if (el.h.huidigePct) el.h.huidigePct.value = String(huidigePct).replace('.', ',');
if (el.h.rrPct) el.h.rrPct.value = String(rrPct).replace('.', ',');
if (el.h.maand) el.h.maand.value = String(maand);
if (el.h.jaar) el.h.jaar.value = String(Math.round(jaar));
if (el.h.jaarIncl) el.h.jaarIncl.value = String(Math.round(jaarIncl));
if (el.h.huidigeKosten) el.h.huidigeKosten.value = String(Math.round(huidigeKosten));
if (el.h.rrKosten) el.h.rrKosten.value = String(Math.round(rrKosten));
if (el.h.besparing) el.h.besparing.value = String(Math.round(diff));
if (el.h.besparingPct) el.h.besparingPct.value = besparingPct.toFixed(1).replace('.', ',');
if (el.h.vak) el.h.vak.value = vak ? 'ja' : 'nee';
// Outcome tekst
if (diff > 0) {
el.outcome.innerHTML = `<div class="rri-alert-ok">Goed nieuws: je kunt gemiddeld <strong>${formatEUR(diff)}</strong> per plaatsing besparen.</div>`;
el.leadIntro.innerHTML = `Vul je gegevens in om te zien hoeveel je kunt besparen op het werven van <span>${functie || 'deze functie'}</span>:`;
} else {
el.outcome.innerHTML = `<div class="rri-alert-neutral">Op basis van je invoer is onze branche-fee gelijk aan of hoger dan je huidige fee. Neem contact op voor een maatwerkvoorstel.</div>`;
el.leadIntro.innerHTML = `Vul je gegevens in om de resultaten te zien en een maatwerkvoorstel te ontvangen:`;
}
// Toon leadformulier, teaser blijft blurred
el.leadForm.classList.remove('rri-hidden');
el.compare.disabled = true;
el.compare.textContent = 'Berekening klaar';
el.compare.style.opacity = '0.7';
return true;
}
el.compare.addEventListener('click', () => {
try {
runComparison();
} catch (err) {
console.error('Fout bij vergelijken:', err);
alert('Er is een fout opgetreden bij het vergelijken. Probeer het opnieuw.');
}
});
el.leadForm.addEventListener('submit', (e) => {
e.preventDefault();
try {
if (!lastPayload) {
alert('Maak eerst een vergelijking.');
return;
}
if (!el.email || !el.email.value.trim() || !el.email.checkValidity()) {
alert('Vul een geldig e-mailadres in.');
if (el.email) el.email.focus();
return;
}
if (el.submit) {
el.submit.disabled = true;
el.submit.textContent = 'Verzenden…';
}
const formData = new FormData(el.leadForm);
fetch(el.leadForm.action, {
method: 'POST',
body: formData,
headers: { 'Accept': 'application/json' }
})
.then(r => {
if (!r.ok) throw new Error(`HTTP error: ${r.status}`);
return r.json();
})
.then(data => {
if (data.success) {
// Ontgrendel teaser en resultaten
el.teaserCard.classList.remove('rri-blurred');
el.resultsCard.classList.remove('rri-blurred');
if (lastPayload) {
const { besparingPct, diff, functie } = lastPayload;
el.savingsPct.textContent = formatPct(besparingPct);
el.savingsDesc.textContent = diff > 0 ? `t.o.v. je huidige fee voor ${functie}` : 'Geen besparing op basis van je invoer';
}
if (el.submit) {
el.submit.textContent = 'Resultaten zichtbaar';
el.submit.disabled = true;
}
if (REDIRECT_AFTER_SUBMIT) {
setTimeout(() => {
const nextUrl = el.leadForm.querySelector('input[name="_next"]').value;
window.location.href = nextUrl;
}, 600);
}
} else {
throw new Error('Form submission failed: ' + (data.error || 'Unknown error'));
}
})
.catch(err => {
console.error('Fout bij verzenden:', err);
alert('Er is een fout opgetreden bij het verzenden. Controleer je internetverbinding of probeer het later opnieuw.');
if (el.submit) {
el.submit.disabled = false;
el.submit.textContent = 'Toon resultaten';
}
});
} catch (err) {
console.error('Fout bij formulierverzending:', err);
alert('Er is een fout opgetreden. Probeer het opnieuw.');
if (el.submit) {
el.submit.disabled = false;
el.submit.textContent = 'Toon resultaten';
}
}
});
// Init
(function init(){
// Toon branche % direct bij selectie
updateRRPct();
// Zet teaser standaard blurred
el.teaserCard.classList.add('rri-blurred');
// Controleer aantal opties in branche-select
if (el.branche.options.length < 10) {
console.warn('Waarschuwing: Minder branches dan verwacht in dropdown:', el.branche.options.length);
}
// Sanity check berekening
try {
const maand = 3000, vak = true, huidigePct = 25, rr = 19.15;
const jaar = maand * 12, jaarIncl = vak ? jaar * 1.08 : jaar;
const hk = jaarIncl * (huidigePct / 100), rrk = jaarIncl * (rr / 100), d = hk - rrk;
if (!(Math.round(hk) === 9720 && Math.round(rrk) === 7442 && Math.round(d) === 2278)) {
console.warn('Rekencheck afwijking');
}
} catch(e) {
console.error('Sanity check mislukt:', e);
}
})();
})();
</script>
</body>
</html>
