Direct naar content

IT Inhuur overzicht brokers en hoofdleveranciers

Wie is de broker en hoofdleverancier voor welke klant? Zeker in de IT inhuur markt is dat meestal erg onduidelijk. Je ziet sommige opdrachten 15x langskomen. Als ZZP’er is het vaak lastig te doorzien bij wie je nu eigenlijk moet zijn voor welke opdrachtgever. Of je wordt benaderd door een partij maar mag en kan die partij jou eigenlijk wel goed bedienen en mogen zij rechtstreeks leveren?

Dit is een dashboard waar je alle (semi)overheid en publieke organisaties in één overzicht kan terugvinden wie de hoofdleverancier is. Van de voorkeur brokers is ook een link beschikbaar naar hun opdrachten-pagina.

Staat de partij die jou heeft benaderd of waar je de opdracht hebt gezien er niet tussen? Dan kunnen en mogen zij niet rechtstreeks leveren en zij moeten zelf ook alsnog via één van de hoofdleveranciers aanbieden.

Broker dashboard

:root {
–bg: #eef2f4;
–surface: #ffffff;
–surface-alt: #e4e9ec;
–ink: #151a1f;
–ink-2: #4a5560;
–ink-3: #7b8790;
–border: #d7dee2;
–border-strong: #c2cbd1;
–accent: #0d6e73;
–accent-soft: #dcecec;
–good: #1c8a5a;
–good-soft: #dcf1e6;
–warn: #a3720b;
–warn-soft: #f6ead0;
–bad: #b3402f;
–bad-soft: #f6e1dc;
–skip: #8a8f97;
–skip-soft: #e9eaec;
}
@media (prefers-color-scheme: dark) {
:root {
–bg: #10151a;
–surface: #171d23;
–surface-alt: #1d242b;
–ink: #eef1f3;
–ink-2: #b7c0c7;
–ink-3: #838e96;
–border: #2a323a;
–border-strong: #384049;
–accent: #3fb8b6;
–accent-soft: #163539;
–good: #48c98c;
–good-soft: #163828;
–warn: #e0ac3d;
–warn-soft: #3a2f14;
–bad: #e37360;
–bad-soft: #3a2119;
–skip: #838e96;
–skip-soft: #262c32;
}
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: ‘Public Sans’, -apple-system, BlinkMacSystemFont, sans-serif;
background: var(–bg);
color: var(–ink);
}
.mono { font-family: ‘IBM Plex Mono’, monospace; }
header {
padding: 28px 24px 20px;
max-width: 1320px;
margin: 0 auto;
}
.eyebrow {
font-family: ‘IBM Plex Mono’, monospace;
font-size: 12px;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(–accent);
font-weight: 600;
margin-bottom: 8px;
}
header h1 {
margin: 0 0 6px;
font-size: 24px;
font-weight: 800;
letter-spacing: -0.3px;
color: var(–ink);
}
header p.desc {
margin: 0;
color: var(–ink-2);
font-size: 13.5px;
max-width: 720px;
}

.stat-tiles {
max-width: 1320px;
margin: 18px auto 0;
padding: 0 24px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
}
.tile {
background: var(–surface);
border: 1px solid var(–border);
border-radius: 10px;
padding: 14px 16px;
box-shadow: 0 1px 2px rgba(20,30,35,.06), 0 4px 14px rgba(20,30,35,.05);
}
.tile .num {
font-family: ‘IBM Plex Mono’, monospace;
font-size: 22px;
font-weight: 600;
color: var(–ink);
}
.tile .label {
font-size: 12px;
color: var(–ink-3);
margin-top: 2px;
}

.legend {
max-width: 1320px;
margin: 16px auto 0;
padding: 0 24px;
display: flex;
gap: 18px;
align-items: center;
font-size: 12.5px;
color: var(–ink-2);
flex-wrap: wrap;
}
.legend-item { display: flex; align-items: center; gap: 6px; }
.legend-dot {
display: inline-block;
width: 9px;
height: 9px;
border-radius: 50%;
}

.controls {
max-width: 1320px;
margin: 14px auto 0;
padding: 0 24px;
display: flex;
gap: 10px;
flex-wrap: wrap;
align-items: center;
position: sticky;
top: 0;
background: var(–bg);
z-index: 5;
padding-top: 10px;
padding-bottom: 10px;
}
#search {
flex: 1 1 300px;
padding: 10px 14px;
border: 1.5px solid var(–border-strong);
border-radius: 8px;
font-size: 14px;
outline: none;
background: var(–surface);
color: var(–ink);
font-family: ‘Public Sans’, sans-serif;
}
#search:focus { border-color: var(–accent); }
select {
padding: 10px 12px;
border: 1.5px solid var(–border-strong);
border-radius: 8px;
font-size: 13px;
background: var(–surface);
color: var(–ink);
}

main {
max-width: 1320px;
margin: 0 auto;
padding: 6px 24px 60px;
}
.count-line {
font-size: 12.5px;
color: var(–ink-3);
margin: 6px 2px 14px;
font-family: ‘IBM Plex Mono’, monospace;
}

.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
gap: 14px;
}

