{"id":34116,"date":"2026-09-10T20:18:31","date_gmt":"2026-09-10T19:18:31","guid":{"rendered":"https:\/\/www.jobfunders.com\/?page_id=34116"},"modified":"2026-09-11T11:36:52","modified_gmt":"2026-09-11T10:36:52","slug":"loon-leerkracht","status":"publish","type":"page","link":"https:\/\/www.jobfunders.com\/en\/loon-leerkracht\/","title":{"rendered":"How much does a teacher earn in 2026?"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS hero&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS hero code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs { --paper:#FAF8F4; --card:#FFFFFF; --ink:#26303F; --soft:#5A6478; --navy9:#232E42; --or0:#FBF3E6; --or5:#E1993B; --or6:#C97F26; --line:#E6E1D8; }\n  .jfs, .jfs * { box-sizing:border-box; margin:0; padding:0; }\n  .jfs { background:var(--paper); color:var(--ink); font-family:'Poppins',Helvetica,Arial,sans-serif; font-size:16px; line-height:1.65; }\n  .jfs .wrap { max-width:1140px; margin:0 auto; padding:0 24px; }\n  .jfs .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  .jfs .btn { display:inline-block; font-weight:700; font-size:15.5px; border-radius:10px; padding:15px 28px; text-decoration:none; transition:background .2s ease; border:0; cursor:pointer; font-family:inherit; }\n  .jfs .btn-primary { background:var(--or5); color:#FFFFFF; }\n  .jfs .btn-primary:hover { background:var(--or6); color:#FFFFFF; }\n  .jfs .btn-lijn { border:2px solid rgba(255,255,255,.35); color:#FFFFFF; background:transparent; }\n  .jfs .btn-lijn:hover { border-color:#FFFFFF; color:#FFFFFF; }\n  .jfs .btn-donker { border:2px solid var(--navy9); color:var(--navy9); background:transparent; }\n  .jfs .btn-donker:hover { background:var(--navy9); color:#FFFFFF; }\n  .jfs .btn:focus-visible { outline:3px solid var(--or6); outline-offset:2px; }\n  .jfs .syshero { background:var(--navy9); color:#EDF0F6; position:relative; overflow:hidden; padding:72px 0 80px; }\n  .jfs .syshero::before { content:\"\"; position:absolute; inset:0; opacity:.05; background-image:radial-gradient(120px 70px at 12% 18%, #fff 0 60px, transparent 61px),radial-gradient(110px 64px at 78% 12%, #fff 0 55px, transparent 56px),radial-gradient(100px 60px at 30% 78%, #fff 0 50px, transparent 51px),radial-gradient(130px 74px at 88% 70%, #fff 0 62px, transparent 63px); }\n  .jfs .syshero .wrap { position:relative; max-width:900px; text-align:center; }\n  .jfs .syshero h1 { font-size:clamp(28px,4.2vw,44px); font-weight:800; line-height:1.15; color:#FFFFFF; text-wrap:balance; }\n  .jfs .syshero h1 em { font-style:normal; color:var(--or5); }\n  .jfs .syshero .sub { margin:18px auto 0; max-width:62ch; color:#C2CBDC; }\n  .jfs .kerngrid { margin-top:36px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; text-align:left; }\n  .jfs .kern { background:var(--card); border-radius:14px; padding:20px 22px; box-shadow:0 12px 30px rgba(0,0,0,.22); }\n  .jfs .kern b { display:block; font-size:clamp(22px,2.6vw,28px); font-weight:800; color:var(--navy9); font-variant-numeric:tabular-nums; line-height:1.2; }\n  .jfs .kern span { display:block; margin-top:8px; font-size:13.5px; color:var(--soft); line-height:1.5; }\n  .jfs .bronregel { margin-top:22px; font-size:13px; color:#8D99B0; }\n  .jfs .bronregel a { color:#C2CBDC; }\n  .jfs .kerngrid br { display:none; }\n  .jfs [hidden] { display:none !important; }\n  @media (max-width:860px){ .jfs .kerngrid { grid-template-columns:1fr; } }\n<\/style>\n<div class=\"jfs\">\n<section class=\"syshero\">\n<div class=\"wrap\">\n    <span class=\"eyebrow\">Loon &amp; barema&#8217;s &middot; onderwijs 2026<\/span><\/p>\n<h1>How much does a <em>teacher<\/em> earn in 2026?<\/h1>\n<pee class=\"sub\">The official gross salaries in Flemish education, by diploma and seniority \u2014 plus additional benefits and where you can start working today.<\/pee>\n<div class=\"kerngrid\">\n<div class=\"kern\"><b>\u20ac 3,163.75<\/b><span>Gross monthly starting salary with a bachelor&#039;s degree (preschool, primary and secondary education)<\/span><\/div>\n<div class=\"kern\"><b>\u20ac3,962.40<\/b><span>Gross monthly starting salary with a Master&#039;s degree and teacher training<\/span><\/div>\n<div class=\"kern\"><b>\u20ac 5,679.66 \u2013 \u20ac 7,227.32<\/b><span>Gross monthly final salary after a full career (bachelor \u2013 master)<\/span><\/div>\n<\/div>\n<pee class=\"bronregel\">Source: salary scales 141, 148, 301 and 501 of the Flemish Ministry of Education and Training, valid from 1 July 2026 \u00b7 gross, full-time position \u00b7 <a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salaris\/schalen\/\" target=\"_blank\" rel=\"noopener\">view all scales<\/a><\/pee>\n  <\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS tabel&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS tabel code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs .tabelsectie { padding:72px 0 56px; }\n  .jfs .tabelsectie .wrap { max-width:900px; }\n  .jfs .tabelsectie h2 { font-size:clamp(24px,3.2vw,32px); font-weight:800; color:var(--navy9); text-wrap:balance; }\n  .jfs .tabelsectie .intro { margin-top:12px; color:var(--soft); }\n  .jfs .tabelbox { margin-top:26px; overflow-x:auto; background:var(--card); border-radius:16px; box-shadow:0 6px 18px rgba(35,46,66,.07); }\n  .jfs .tabelbox table { width:100%; margin:0; border:0; border-collapse:collapse; font-size:15px; font-variant-numeric:tabular-nums; }\n  .jfs .tabelbox th { background:var(--navy9); color:#FFFFFF; text-align:left; padding:12px 16px; font-size:13.5px; font-weight:700; border:0; }\n  .jfs .tabelbox th.num, .jfs .tabelbox td.num { text-align:right; }\n  .jfs .tabelbox td.num { white-space:nowrap; }\n  .jfs .tabelbox td { padding:11px 16px; border:0; border-bottom:1px solid var(--line); color:var(--ink); }\n  .jfs .tabelbox tr:last-child td { border-bottom:0; font-weight:700; }\n  @media (max-width:520px){ .jfs .tabelbox th, .jfs .tabelbox td { padding:10px 6px; font-size:13px; } }\n  .jfs .voetnoot { margin-top:14px; font-size:13.5px; color:var(--soft); }\n  .jfs .voetnoot p { margin-top:6px; }\n  .jfs .voetnoot a { color:var(--or6); font-weight:700; }\n<\/style>\n<div class=\"jfs\">\n<section class=\"tabelsectie\">\n<div class=\"wrap\">\n<h2>Gross monthly salary based on seniority<\/h2>\n<pee class=\"intro\">Your salary in education is fixed within a salary scale: it depends on your qualifications and increases with your years of financial seniority. This is how the gross monthly salary for a full-time position evolves.<\/pee>\n<div class=\"tabelbox\">\n<table>\n<thead>\n<tr>\n<th>Seniority<\/th>\n<th class=\"num\">Bachelor\u00b9<\/th>\n<th class=\"num\">Master + teacher training\u00b2<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Start (0 years)<\/td>\n<td class=\"num\">\u20ac 3,163.75<\/td>\n<td class=\"num\">\u20ac3,962.40<\/td>\n<\/tr>\n<tr>\n<td>5 years<\/td>\n<td class=\"num\">\u20ac 3,643.76<\/td>\n<td class=\"num\">\u20ac 4,587.24<\/td>\n<\/tr>\n<tr>\n<td>10 years<\/td>\n<td class=\"num\">\u20ac3,983.08<\/td>\n<td class=\"num\">\u20ac5,067.25<\/td>\n<\/tr>\n<tr>\n<td>15 years<\/td>\n<td class=\"num\">\u20ac 4,492.05<\/td>\n<td class=\"num\">\u20ac5,787.27<\/td>\n<\/tr>\n<tr>\n<td>20 years<\/td>\n<td class=\"num\">\u20ac 4,831.37<\/td>\n<td class=\"num\">\u20ac6,267.29<\/td>\n<\/tr>\n<tr>\n<td>25 years<\/td>\n<td class=\"num\">\u20ac 5,340.34<\/td>\n<td class=\"num\">\u20ac6,987.31<\/td>\n<\/tr>\n<tr>\n<td>Final salary (36 years)<\/td>\n<td class=\"num\">\u20ac5,679.66<\/td>\n<td class=\"num\">\u20ac7,227.32<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"voetnoot\"><pee>\u00b9 Kindergarten teacher (scale 141), primary school teacher (scale 148) and secondary school teacher with an educational bachelor&#039;s degree, e.g. for mathematics in the first and second stages (scale 301). The three scales have the same amounts at each step.<\/pee><pee>\u00b2 Teacher with a Master&#039;s degree and teacher training in the second and third stages of secondary education, e.g. for mathematics (scale 501).<\/pee><pee>Salaries increase in increments of one or two years; the table shows the amount applicable after the stated number of years. You can look up which salary scale your diploma yields for your profession in the <a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salaris\/bekwaamheidsbewijzen\" target=\"_blank\" rel=\"noopener\">database of competency certificates<\/a>.<\/pee><\/div>\n<\/p><\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS info&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS info code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs .info { background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:64px 0; }\n  .jfs .info .wrap { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:start; }\n  .jfs .info h2 { font-size:clamp(22px,2.8vw,28px); font-weight:800; color:var(--navy9); }\n  .jfs .info ul { margin-top:18px; padding:0; list-style:none; }\n  .jfs .info li { padding-left:28px; position:relative; margin-top:12px; color:var(--soft); }\n  .jfs .info li b { color:var(--ink); }\n  .jfs .info li::before { content:\"\u2713\"; position:absolute; left:0; color:var(--or5); font-weight:800; }\n  .jfs .info li a { color:var(--or6); font-weight:700; }\n  .jfs .bronnen { background:var(--paper); border-radius:16px; padding:24px 26px; }\n  .jfs .bronnen h3 { font-size:15px; font-weight:800; color:var(--navy9); letter-spacing:0.02em; }\n  .jfs .bronnen li::before { content:\"\u2192\"; }\n  .jfs .info ul br { display:none; }\n  @media (max-width:900px){ .jfs .info .wrap { grid-template-columns:1fr; gap:32px; } }\n<\/style>\n<div class=\"jfs\">\n<section class=\"info\">\n<div class=\"wrap\">\n<div>\n<h2>Good to know<\/h2>\n<ul>\n<li><b>Gross and full-time.<\/b> The amounts apply to a full-time assignment; for a part-time assignment, you receive a proportional share.<\/li>\n<li><b>Holiday allowance and end-of-year bonus<\/b> come on top of that.<\/li>\n<li><b>Automatic indexing.<\/b> Wages rise in line with the index; the table shows the level as of July 1, 2026.<\/li>\n<li><b>Temporary or permanent appointment.<\/b> The gross salary is the same, but the deductions differ: temporary teachers pay social security contributions, while permanent employees pay a contribution for the survivor&#039;s pension and health insurance.<\/li>\n<li><b>Experience from another sector<\/b> can count towards your salary under certain conditions \u2014 interesting for lateral entrants.<\/li>\n<li><b>Net?<\/b> That depends on your status and family situation. The <a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salarissimulator\/\" target=\"_blank\" rel=\"noopener\">official education salary simulator<\/a> calculates it for you.<\/li>\n<\/ul><\/div>\n<div class=\"bronnen\">\n<h3>Official sources<\/h3>\n<ul>\n<li><a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salaris\/schalen\/\" target=\"_blank\" rel=\"noopener\">Salary scales for education staff<\/a><\/li>\n<li><a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salaris\/bekwaamheidsbewijzen\" target=\"_blank\" rel=\"noopener\">Database of competency certificates (which scale for which diploma)<\/a><\/li>\n<li><a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salarissimulator\/\" target=\"_blank\" rel=\"noopener\">Education salary simulator (gross and net)<\/a><\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS jobs&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS jobs code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs .jobs { padding:72px 0; }\n  .jfs .jobs h2 { font-size:clamp(24px,3.2vw,32px); font-weight:800; color:var(--navy9); text-align:center; text-wrap:balance; }\n  .jfs .jobgrid { margin-top:30px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }\n  .jfs .jobkaart { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; text-decoration:none; display:flex; flex-direction:column; transition:transform .15s ease; min-height:128px; }\n  .jfs a.jobkaart:hover { transform:translateY(-3px); }\n  .jfs .jobkaart .jtitel { font-size:14.5px; font-weight:700; color:var(--navy9); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }\n  .jfs .jobkaart .jmeta { margin-top:8px; font-size:13px; color:var(--soft); display:block; }\n  .jfs .jobkaart .jgo { margin-top:auto; padding-top:12px; font-size:13.5px; font-weight:700; color:var(--or6); display:block; }\n  .jfs .jobkaart.skelet .balk { display:block; border-radius:6px; background:linear-gradient(90deg,#EDEAE3 25%,#F6F3EC 50%,#EDEAE3 75%); background-size:200% 100%; animation:jfsGlans 1.2s linear infinite; }\n  @keyframes jfsGlans { from { background-position:200% 0; } to { background-position:-200% 0; } }\n  .jfs .jobkaart.skelet .balk.b1 { height:15px; width:85%; }\n  .jfs .jobkaart.skelet .balk.b2 { height:15px; width:55%; margin-top:6px; }\n  .jfs .jobkaart.skelet .balk.b3 { height:12px; width:70%; margin-top:12px; }\n  .jfs .jobs .meer { margin-top:28px; text-align:center; }\n  .jfs .jobgrid br, .jfs .jobkaart br { display:none; }\n  @media (max-width:900px){ .jfs .jobgrid { grid-template-columns:repeat(2,1fr); } }\n  @media (max-width:520px){ .jfs .jobgrid { grid-template-columns:1fr; } }\n<\/style>\n<div class=\"jfs\">\n<section class=\"jobs\" id=\"s-jobblok\">\n<div class=\"wrap\">\n<h2>Looking to get started as a teacher? These vacancies are currently open.<\/h2>\n<style>\n  .buurt { --b-ink:#EDF0F6; --b-zacht:#C2CBDC; --b-chip:rgba(255,255,255,.08); --b-rand:rgba(255,255,255,.24); --b-randhover:rgba(255,255,255,.6); --b-link:var(--or5); margin:0 0 18px; text-align:center; }\n  .buurt.licht { --b-ink:var(--navy9); --b-zacht:var(--soft); --b-chip:#FFFFFF; --b-rand:var(--line); --b-randhover:var(--navy9); --b-link:var(--or6); margin:24px 0 0; }\n  .buurt .buurtpaneel { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }\n  .buurt .buurtrij { display:contents; }\n  .buurt .chip { display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 14px; border-radius:999px; border:1px solid var(--b-rand); background:var(--b-chip); color:var(--b-ink); font-family:inherit; font-size:13.5px; font-weight:600; line-height:1; white-space:nowrap; cursor:pointer; flex:none; -webkit-appearance:none; appearance:none; transition:border-color .15s ease, background .15s ease; }\n  .buurt .chip:hover { border-color:var(--b-randhover); }\n  .buurt .chip[aria-pressed=\"true\"] { background:var(--or5); border-color:var(--or5); color:#FFFFFF; }\n  .buurt .chip svg { width:14px; height:14px; flex:none; }\n  .buurt .buurtveld { flex:0 1 250px; }\n  .buurt .buurtveld input[type=text] { width:100%; height:36px; border:1px solid var(--b-rand); border-radius:999px; padding:0 16px; font-family:inherit; font-size:13.5px; color:var(--ink); background:#FFFFFF; }\n  .buurt .buurtstatus { margin-top:12px; font-size:14px; line-height:1.5; color:var(--b-zacht); }\n  .buurt .buurtstatus a { margin-left:8px; color:var(--b-link); font-weight:700; text-decoration:none; }\n  .buurt .buurtstatus a:hover { text-decoration:underline; }\n  .buurt .buurtstatus button { margin-left:12px; padding:0; border:0; background:none; font-family:inherit; font-size:14px; color:var(--b-ink); text-decoration:underline; cursor:pointer; }\n  .buurt .chip:focus-visible, .buurt .buurtveld input:focus-visible, .buurt .buurtstatus a:focus-visible, .buurt .buurtstatus button:focus-visible { outline:3px solid var(--or6); outline-offset:2px; }\n  .buurt .vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }\n  .buurt br { display:none; }\n  .buurt [hidden] { display:none !important; }\n  @media (max-width:640px){\n    .buurt .buurtpaneel { display:block; }\n    .buurt .buurtrij { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; margin:0 -24px; padding:2px 24px 6px; scrollbar-width:none; }\n    .buurt .buurtrij::-webkit-scrollbar { display:none; }\n    .buurt .buurtveld { margin-top:8px; }\n    .buurt .buurtveld input[type=text] { font-size:16px; height:40px; }\n  }\n<\/style>\n<div class=\"buurt licht\" id=\"jfb\">\n<div class=\"buurtpaneel\" id=\"jfb-paneel\">\n<div class=\"buurtrij\"><button type=\"button\" class=\"chip\" data-stad=\"vlaanderen\" aria-pressed=\"true\">All of Flanders<\/button><button type=\"button\" class=\"chip chip-gps\" id=\"jfb-gps\" aria-pressed=\"false\"><svg viewbox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z\"\/><\/svg>Use my location<\/button><button type=\"button\" class=\"chip\" data-stad=\"antwerpen\" data-naam=\"Antwerpen\" data-lat=\"51.2194\" data-lng=\"4.4025\" aria-pressed=\"false\">Antwerp<\/button><button type=\"button\" class=\"chip\" data-stad=\"gent\" data-naam=\"Gent\" data-lat=\"51.0543\" data-lng=\"3.7174\" aria-pressed=\"false\">Ghent<\/button><button type=\"button\" class=\"chip\" data-stad=\"brugge\" data-naam=\"Brugge\" data-lat=\"51.2093\" data-lng=\"3.2247\" aria-pressed=\"false\">Bruges<\/button><button type=\"button\" class=\"chip\" data-stad=\"leuven\" data-naam=\"Leuven\" data-lat=\"50.8798\" data-lng=\"4.7005\" aria-pressed=\"false\">Leuven<\/button><button type=\"button\" class=\"chip\" data-stad=\"mechelen\" data-naam=\"Mechelen\" data-lat=\"51.0259\" data-lng=\"4.4776\" aria-pressed=\"false\">Mechelen<\/button><button type=\"button\" class=\"chip\" data-stad=\"hasselt\" data-naam=\"Hasselt\" data-lat=\"50.9307\" data-lng=\"5.3378\" aria-pressed=\"false\">Hasselt<\/button><button type=\"button\" class=\"chip\" data-stad=\"aalst\" data-naam=\"Aalst\" data-lat=\"50.9378\" data-lng=\"4.0402\" aria-pressed=\"false\">Aalst<\/button><button type=\"button\" class=\"chip\" data-stad=\"kortrijk\" data-naam=\"Kortrijk\" data-lat=\"50.828\" data-lng=\"3.2649\" aria-pressed=\"false\">Kortrijk<\/button><button type=\"button\" class=\"chip\" data-stad=\"sint-niklaas\" data-naam=\"Sint-Niklaas\" data-lat=\"51.1449\" data-lng=\"4.1525\" aria-pressed=\"false\">Sint-Niklaas<\/button><button type=\"button\" class=\"chip\" data-stad=\"oostende\" data-naam=\"Oostende\" data-lat=\"51.2154\" data-lng=\"2.9286\" aria-pressed=\"false\">Ostend<\/button><button type=\"button\" class=\"chip\" data-stad=\"roeselare\" data-naam=\"Roeselare\" data-lat=\"50.9447\" data-lng=\"3.1233\" aria-pressed=\"false\">Roeselare<\/button><button type=\"button\" class=\"chip\" data-stad=\"turnhout\" data-naam=\"Turnhout\" data-lat=\"51.3227\" data-lng=\"4.9447\" aria-pressed=\"false\">Turnhout<\/button><button type=\"button\" class=\"chip\" data-stad=\"waregem\" data-naam=\"Waregem\" data-lat=\"50.889\" data-lng=\"3.4271\" aria-pressed=\"false\">Waregem<\/button><\/div>\n<div class=\"buurtveld\"><label class=\"vh\" for=\"jfb-loc\">Other municipality or postal code<\/label><input id=\"jfb-loc\" type=\"text\" placeholder=\"Other municipality or postal code\" autocomplete=\"off\"><\/div>\n<\/div>\n<pee class=\"buurtstatus\" id=\"jfb-status\" aria-live=\"polite\" hidden><span id=\"jfb-tekst\"><\/span><a id=\"jfb-alle\" target=\"_blank\" rel=\"noopener\" hidden><\/a><button type=\"button\" id=\"jfb-wijzig\" hidden>Change<\/button><\/pee>\n<\/div>\n<div class=\"jobgrid\" id=\"s-jobgrid\">\n<div class=\"jobkaart skelet\"><span class=\"balk b1\"><\/span><span class=\"balk b2\"><\/span><span class=\"balk b3\"><\/span><\/div>\n<div class=\"jobkaart skelet\"><span class=\"balk b1\"><\/span><span class=\"balk b2\"><\/span><span class=\"balk b3\"><\/span><\/div>\n<div class=\"jobkaart skelet\"><span class=\"balk b1\"><\/span><span class=\"balk b2\"><\/span><span class=\"balk b3\"><\/span><\/div>\n<div class=\"jobkaart skelet\"><span class=\"balk b1\"><\/span><span class=\"balk b2\"><\/span><span class=\"balk b3\"><\/span><\/div>\n<\/div>\n<pee class=\"meer\"><a class=\"btn btn-donker\" id=\"s-meer\" href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-leerkracht\/\">View all vacancies for teachers<\/a><\/pee>\n  <\/div>\n<\/section>\n<\/div>\n<p><script>\n(function () {\n  var API = 'https:\/\/www.jobfunders.com\/app\/api\/jobs\/v2\/public\/candidate\/job';\n  var ZOEK = 'leerkracht'; var CAMP = 'loon-leerkracht'; var KAART = 'jobkaart'; var STAD = '';\n  var box = document.getElementById('jfb');\n  var grid = document.getElementById('s-jobgrid');\n  var blok = document.getElementById('s-jobgrid');\n  var knop = document.getElementById('s-meer');\n  if (!box || !grid) { return; }\n  var paneel = document.getElementById('jfb-paneel');\n  var status = document.getElementById('jfb-status');\n  var tekst = document.getElementById('jfb-tekst');\n  var alle = document.getElementById('jfb-alle');\n  var wijzig = document.getElementById('jfb-wijzig');\n  var loc = document.getElementById('jfb-loc');\n  var gps = document.getElementById('jfb-gps');\n  var chips = box.querySelectorAll('.chip[data-stad]');\n  var EN = location.pathname.indexOf('\/en\/') === 0;\n  function T(nl, en) { return EN ? en : nl; }\n  var knopTekst = knop ? knop.textContent : ''; var knopHref = knop ? knop.getAttribute('href') : '';\n  var verzoek = 0; var mapsGeladen = false; var mapsKlaar = false;\n  window.jfBuurt = { keuze: null, T: T };\n  function slugify(t) {\n    return String(t).toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, '').replace(\/[^a-z0-9]+\/g, '-').replace(\/^-+|-+$\/g, '');\n  }\n  function toon(jobs, buurt) {\n    grid.innerHTML = '';\n    jobs.slice(0, 4).forEach(function (job) {\n      var a = document.createElement('a');\n      a.className = KAART;\n      a.href = 'https:\/\/www.jobfunders.com\/app\/job\/' + job.id + '\/' + slugify(job.title) + '\/?utm_source=website&utm_campaign=' + CAMP + '&utm_content=' + (buurt ? 'jobsuggestie-buurt' : 'jobsuggestie');\n      a.target = '_blank'; a.rel = 'noopener';\n      var stad = job.city ? String(job.city) : '';\n      if (stad && stad === stad.toUpperCase()) {\n        stad = stad.toLowerCase().replace(\/(^|[\\s-])([a-z])\/g, function (m, p, l) { return p + l.toUpperCase(); });\n      }\n      var firma = (job.company && job.company.name) ? job.company.name : (job.scrapedCompanyName || '');\n      var t = document.createElement('span'); t.className = 'jtitel'; t.textContent = job.title;\n      var m = document.createElement('span'); m.className = 'jmeta'; m.textContent = stad + (firma ? ' \u00b7 ' + firma : '');\n      var g = document.createElement('span'); g.className = 'jgo'; g.textContent = T('Bekijk job \u2192', 'View job \u2192');\n      a.appendChild(t); a.appendChild(m); a.appendChild(g);\n      grid.appendChild(a);\n    });\n  }\n  function haal(k) {\n    return fetch(API + '?search=' + encodeURIComponent(ZOEK) + '&page=1&limit=4' + (k ? '&lat=' + k.lat + '&lng=' + k.lng + '&distance=30' : ''))\n      .then(function (r) { return r.json(); });\n  }\n  function zoekUrl(k) {\n    return 'https:\/\/www.jobfunders.com\/app\/2.0\/search-jobs\/?page=1&loading=true&search=' + encodeURIComponent(ZOEK) + '&distance=30&location=' + encodeURIComponent(k.plaats) + '&lng=' + k.lng + '&lat=' + k.lat;\n  }\n  function vanChip(c) {\n    return { bron: 'chip', stad: c.getAttribute('data-stad'), naam: c.textContent.trim(), plaats: c.getAttribute('data-naam'), lat: parseFloat(c.getAttribute('data-lat')), lng: parseFloat(c.getAttribute('data-lng')) };\n  }\n  function chipVoor(stad) {\n    var gevonden = null;\n    Array.prototype.forEach.call(chips, function (c) { if (c.getAttribute('data-stad') === stad) { gevonden = c; } });\n    return gevonden;\n  }\n  function melding(txt, url) {\n    tekst.textContent = txt;\n    alle.hidden = !url;\n    if (url) { alle.href = url; alle.textContent = T('Bekijk ze allemaal \u2192', 'View them all \u2192'); }\n    status.hidden = false;\n  }\n  function verberg() { box.hidden = true; if (blok) { blok.hidden = true; } }\n  function laad(k) {\n    var nr = ++verzoek;\n    window.jfBuurt.keuze = k;\n    Array.prototype.forEach.call(chips, function (c) {\n      var aan = k ? (k.bron === 'chip' && c.getAttribute('data-stad') === k.stad) : c.getAttribute('data-stad') === 'vlaanderen';\n      c.setAttribute('aria-pressed', aan ? 'true' : 'false');\n    });\n    gps.setAttribute('aria-pressed', (k && k.bron === 'gps') ? 'true' : 'false');\n    document.dispatchEvent(new CustomEvent('jfbuurt'));\n    if (knop) { knop.textContent = knopTekst; knop.setAttribute('href', knopHref); }\n    if (k) { melding(T('Vacatures zoeken rond ', 'Looking for jobs near ') + k.naam + '\u2026', null); } else { status.hidden = true; }\n    haal(k).then(function (resp) {\n      if (nr !== verzoek) { return; }\n      var jobs = (resp && resp.data && resp.data.jobs) ? resp.data.jobs : [];\n      if (!k) {\n        if (jobs.length) { toon(jobs, false); } else { verberg(); }\n        return;\n      }\n      if (!jobs.length) {\n        melding(T('Geen vacatures binnen 30 km van ' + k.naam + '. Hieronder zie je het aanbod in heel Vlaanderen.', 'No jobs within 30 km of ' + k.naam + '. Below are jobs across Flanders.'), null);\n        haal(null).then(function (r2) {\n          var j2 = (r2 && r2.data && r2.data.jobs) ? r2.data.jobs : [];\n          if (nr === verzoek && j2.length) { toon(j2, false); }\n        }).catch(function () {});\n        return;\n      }\n      toon(jobs, true);\n      var n = resp.totalCount || jobs.length;\n      var nTxt = n.toLocaleString(EN ? 'en-GB' : 'nl-BE');\n      melding(nTxt + ' ' + (n === 1 ? T('vacature', 'job') : T('vacatures', 'jobs')) + T(' binnen 30 km van ', ' within 30 km of ') + k.naam + '.', zoekUrl(k));\n      if (knop) {\n        knop.textContent = n === 1 ? T('Bekijk de vacature rond ', 'View the job near ') + k.naam : T('Bekijk alle ' + nTxt + ' vacatures rond ' + k.naam, 'View all ' + nTxt + ' jobs near ' + k.naam);\n        knop.setAttribute('href', zoekUrl(k));\n      }\n    }).catch(function () {\n      if (nr !== verzoek) { return; }\n      if (k) { melding(T('Dat lukte even niet. Probeer het opnieuw.', 'That did not work. Please try again.'), null); } else { verberg(); }\n    });\n  }\n  function bewaar(k) {\n    try {\n      if (k) { localStorage.setItem('jfBuurt', JSON.stringify({ bron: k.bron, stad: k.stad || '', naam: k.bron === 'typen' ? k.naam : '', lat: k.lat, lng: k.lng })); }\n      else { localStorage.removeItem('jfBuurt'); }\n    } catch (e) {}\n  }\n  function lees() {\n    try {\n      var o = JSON.parse(localStorage.getItem('jfBuurt') || 'null');\n      if (!o || typeof o.lat !== 'number' || typeof o.lng !== 'number') { return null; }\n      if (o.bron === 'chip') { var c = chipVoor(o.stad); return c ? vanChip(c) : null; }\n      if (o.bron === 'gps') { return gpsKeuze(o.lat, o.lng); }\n      if (o.bron === 'typen' && o.naam) { return { bron: 'typen', stad: '', naam: o.naam, plaats: o.naam, lat: o.lat, lng: o.lng }; }\n    } catch (e) {}\n    return null;\n  }\n  function gpsKeuze(lat, lng) { return { bron: 'gps', stad: '', naam: T('jouw locatie', 'your location'), plaats: T('Mijn locatie', 'My location'), lat: lat, lng: lng }; }\n  function meet(plek) { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'jf_buurt_kies', click_placement: plek }); }\n  function kies(k, plek) { bewaar(k); laad(k); meet(plek); }\n  Array.prototype.forEach.call(chips, function (c) {\n    c.addEventListener('click', function () {\n      var k = c.getAttribute('data-stad') === 'vlaanderen' ? null : vanChip(c);\n      loc.value = '';\n      kies(k, k ? 'buurt-chip-' + k.stad : 'buurt-vlaanderen');\n    });\n  });\n  gps.addEventListener('click', function () {\n    if (!navigator.geolocation) { melding(T('Je browser kan je locatie niet delen. Kies een stad of typ je gemeente.', 'Your browser cannot share your location. Pick a city or type your town.'), null); return; }\n    melding(T('Je locatie bepalen\u2026', 'Finding your location\u2026'), null);\n    navigator.geolocation.getCurrentPosition(function (pos) {\n      var k = gpsKeuze(Math.round(pos.coords.latitude * 100) \/ 100, Math.round(pos.coords.longitude * 100) \/ 100);\n      loc.value = '';\n      kies(k, 'buurt-gps');\n    }, function () {\n      melding(T('We konden je locatie niet bepalen. Kies een stad of typ je gemeente.', 'We could not find your location. Pick a city or type your town.'), null);\n    }, { timeout: 10000, maximumAge: 600000 });\n  });\n  function probeerStad(waarde) {\n    var w = slugify(waarde);\n    var c = null;\n    Array.prototype.forEach.call(chips, function (x) { if (x.getAttribute('data-naam') && (slugify(x.getAttribute('data-naam')) === w || slugify(x.textContent) === w)) { c = x; } });\n    if (c) { c.click(); } else { melding(T('Kies een gemeente uit de lijst.', 'Pick a town from the list.'), null); }\n  }\n  loc.addEventListener('keydown', function (e) {\n    if (e.key === 'Enter') { e.preventDefault(); if (!mapsKlaar && loc.value.trim()) { probeerStad(loc.value); } }\n  });\n  window.jfbInitMaps = function () {\n    if (typeof google === 'undefined' || !google.maps || !google.maps.places) { return; }\n    mapsKlaar = true;\n    var ac = new google.maps.places.Autocomplete(loc, { types: ['(regions)'], componentRestrictions: { country: 'be' }, fields: ['geometry', 'name'] });\n    ac.addListener('place_changed', function () {\n      var place = ac.getPlace();\n      if (!place || !place.geometry || !place.geometry.location) { if (loc.value.trim()) { probeerStad(loc.value); } return; }\n      var naam = (loc.value.split(',')[0] || place.name || '').trim();\n      kies({ bron: 'typen', stad: '', naam: naam, plaats: naam, lat: Math.round(place.geometry.location.lat() * 10000) \/ 10000, lng: Math.round(place.geometry.location.lng() * 10000) \/ 10000 }, 'buurt-typen-' + slugify(naam));\n    });\n  };\n  function laadMaps() { if (mapsGeladen) { return; } mapsGeladen = true; var sc = document.createElement('script'); sc.src = 'https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyCbP0b7igWSnLpaUD4UWhVDnLfmnjN0loE&libraries=places&callback=jfbInitMaps'; sc.async = true; document.head.appendChild(sc); }\n  loc.addEventListener('focus', laadMaps);\n  loc.addEventListener('pointerenter', laadMaps);\n  wijzig.addEventListener('click', function () {\n    paneel.hidden = false; wijzig.hidden = true;\n    var aan = box.querySelector('.chip[aria-pressed=\"true\"]') || chips[0];\n    if (aan) { aan.focus(); }\n  });\n  var start = STAD ? (chipVoor(STAD) ? vanChip(chipVoor(STAD)) : null) : lees();\n  if (start) { paneel.hidden = true; wijzig.hidden = false; }\n  laad(start);\n})();\n<\/script>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS faq&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS faq code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs .faq { background:var(--card); border-top:1px solid var(--line); padding:72px 0; }\n  .jfs .faq .wrap { max-width:820px; }\n  .jfs .faq h2 { font-size:clamp(24px,3.2vw,32px); font-weight:800; color:var(--navy9); text-align:center; }\n  .jfs .faq details { margin-top:14px; background:var(--paper); border-radius:12px; padding:18px 22px; }\n  .jfs .faq summary { font-weight:700; cursor:pointer; color:var(--navy9); }\n  .jfs .faq details p { margin-top:10px; color:var(--soft); font-size:15px; }\n  .jfs .faq details a { color:var(--or6); font-weight:700; }\n  .jfs .faq .kruis { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); font-size:14.5px; color:var(--soft); }\n  .jfs .faq .kruis a { color:var(--or6); font-weight:700; white-space:nowrap; }\n<\/style>\n<div class=\"jfs\">\n<section class=\"faq\">\n<div class=\"wrap\">\n<h2>Frequently Asked Questions<\/h2>\n<details open>\n<summary>Does a primary school teacher earn less than a secondary school teacher?<\/summary>\n<pee>Not at the same diploma level: a kindergarten teacher (scale 141), a primary school teacher (scale 148), and a secondary school teacher with an educational bachelor&#039;s degree (scale 301) receive the same amounts. The difference lies in the diploma: with a master&#039;s degree and teacher training in the second and third stages of secondary education (scale 501), you start at \u20ac3,962.40 instead of \u20ac3,163.75.<\/pee><\/details>\n<details>\n<summary>How much does a beginning teacher earn?<\/summary>\n<pee>With a bachelor&#039;s degree, you start at \u20ac3,163.75 gross per month, and with a master&#039;s and teacher training at \u20ac3,962.40 \u2014 for a full-time position, at the index of July 2026. Holiday allowance and end-of-year bonus are added to this.<\/pee><\/details>\n<details>\n<summary>Do my years in the private sector count?<\/summary>\n<pee>Relevant professional experience from another sector may, under certain conditions, count as monetary seniority. You can see what applies to you in the <a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salarissimulator\/\" target=\"_blank\" rel=\"noopener\">salary simulator<\/a> or ask the school.<\/pee><\/details>\n<details>\n<summary>How much does a teacher earn net?<\/summary>\n<pee>That depends on your status (temporary or permanent), your family situation, and the withholding tax. <a href=\"https:\/\/data-onderwijs.vlaanderen.be\/salarissimulator\/\" target=\"_blank\" rel=\"noopener\">Official salary simulator of Flemish education<\/a> provides a reliable estimate.<\/pee><\/details>\n<details>\n<summary>How do I find a job as a teacher?<\/summary>\n<pee>JobFunders features hundreds of education vacancies from across Flanders. Create one free profile with your qualifications and preferences, and Jobby \u2014 your digital career buddy \u2014 will invite you as soon as a school is looking for something that truly suits you. <a href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-leerkracht\/\">View the vacancies for teachers<\/a>.<\/pee><\/details>\n<pee class=\"kruis\">Also interesting: <a href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-leerkracht\/\">Vacancies for teachers<\/a> \u00b7 <a href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-leerlingbegeleider\/\">Vacancies for student counselors<\/a> \u00b7 <a href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-administratief-medewerker-school\/\">Administrative assistant at school<\/a> \u00b7 Wages in the private sector? <a href=\"https:\/\/www.jobfunders.com\/nl\/bruto-netto-calculator\/\">Calculate your net salary<\/a><\/pee>\n  <\/div>\n<\/section>\n<\/div>\n<p>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;JFS cta&#8221; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px|0px|0px|0px&#8221; custom_margin=&#8221;0px|0px|0px|0px&#8221;][et_pb_fullwidth_code admin_label=&#8221;JFS cta code&#8221; _builder_version=&#8221;4.27.4&#8243;]<\/p>\n<style>\n  .jfs .verder { background:var(--navy9); padding:76px 0 84px; text-align:center; }\n  .jfs .verder h2 { font-size:clamp(26px,3.6vw,38px); font-weight:800; color:#FFFFFF; text-wrap:balance; }\n  .jfs .verder p { color:#C2CBDC; max-width:58ch; margin:16px auto 0; }\n  .jfs .verder .ctas { margin-top:32px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }\n  .jfs .verder .fine { margin-top:26px; font-size:13.5px; color:#8D99B0; }\n  .jfs .ctas br { display:none; }\n<\/style>\n<div class=\"jfs\">\n<section class=\"verder\">\n<div class=\"wrap\">\n    <span class=\"eyebrow\">Never search again<\/span><\/p>\n<h2>Let the right school find you<\/h2>\n<pee>Create your free profile in 2 minutes. From then on, Jobby works for you \u2014 you will be invited as soon as a school is looking for something that really suits you, even during the school year.<\/pee>\n<div class=\"ctas\"><a class=\"btn btn-primary\" href=\"https:\/\/www.jobfunders.com\/app\/2.0\/registration\/?utm_source=website&#038;utm_campaign=loon-leerkracht&#038;utm_content=slot-cta\">Create your free profile<\/a><a class=\"btn btn-lijn\" href=\"https:\/\/www.jobfunders.com\/nl\/vacatures-leerkracht\/\">View all vacancies for teachers<\/a><\/div>\n<pee class=\"fine\">Free \u00b7 Discreet \u00b7 Direct contact with employers \u00b7 You stay in control<\/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-34116","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/34116","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=34116"}],"version-history":[{"count":6,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/34116\/revisions"}],"predecessor-version":[{"id":34208,"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/pages\/34116\/revisions\/34208"}],"wp:attachment":[{"href":"https:\/\/www.jobfunders.com\/en\/wp-json\/wp\/v2\/media?parent=34116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}