.card {
background: var(–surface);
border: 1px solid var(–border);
border-radius: 12px;
box-shadow: 0 1px 2px rgba(20,30,35,.06), 0 4px 14px rgba(20,30,35,.05);
display: flex;
flex-direction: column;
overflow: hidden;
}
.card-head {
padding: 14px 16px 12px;
border-bottom: 1px solid var(–border);
}
.tag {
display: inline-block;
font-family: ‘IBM Plex Mono’, monospace;
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.03em;
text-transform: uppercase;
padding: 3px 8px;
border-radius: 999px;
background: var(–accent-soft);
color: var(–accent);
margin-bottom: 8px;
}
.klant-name {
font-size: 15.5px;
font-weight: 700;
color: var(–ink);
margin: 0 0 4px;
line-height: 1.3;
}
.opdracht-line {
font-size: 12.5px;
color: var(–ink-2);
line-height: 1.4;
}

.brokers-row {
padding: 12px 16px 14px;
flex: 1;
display: flex;
flex-direction: column;
}
.brokers-label {
font-family: ‘IBM Plex Mono’, monospace;
font-size: 10.5px;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(–ink-3);
margin-bottom: 8px;
}
.broker-chips {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 10px;
}
.chip {
padding: 4px 10px;
border-radius: 7px;
font-size: 12.5px;
font-weight: 600;
border: 1px solid transparent;
}
.chip.groen { background: var(–good-soft); color: var(–good); }
.chip.geel { background: var(–warn-soft); color: var(–warn); }
.chip.rood { background: var(–bad-soft); color: var(–bad); }
.chip.unknown { background: var(–skip-soft); color: var(–skip); font-style: italic; font-weight: 500; }
.chip.hit { outline: 2px solid var(–accent); outline-offset: 1px; }
a.chip.linked {
text-decoration: none;
cursor: pointer;
position: relative;
padding-right: 20px;
}
a.chip.linked:hover { filter: brightness(0.94); }
a.chip.linked::after {
content: “↗”;
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
font-size: 10px;
opacity: 0.7;
}

.bron {
font-size: 11px;
color: var(–ink-3);
margin-top: auto;
padding-top: 8px;
}

.card.hidden { display: none; }
.no-results {
text-align: center;
padding: 60px 20px;
color: var(–ink-3);
grid-column: 1 / -1;
}
mark {
background: #fff3a0;
color: #151a1f;
padding: 0 2px;
border-radius: 2px;
}

footer {
max-width: 1320px;
margin: 30px auto 0;
padding: 16px 24px 30px;
font-size: 11.5px;
color: var(–ink-3);
border-top: 1px solid var(–border);
}

@media (max-width: 640px) {
.stat-tiles { grid-template-columns: repeat(2, 1fr); }
.grid { grid-template-columns: 1fr; }
}

OptimaData · OpdrachtRadar

OpdrachtRadar Brokers

Overzicht van brokers / intermediairs met een raamovereenkomst voor ICT-inhuur, ICT-capaciteit en detachering bij ministeries, uitvoeringsinstellingen, gemeenten, provincies en (semi-)publieke organisaties.

0
eindklanten
0
unieke brokers
0
voorkeursbroker-koppelingen
–
laatst bijgewerkt
Voorkeursbroker
Neutraal / onbekend
Vermijden

Filter op broker: alle

Sorteer: klant (A-Z)
Sorteer: aantal brokers (hoog-laag)
Sorteer: aantal voorkeursbrokers (hoog-laag)
Sorteer: eindklanten OptimaData eerst

Samengesteld uit openbare bronnen (Consultancy.nl, Computable, Flexmarkt, Dutch IT Channel/Leaders, brokerpersberichten, TED/TenderNed) en eigen opgave van OptimaData — peildatum 2026-10-08. Contracten lopen af en worden vernieuwd; controleer bij twijfel de bron.

const DATA = {“generated”: “2026-10-08”, “scope”: “Nederlandse overheid en (semi-)publieke instellingen – ICT-inhuur / detachering / data-inhuur raamovereenkomsten”, “disclaimer”: “Samengesteld uit openbare nieuwsberichten (Consultancy.nl, Computable, Flexmarkt, Dutch IT Channel/Leaders) en broker-eigen nieuwspagina’s (Circle8, LINKIT, HeadFirst, Seven Stars e.a.), aangevuld met eigen opgave van OptimaData. Contracten lopen af/worden vernieuwd; controleer bij twijfel de bron.”, “records”: [{“klant”: “Ministerie van Binnenlandse Zaken en Koninkrijksrelaties (BZK)”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur BZK kerndepartement + AIVD, RVB, RODI”, “brokers”: [“Caesar Accounts”, “Ormer ICT Staffing”, “SLTN Inter Access”, “CIMSOLUTIONS”, “VKA”, “Ordina”, “Circle8”], “bron”: “consultancy.nl / caesaroverheid.nl”, “voorkeur”: {“Caesar Accounts”: “geel”, “Ormer ICT Staffing”: “geel”, “SLTN Inter Access”: “geel”, “CIMSOLUTIONS”: “geel”, “VKA”: “geel”, “Ordina”: “geel”, “Circle8”: “groen”}}, {“klant”: “Ministerie van Defensie”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur + detavast-constructies”, “brokers”: [“HeadFirst”, “Nederlands Centrum voor Interim-Management (NCIM)”, “Experis Professionals”, “Hero Interim Professionals”, “SynProfs”, “ItaQ”, “Need Staffing IT”, “LINKIT”], “bron”: “dutchitchannel.nl / linkit.nl”, “voorkeur”: {“HeadFirst”: “groen”, “Nederlands Centrum voor Interim-Management (NCIM)”: “geel”, “Experis Professionals”: “geel”, “Hero Interim Professionals”: “geel”, “SynProfs”: “geel”, “ItaQ”: “geel”, “Need Staffing IT”: “groen”, “LINKIT”: “groen”}}, {“klant”: “Ministerie van Infrastructuur en Waterstaat (IenW) / Financiën / Algemene Zaken (IWFAZ)”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur IWFAZ incl. KNMI, ILT, PBL, ANVS, Rijkswaterstaat, Rijksvoorlichtingsdienst”, “brokers”: [“HeadFirst”, “Synprofs”, “ItaQ”, “LINKIT”, “DiVetro”, “Ukomst”, “De Staffing Groep”, “Yacht”, “Seven Stars”], “bron”: “consultancy.nl / sevenstars.nl”, “voorkeur”: {“HeadFirst”: “groen”, “Synprofs”: “geel”, “ItaQ”: “geel”, “LINKIT”: “groen”, “DiVetro”: “geel”, “Ukomst”: “geel”, “De Staffing Groep”: “geel”, “Yacht”: “geel”, “Seven Stars”: “groen”}}, {“klant”: “Ministerie van Justitie en Veiligheid (JenV) – kerndepartement en hoofdmantel”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur JenV incl. NCTV, NOO, Inspectie JenV, OM, NFI, Rechtspraak, Kansspelautoriteit e.a.”, “brokers”: [“Caesar Accounts”, “Bergler Nederland”, “VX Company”, “LINKIT”, “Bartosz”, “DiVetro”, “SynProfs”, “Seven Stars”, “SLTN Inter Access”, “CIMSOLUTIONS”, “Brunel”, “Cegeka”, “Circle8”, “Sogeti”, “Techforce1”, “Akkodis”, “Taxonic”, “Profource”], “bron”: “dutchitleaders.nl / dutchitchannel.nl / circle8.nl”, “voorkeur”: {“Caesar Accounts”: “geel”, “Bergler Nederland”: “geel”, “VX Company”: “geel”, “LINKIT”: “groen”, “Bartosz”: “geel”, “DiVetro”: “geel”, “SynProfs”: “geel”, “Seven Stars”: “groen”, “SLTN Inter Access”: “geel”, “CIMSOLUTIONS”: “geel”, “Brunel”: “geel”, “Cegeka”: “geel”, “Circle8”: “groen”, “Sogeti”: “geel”, “Techforce1”: “geel”, “Akkodis”: “geel”, “Taxonic”: “geel”, “Profource”: “geel”}}, {“klant”: “DJI + Justitie-onderdelen (NFI, Justis, JIO)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur detacheerders”, “brokers”: [“Circle8”, “CIMSOLUTIONS”, “Brunel”, “SLTN Inter Access”, “Seven Stars”, “Quest4”, “Synprofs”, “Harvey Nash”, “Bergler Nederland”, “Between Staffing”, “IT-Staffing”, “Cegeka”, “Caesar Accounts”, “Pimarox Infrastructure Solutions”], “bron”: “flexmarkt.nl / computable.nl / consultancy.nl”, “voorkeur”: {“Circle8”: “groen”, “CIMSOLUTIONS”: “geel”, “Brunel”: “geel”, “SLTN Inter Access”: “geel”, “Seven Stars”: “groen”, “Quest4”: “geel”, “Synprofs”: “geel”, “Harvey Nash”: “groen”, “Bergler Nederland”: “geel”, “Between Staffing”: “geel”, “IT-Staffing”: “geel”, “Cegeka”: “geel”, “Caesar Accounts”: “geel”, “Pimarox Infrastructure Solutions”: “geel”}}, {“klant”: “Ministerie van Justitie & Veiligheid, COA en RIVM (resultaatverplichte opdrachten)”, “categorie”: “Ministerie / Uitvoeringsorganisatie”, “opdracht”: “ICT-mantel resultaatverplichte opdrachten”, “brokers”: [“Ordina”, “Atos/Eviden”, “Caesar Accounts”, “Capgemini”, “ilionx”, “CGI”], “bron”: “cgi.com”, “voorkeur”: {“Ordina”: “geel”, “Atos/Eviden”: “geel”, “Caesar Accounts”: “geel”, “Capgemini”: “geel”, “ilionx”: “geel”, “CGI”: “geel”}}, {“klant”: “Belastingdienst, Toeslagen en Douane”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur megacontract”, “brokers”: [“LINKIT”, “DiVetro”, “Bartosz”, “Techforce1”, “Yacht”, “Between Staffing”, “Circle8”, “Need Staffing”, “Synprofs”, “Flexvalue”, “Ubuntu Staffing”, “Itaq”, “Sopra Steria”, “CIMSOLUTIONS”, “SLTN Inter Access”, “Ordina”, “De Staffing Groep”, “Capgemini”, “SQL Integrator”, “Seven Stars”, “IT-Staffing”, “iSense Consulting”], “bron”: “consultancy.nl / computable.nl / channelweb.nl / sevenstars.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Bartosz”: “geel”, “Techforce1”: “geel”, “Yacht”: “geel”, “Between Staffing”: “geel”, “Circle8”: “groen”, “Need Staffing”: “groen”, “Synprofs”: “geel”, “Flexvalue”: “geel”, “Ubuntu Staffing”: “geel”, “Itaq”: “geel”, “Sopra Steria”: “geel”, “CIMSOLUTIONS”: “geel”, “SLTN Inter Access”: “geel”, “Ordina”: “geel”, “De Staffing Groep”: “geel”, “Capgemini”: “geel”, “SQL Integrator”: “geel”, “Seven Stars”: “groen”, “IT-Staffing”: “geel”, “iSense Consulting”: “geel”}}, {“klant”: “Ministerie van Volksgezondheid, Welzijn en Sport (VWS) / SZW / NZa”, “categorie”: “Ministerie”, “opdracht”: “ICT-professionals inhuur”, “brokers”: [“HeadFirst”, “Itaq”, “IT Staffing”, “Ordina”, “Sogeti”, “SQL Integrator”, “LINKIT”, “Bartosz”, “DiVetro”, “Need Staffing”], “bron”: “consultancy.nl / linkit.nl”, “voorkeur”: {“HeadFirst”: “groen”, “Itaq”: “geel”, “IT Staffing”: “geel”, “Ordina”: “geel”, “Sogeti”: “geel”, “SQL Integrator”: “geel”, “LINKIT”: “groen”, “Bartosz”: “geel”, “DiVetro”: “geel”, “Need Staffing”: “groen”}}, {“klant”: “CAK (namens VWS)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur, enige intermediair”, “brokers”: [“HeadFirst”], “bron”: “headfirst.nl”, “voorkeur”: {“HeadFirst”: “groen”}}, {“klant”: “AFM (Autoriteit Financiële Markten)”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “Inhuur hoger opgeleid personeel (Finance, Legal, HR, later ICT)”, “brokers”: [“HeadFirst”], “bron”: “headfirst.nl / consultancy.nl”, “voorkeur”: {“HeadFirst”: “groen”}}, {“klant”: “Dienst Uitvoering Onderwijs (DUO) – Groningen”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur (rijksbrede aanbesteding via IUC EZK)”, “brokers”: [“LINKIT”, “DiVetro”, “Need Staffing”, “Get There Holding”, “CIMSOLUTIONS”, “Bergler”, “Seven Stars”, “Circle8”, “Yacht”, “Harvey Nash”], “bron”: “dutchitchannel.nl / circle8.nl / harveynash.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Need Staffing”: “groen”, “Get There Holding”: “geel”, “CIMSOLUTIONS”: “geel”, “Bergler”: “geel”, “Seven Stars”: “groen”, “Circle8”: “groen”, “Yacht”: “geel”, “Harvey Nash”: “groen”}}, {“klant”: “DUO Zoetermeer”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur (LINKIT-consortium mantelovereenkomst)”, “brokers”: [“LINKIT”, “DiVetro”, “Motion10”, “Bartosz”, “JDriven”, “Profource”], “bron”: “linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Motion10”: “geel”, “Bartosz”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “Dienst ICT Uitvoering (DICTU) – t.b.v. EZK/LNV”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur DICTU incl. Rijksdienst voor Identiteitsgegevens (RvIG), ILT, Inspectie SZW”, “brokers”: [“HeadFirst Group”, “Circle8”, “Synprofs”, “Sogeti”, “ItaQ”, “Caesar Accounts”, “Ormer ICT”, “CIMSOLUTIONS”, “SLTN Inter Access”, “LINKIT”, “Bartosz”, “DiVetro”, “Techforce1”, “Profource”, “Akkodis”, “Taxonic”, “Inwork”, “IT-Staffing”, “iSense Consulting”, “Between”, “Ukomst”, “Itaq”], “bron”: “consultancy.nl / computable.nl / linkit.nl / circle8.nl”, “voorkeur”: {“HeadFirst Group”: “groen”, “Circle8”: “groen”, “Synprofs”: “geel”, “Sogeti”: “geel”, “ItaQ”: “geel”, “Caesar Accounts”: “geel”, “Ormer ICT”: “geel”, “CIMSOLUTIONS”: “geel”, “SLTN Inter Access”: “geel”, “LINKIT”: “groen”, “Bartosz”: “geel”, “DiVetro”: “geel”, “Techforce1”: “geel”, “Profource”: “geel”, “Akkodis”: “geel”, “Taxonic”: “geel”, “Inwork”: “geel”, “IT-Staffing”: “geel”, “iSense Consulting”: “geel”, “Between”: “geel”, “Ukomst”: “geel”, “Itaq”: “geel”}}, {“klant”: “Ministerie van EZK en LNV kerndepartementen (incl. ACM, Agentschap Telecom, NVWA, CPB, RVO, Staatsbosbeheer)”, “categorie”: “Ministerie”, “opdracht”: “IT-inhuur kerndepartementen”, “brokers”: [“Circle8”, “CIMSOLUTIONS”, “Verdonck, Klooster & Associates”, “ditp”, “ITIUM”], “bron”: “computable.nl / ditp.nl / circle8.nl”, “voorkeur”: {“Circle8”: “groen”, “CIMSOLUTIONS”: “geel”, “Verdonck, Klooster & Associates”: “geel”, “ditp”: “geel”, “ITIUM”: “geel”}}, {“klant”: “Ministerie van Buitenlandse Zaken”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur”, “brokers”: [“LINKIT”, “DiVetro”, “Bartosz”, “BlueTrail”, “Hero”, “SynProfs”, “StaffingNow”, “CIMSOLUTIONS”, “Brunel”, “De Staffing Groep”, “Yacht”], “bron”: “flexmarkt.nl / divetro.nl / cloudexpo.nl / linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Bartosz”: “geel”, “BlueTrail”: “geel”, “Hero”: “geel”, “SynProfs”: “geel”, “StaffingNow”: “geel”, “CIMSOLUTIONS”: “geel”, “Brunel”: “geel”, “De Staffing Groep”: “geel”, “Yacht”: “geel”}}, {“klant”: “Ministerie van Onderwijs, Cultuur en Wetenschap (OCW) + DUO”, “categorie”: “Ministerie”, “opdracht”: “ICT-inhuur preferred suppliers”, “brokers”: [“Cegeka”, “Sopra Steria”, “Need Staffing IT”, “Hero”, “Seven Stars”, “CIMSOLUTIONS”, “SLTN IT Professionals”, “Brunel”], “bron”: “consultancy.nl”, “voorkeur”: {“Cegeka”: “geel”, “Sopra Steria”: “geel”, “Need Staffing IT”: “groen”, “Hero”: “geel”, “Seven Stars”: “groen”, “CIMSOLUTIONS”: “geel”, “SLTN IT Professionals”: “geel”, “Brunel”: “geel”}}, {“klant”: “CJIB (Centraal Justitieel Incassobureau)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Flexibele IT-inhuur”, “brokers”: [“Seven Stars”, “Get There”, “Need Staffing”], “bron”: “emerce.nl / consultancy.nl”, “voorkeur”: {“Seven Stars”: “groen”, “Get There”: “geel”, “Need Staffing”: “groen”}}, {“klant”: “IND (Immigratie- en Naturalisatiedienst)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuurpartners”, “brokers”: [“Seven Stars”], “bron”: “sevenstars.nl”, “voorkeur”: {“Seven Stars”: “groen”}}, {“klant”: “COA (Centraal Orgaan opvang Asielzoekers)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuurpartners”, “brokers”: [“Seven Stars”], “bron”: “sevenstars.nl”, “voorkeur”: {“Seven Stars”: “groen”}}, {“klant”: “DT&V (Dienst Terugkeer & Vertrek)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuurpartners”, “brokers”: [“Seven Stars”], “bron”: “sevenstars.nl”, “voorkeur”: {“Seven Stars”: “groen”}}, {“klant”: “Rijkswaterstaat (RWS)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-specialisten (via IWFAZ-mantel)”, “brokers”: [“Seven Stars”, “HeadFirst”, “Synprofs”, “ItaQ”, “LINKIT”, “DiVetro”, “Ukomst”, “De Staffing Groep”, “Yacht”], “bron”: “sevenstars.nl / consultancy.nl”, “voorkeur”: {“Seven Stars”: “groen”, “HeadFirst”: “groen”, “Synprofs”: “geel”, “ItaQ”: “geel”, “LINKIT”: “groen”, “DiVetro”: “geel”, “Ukomst”: “geel”, “De Staffing Groep”: “geel”, “Yacht”: “geel”}}, {“klant”: “RDW (Rijksdienst voor het Wegverkeer)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Inhuur ICT-professionals, preferred suppliers”, “brokers”: [“CimSolutions”, “Seven Stars”, “Get There”, “Sogeti”, “ItaQ”, “HeadFirst”], “bron”: “consultancy.nl / ictmagazine.nl”, “voorkeur”: {“CimSolutions”: “geel”, “Seven Stars”: “groen”, “Get There”: “geel”, “Sogeti”: “geel”, “ItaQ”: “geel”, “HeadFirst”: “groen”}}, {“klant”: “RINIS”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuurdiensten”, “brokers”: [“HeadFirst”], “bron”: “consultancy.nl”, “voorkeur”: {“HeadFirst”: “groen”}}, {“klant”: “SSC-ICT (Shared Service Center ICT, Rijk)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuurcontract”, “brokers”: [“LINKIT”], “bron”: “consultancy.nl / linkit.nl”, “voorkeur”: {“LINKIT”: “groen”}}, {“klant”: “Logius”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-professionals leveren”, “brokers”: [“LINKIT”, “Between”, “Ukomst”, “Ordina”, “CIMSOLUTIONS”, “VKA”, “HeadFirst”, “Atos”], “bron”: “consultancy.nl / linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “Between”: “geel”, “Ukomst”: “geel”, “Ordina”: “geel”, “CIMSOLUTIONS”: “geel”, “VKA”: “geel”, “HeadFirst”: “groen”, “Atos”: “geel”}}, {“klant”: “Rijksdienst voor Ondernemend Nederland (RVO)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Inhuur dataspecialisten”, “brokers”: [“8 partijen (niet volledig gespecificeerd in bron)”, “Need Staffing”], “bron”: “consultancy.nl”, “voorkeur”: {“8 partijen (niet volledig gespecificeerd in bron)”: “geel”, “Need Staffing”: “groen”}}, {“klant”: “P-Direkt”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur (LINKIT-consortium mantelovereenkomst)”, “brokers”: [“LINKIT”, “DiVetro”, “Motion10”, “Bartosz”, “JDriven”, “Profource”], “bron”: “linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Motion10”: “geel”, “Bartosz”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “Doc-Direkt”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur (LINKIT-consortium mantelovereenkomst)”, “brokers”: [“LINKIT”, “DiVetro”, “Motion10”, “Bartosz”, “JDriven”, “Profource”], “bron”: “linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Motion10”: “geel”, “Bartosz”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “UBR (Uitvoeringsorganisatie Bedrijfsvoering Rijk)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur (LINKIT-consortium mantelovereenkomst)”, “brokers”: [“LINKIT”, “DiVetro”, “Motion10”, “Bartosz”, “JDriven”, “Profource”], “bron”: “linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Motion10”: “geel”, “Bartosz”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “Rijksvastgoedbedrijf (RVB)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur (LINKIT-consortium mantelovereenkomst)”, “brokers”: [“LINKIT”, “DiVetro”, “Motion10”, “Bartosz”, “JDriven”, “Profource”], “bron”: “linkit.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Motion10”: “geel”, “Bartosz”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “Raad voor de Rechtspraak”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “IT-inhuur (LINKIT-consortium, tevens onderdeel JenV-mantel)”, “brokers”: [“LINKIT”, “DiVetro”, “Bartosz”, “Motion10”, “JDriven”, “Profource”], “bron”: “linkit.nl / dutchitleaders.nl”, “voorkeur”: {“LINKIT”: “groen”, “DiVetro”: “geel”, “Bartosz”: “geel”, “Motion10”: “geel”, “JDriven”: “geel”, “Profource”: “geel”}}, {“klant”: “Wigo4it (uitvoeringsorganisatie 4 grote gemeenten, sociale zekerheid)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Externe inhuur”, “brokers”: [“LINKIT”, “HeadFirst”, “Detron ICT”, “Verdonck, Klooster & Associates”, “De Staffing Groep”], “bron”: “consultancy.nl”, “voorkeur”: {“LINKIT”: “groen”, “HeadFirst”: “groen”, “Detron ICT”: “geel”, “Verdonck, Klooster & Associates”: “geel”, “De Staffing Groep”: “geel”}}, {“klant”: “Unie van Waterschappen”, “categorie”: “Koepelorganisatie”, “opdracht”: “Inhuur extern personeel”, “brokers”: [“HeadFirst”], “bron”: “headfirst.nl”, “voorkeur”: {“HeadFirst”: “groen”}}, {“klant”: “Het Waterschapshuis (HWH)”, “categorie”: “Koepelorganisatie”, “opdracht”: “Tijdelijke ICT-inhuur”, “brokers”: [“HeadFirst”, “3 overige partijen (niet volledig gespecificeerd)”], “bron”: “consultancy.nl”, “voorkeur”: {“HeadFirst”: “groen”, “3 overige partijen (niet volledig gespecificeerd)”: “geel”}}, {“klant”: “UWV”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Inhuur IV-professionals”, “brokers”: [“Circle8”], “bron”: “circle8.nl”, “voorkeur”: {“Circle8”: “groen”}}, {“klant”: “Politie”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “Sourcing en levering inhuurprofessionals (bedrijfsvoering, informatiemanagement, IT), exclusief via 2 intermediairs sinds nov 2025”, “brokers”: [“Circle8”, “Harvey Nash”], “voorkeur”: {“Circle8”: “groen”, “Harvey Nash”: “groen”}, “bron”: “computable.nl / harveynash.nl / inhuurdeskpolitie.nl”, “broker_url_overrides”: {“circle8”: “https://np.circle8.nl/opdrachten”, “harvey nash”: “https://www.harveynash.nl/politie”}}, {“klant”: “Gemeente Utrecht”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“Magnit”], “voorkeur”: {“Magnit”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Huizen”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Omgevingsdienst Noord-Holland Noord”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Rotterdam”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Stedin”, “categorie”: “Netbeheerder”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “NS (Nederlandse Spoorwegen)”, “categorie”: “Staatsdeelneming”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Luchtverkeersleiding Nederland (LVNL)”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Provincie Zuid-Holland”, “categorie”: “Provincie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “NPO”, “categorie”: “Publieke omroep”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “TenneT”, “categorie”: “Staatsdeelneming”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“Magnit”], “voorkeur”: {“Magnit”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Kadaster”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Provincie Gelderland”, “categorie”: “Provincie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Zwolle”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Havenbedrijf Rotterdam”, “categorie”: “Staatsdeelneming”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “HTM”, “categorie”: “Gemeentelijk vervoerbedrijf”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Amsterdam”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Drechtsteden”, “categorie”: “Gemeenschappelijke regeling”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Erasmus Universiteit”, “categorie”: “Onderwijsinstelling”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Amstelveen”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Delft”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Enschede”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Hollands Kroon”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Katwijk”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Lelystad”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Schagen”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Schiedam”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Waalwijk”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Woerden”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Gooise Meren”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Havenbedrijf Amsterdam”, “categorie”: “Staatsdeelneming”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Hogeschool Leiden”, “categorie”: “Onderwijsinstelling”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Hoogheemraadschap Delfland”, “categorie”: “Waterschap”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “IKEA (Inkinga)”, “categorie”: “Private organisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “ISNV (Instituut Nederlandse Veiligheid)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “KvK (Kamer van Koophandel)”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “NIPV”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Provincie Utrecht”, “categorie”: “Provincie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Provincie Flevoland”, “categorie”: “Provincie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “VNG”, “categorie”: “Koepelorganisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Waterschap Hollandse Delta”, “categorie”: “Waterschap”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gemeente Breda”, “categorie”: “Gemeente”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Zorginstituut Nederland”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Omgevingsdienst Noordzeekanaalgebied”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “RIVM (Rijksinstituut voor Volksgezondheid en Milieu)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Circle8”, “Need Staffing”], “voorkeur”: {“Circle8”: “groen”, “Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Universiteit van Amsterdam (UvA)”, “categorie”: “Onderwijsinstelling”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Instituut Mijnbouwschade Groningen (IMG)”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Staatsbosbeheer”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Nederlandse Emissieautoriteit (NEa)”, “categorie”: “Zelfstandig bestuursorgaan”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Rijksinspectie Digitale Infrastructuur (RDI)”, “categorie”: “Uitvoeringsorganisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Universiteit Leiden”, “categorie”: “Onderwijsinstelling”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Need Staffing”], “voorkeur”: {“Need Staffing”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Enexis”, “categorie”: “Netbeheerder”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Harvey Nash”], “voorkeur”: {“Harvey Nash”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “KPN”, “categorie”: “Private organisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Harvey Nash”], “voorkeur”: {“Harvey Nash”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Gasunie”, “categorie”: “Staatsdeelneming”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Harvey Nash”], “voorkeur”: {“Harvey Nash”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “GGD GHOR Nederland”, “categorie”: “Koepelorganisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Circle8”], “voorkeur”: {“Circle8”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Vattenfall”, “categorie”: “Private organisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“HeadFirst”], “voorkeur”: {“HeadFirst”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “A.S.R.”, “categorie”: “Private organisatie”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“Hays”], “voorkeur”: {“Hays”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Alliander”, “categorie”: “Netbeheerder”, “opdracht”: “ICT-inhuur / detachering”, “brokers”: [“HeadFirst”], “voorkeur”: {“HeadFirst”: “groen”}, “bron”: “opgave OptimaData”}, {“klant”: “Hoogheemraadschap De Stichtse Rijnlanden (HDSR)”, “categorie”: “Waterschap”, “opdracht”: “ICT/data-inhuur”, “brokers”: [“OptimaData”], “voorkeur”: {“OptimaData”: “groen”}, “bron”: “opgave OptimaData”}], “broker_urls”: {“needstaffing”: “https://www.needstaffing.nl/Opdrachten”, “need staffing”: “https://www.needstaffing.nl/Opdrachten”, “need staffing it”: “https://www.needstaffing.nl/Opdrachten”, “circle8”: “https://www.circle8.nl/opdrachten”, “harvey nash”: “https://www.harveynash.nl/vacatures”, “linkit”: “https://www.linkit.nl/vacancies/?interim=true”, “seven stars”: “https://www.sevenstars.nl/opdrachten”, “sevenstars”: “https://www.sevenstars.nl/opdrachten”, “headfirst”: “https://www.headfirst.nl/vind-opdrachten/”, “headfirst group”: “https://www.headfirst.nl/vind-opdrachten/”, “hays”: “https://www.hays.nl/vacatures”}};

function normalize(str) {
return str.toLowerCase().normalize(‘NFD’).replace(/[\u0300-\u036f]/g, ”);
}

function isUnknownBroker(b) {
return /niet |n\.b\.|niet volledig|niet gespecificeerd|nog niet publiek/i.test(b);
}

function highlightText(text, query) {
if (!query) return text;
const idx = normalize(text).indexOf(normalize(query));
if (idx === -1) return text;
return text.slice(0, idx) + ‘‘ + text.slice(idx, idx + query.length) + ‘‘ + text.slice(idx + query.length);
}

function populateBrokerFilter() {
const sel = document.getElementById(‘brokerFilter’);
const brokerMap = new Map(); // normalized -> display label
DATA.records.forEach(r => r.brokers.forEach(b => {
if (isUnknownBroker(b)) return;
const key = normalize(b);
if (!brokerMap.has(key)) brokerMap.set(key, b);
}));
const sorted = Array.from(brokerMap.entries()).sort((a,b) => a[1].localeCompare(b[1], ‘nl’));
sorted.forEach(([key, label]) => {
const opt = document.createElement(‘option’);
opt.value = key;
opt.textContent = label;
sel.appendChild(opt);
});
}

function render() {
const query = document.getElementById(‘search’).value.trim();
const sortMode = document.getElementById(‘sortSelect’).value;
const brokerKey = document.getElementById(‘brokerFilter’).value;
const resultsEl = document.getElementById(‘results’);

let records = DATA.records.slice();

if (sortMode === ‘klant’) {
records.sort((a,b) => a.klant.localeCompare(b.klant, ‘nl’));
} else if (sortMode === ‘broker_count’) {
records.sort((a,b) => b.brokers.length – a.brokers.length);
} else if (sortMode === ‘groen_count’) {
const greenCount = r => r.brokers.filter(b => r.voorkeur[b] === ‘groen’).length;
records.sort((a,b) => greenCount(b) – greenCount(a));
} else if (sortMode === ‘optimadata’) {
const hasOD = r => r.brokers.some(b => normalize(b) === ‘optimadata’) ? 0 : 1;
records.sort((a,b) => {
const diff = hasOD(a) – hasOD(b);
if (diff !== 0) return diff;
return a.klant.localeCompare(b.klant, ‘nl’);
});
}

let filtered = records;
if (brokerKey) {
filtered = filtered.filter(r => r.brokers.some(b => normalize(b) === brokerKey));
}
if (query) {
const nq = normalize(query);
filtered = filtered.filter(r => {
if (normalize(r.klant).includes(nq)) return true;
if (normalize(r.opdracht).includes(nq)) return true;
if (r.brokers.some(b => normalize(b).includes(nq))) return true;
return false;
});
}

resultsEl.innerHTML = ”;

let countText = filtered.length + ‘ van ‘ + records.length + ‘ opdrachtgever-raamovereenkomsten getoond’;
if (brokerKey) {
const sel = document.getElementById(‘brokerFilter’);
const label = sel.options[sel.selectedIndex].textContent;
countText = filtered.length + ‘ klanten met broker “‘ + label + ‘”‘;
}
document.getElementById(‘countLine’).textContent = countText;

if (filtered.length === 0) {
resultsEl.innerHTML = ‘

Geen resultaten gevonden voor deze zoekterm.

‘;
return;
}

filtered.forEach(r => {
const card = document.createElement(‘div’);
card.className = ‘card’;

const klantHtml = highlightText(r.klant, query);
const opdrachtHtml = highlightText(r.opdracht, query);

const chipsHtml = r.brokers.slice().sort((a,b) => {
const order = {groen: 0, geel: 1, rood: 2};
const va = isUnknownBroker(a) ? 3 : (order[r.voorkeur[a]] ?? 1);
const vb = isUnknownBroker(b) ? 3 : (order[r.voorkeur[b]] ?? 1);
return va – vb;
}).map(b => {
const unknown = isUnknownBroker(b);
const level = unknown ? ‘unknown’ : (r.voorkeur[b] || ‘geel’);
const nq = normalize(query);
const isSearchHit = query && !unknown && normalize(b).includes(nq);
const isBrokerFilterHit = brokerKey && normalize(b) === brokerKey;
const isHit = isSearchHit || isBrokerFilterHit;
const cls = ‘chip ‘ + level + (isHit ? ‘ hit’ : ”);
const label = isSearchHit ? highlightText(b, query) : b;
const bKey = normalize(b);
const overrideUrl = r.broker_url_overrides && r.broker_url_overrides[bKey];
const url = overrideUrl || (DATA.broker_urls && DATA.broker_urls[bKey]);
if (url) {
return ‘‘ + label + ‘‘;
}
return ‘‘ + label + ‘‘;
}).join(”);

card.innerHTML = `

${r.categorie}

${klantHtml}

${opdrachtHtml}
Brokers (${r.brokers.length})
${chipsHtml}
Bron: ${r.bron}

`;
resultsEl.appendChild(card);
});
}

function computeStats() {
const klanten = new Set(DATA.records.map(r => r.klant));
const brokers = new Set();
let groenCount = 0;
DATA.records.forEach(r => r.brokers.forEach(b => {
if (!isUnknownBroker(b)) brokers.add(normalize(b));
if (r.voorkeur[b] === ‘groen’) groenCount++;
}));
document.getElementById(‘statKlanten’).textContent = klanten.size;
document.getElementById(‘statBrokers’).textContent = brokers.size;
document.getElementById(‘statGroen’).textContent = groenCount;
document.getElementById(‘statGenerated’).textContent = DATA.generated || ‘-‘;
}

document.getElementById(‘search’).addEventListener(‘input’, render);
document.getElementById(‘sortSelect’).addEventListener(‘change’, render);
document.getElementById(‘brokerFilter’).addEventListener(‘change’, render);

computeStats();
populateBrokerFilter();
render();

Hoe werkt dat met OptimaData?

In 6 stappen naar je nieuwe opdracht via OptimaData

1 Reageren

Je kan direct op elke opdracht reageren. Enkel CV en korte motivatie is voldoende

2 Selectie

Uiterlijk op de door ons gepubliceerde sluitingsdatum maken we een keuze welke kandidaat het beste past. Je krijgt uiterlijk op onze sluitingsdatum ook te horen als we een andere keuze hebben gemaakt. Wat jou overigens ook nog de mogelijkheid geeft om via een andere partij alsnog bij deze opdrachtgever een offerte in te dienen.

3 Geselecteerd

Als we je hebben geselecteerd geven we je een beetje huiswerk (mede met behulp van een objectieve AI-match) om daarmee naast het CV te verbeteren ook input aan te leveren voor de maatwerk offerte/voorstel. Daarvoor plannen we ook vaak een gezamenlijk moment (staat in de opdracht vermeld). Dan sparren we ook over de prijs die we gaan indienen, met andere woorden, hoe maken we de meeste kans.

4 Indienen offerte

Zodra jij je huiswerk hebt ingeleverd gaan wij aan de slag. Soms vragen we nog wat verdieping aan te brengen. Zodra alles goed op orde is dienen we de offerte in. Wij vragen geen exclusiviteit, je kan nog steeds andere opdrachten aannemen, elders offertes indienen of je terugtrekken.

5 Uitnodiging gesprek

Belangrijkste doel van bovenstaande is jou aan tafel te brengen. Zodra wij bericht hebben dat je op gesprek mag, laten we dat direct weten en kunnen je nog adviseren rond softskills en competenties die vaak in zo’n gesprek worden afgetast. Daarnaast hebben we een beproefde methode om je voor te bereiden op het gesprek, je doet dat niet elke dag en daarom is het goed om nog eens scherp voor ogen te krijgen waar je op kunt letten en hoe je jezelf succesvol kan presenteren.

6 Gunning

Als de opdracht aan je gegund is, dan vieren we dat! En natuurlijk gaan we de onboarding starten, contracten inregelen en zorgen dat je een zachte landing kan maken in je nieuwe opdracht.

Persoonlijk contact

Mocht je twijfelen of een vraag hebben, even willen sparren, je kan ons altijd bellen. Bij ons is in dit proces niet zo heel veel geautomatiseerd, wij doen geen bulk en enorme volumes. Wij kennen elke opdracht inhoudelijk. Persoonlijke aandacht en werkelijk gezien worden vinden wij erg belangrijk. Aarzel niet om ons te contacten.

Direct naar inhuuropdrachten

Wij staan voor

Pieter Groenendijk

Recruitment Consultant
Pieter Groenendijk - Recruitment Consultant
01 06
Secret Link