Ikbenbint.nl

Uurtarief zzp bouw berekenen

Bouwkosten

Beschrijving

Bereken je minimale uurtarief als zzp-er in de bouw uit je gewenste netto of bruto inkomen, declarabele uren, kosten voor bus, gereedschap en verzekeringen, met vergelijking met de cao Bouw & Infra.

Invoer velden

€
€
weken
dagen
dagen
%
€
€
€
%

Resultaten

€/uur
- €/uur
Benodigde omzet (winst plus kosten) gedeeld door je declarabele uren. Dit is je ondergrens; btw (21%) komt erbij.
-
uur
- uur
261 werkdagen in 2026 min 6 feestdagen, vakantie, ziekte en onwerkbaar weer, maal 8 uur (40-urige werkweek cao Bouw & Infra art. 2.2), min de niet-declarabele tijd.
€
- €
Benodigde winst plus zakelijke kosten.
€
- €
Je gewenste inkomen plus de reservering. Bij netto rekent de tool de inkomstenbelasting en Zvw 2026 erbij (indicatie).
€/uur
- €/uur
Garantieloon bouwplaatswerknemer 21+ per 1-1-2026, cao Bouw & Infra 2025-2027 art. 4.2 (standaard groep C). Een werknemer krijgt daarnaast vakantiegeld, pensioen en doorbetaling bij ziekte.
x
- x
Hoeveel keer het kale cao-uurloon je tarief is. Een zzp-er betaalt zelf kosten, verzekeringen, pensioen en onbetaalde uren.
€/uur
- €/uur
Voor particuliere klanten. Bij zakelijke klanten in de bouw geldt vaak de btw-verleggingsregeling.
€
- €
Box 1 2026 (35,75 / 37,56 / 49,50%), algemene heffingskorting, arbeidskorting en Zvw-bijdrage 4,85%. Zonder partner, toeslagen, startersaftrek of andere inkomsten.
€
- €
Benodigde winst min de indicatie inkomstenbelasting en Zvw. Hierin zit ook je reservering.
€
- €
Zelfstandigenaftrek 1.200 euro (alleen bij 1.225 uur of meer) en MKB-winstvrijstelling 12,7%, maal het tarief van de eerste of tweede schijf (aftrek maximaal tegen 37,56%).
-
Bewaren of delen Plus

Je uurtarief als zzp-er in de bouw is je gewenste inkomen plus kosten, gedeeld door de uren die je echt kunt factureren. Met 50.000 euro bruto, 10% reservering, 12.500 euro kosten en 1.462 declarabele uren kom je op ongeveer 46 euro per uur excl. btw. Reken hieronder je eigen situatie na.

De tool begint met 255 werkdagen in 2026 (261 doordeweekse dagen min 6 feestdagen) van 8 uur. Daar gaan vakantie, ziekte en onwerkbaar weer af, en daarna het deel dat je niet kunt factureren, zoals offertes, administratie en reistijd. Vul bij Uitgebreid je eigen kosten in voor bus, gereedschap en verzekeringen (AOV, AVB en CAR).

Ter vergelijking zie je het garantieloon uit de cao Bouw & Infra 2025-2027 (per 1 januari 2026). Kies je voor netto, dan rekent de tool met de tarieven van de Belastingdienst voor 2026: box 1, heffingskortingen, Zvw 4,85%, de zelfstandigenaftrek van 1.200 euro (vanaf 1.225 uur) en de MKB-winstvrijstelling van 12,7%. Dit is een indicatie en geen belastingadvies: vraag je boekhouder om je eigen situatie.

Volgende stap: neem het tarief op in je offerte en spreek indexatie af bij langere klussen.

Formulas:

  • h_v_kosten = if(weergave == 'eenvoudig', kosten, 12500)
  • h_v_vakantie = if(weergave == 'uitgebreid', vakantie, 5)
  • h_v_ziekte = if(weergave == 'uitgebreid', ziekte, 10)
  • h_v_weer = if(weergave == 'uitgebreid', weer, 5)
  • h_v_nietdecl = if(weergave == 'uitgebreid', nietdecl, 15)
  • h_v_bus = if(weergave == 'uitgebreid', bus, 6000)
  • h_v_gereedschap = if(weergave == 'uitgebreid', gereedschap, 2000)
  • h_v_verzekering = if(weergave == 'uitgebreid', verzekering, 4500)
  • h_v_reservering = if(weergave == 'uitgebreid', reservering, 10)
  • h_v_cao_groep = if(weergave == 'uitgebreid', cao_groep, 'c')
  • h_kosten = if(weergave == 'uitgebreid', h_v_bus + h_v_gereedschap + h_v_verzekering, h_v_kosten)
  • h_dagen = 261 - 6 - 5 * h_v_vakantie - h_v_ziekte - h_v_weer
  • h_uren_werk = if(h_dagen > 0, h_dagen * 8, 0)
  • h_decl = if(h_v_nietdecl < 100, h_uren_werk * (1 - h_v_nietdecl / 100), 0)
  • h_ok_uren = if(h_uren_werk >= 1225, 1, 0)
  • h_doel = if(inkomen > 0, inkomen * (1 + h_v_reservering / 100), 0)
  • h_w0 = if(h_doel > 70000, h_doel / 0.55 - 20000, h_doel / 0.75)
  • h_za_i1 = if(h_ok_uren == 1 && h_w0 > 0, if(h_w0 > 1200, 1200, h_w0), 0)
  • h_bw_i1 = if(h_w0 > 0, (h_w0 - h_za_i1) * 0.873, 0)
  • h_ib_i1 = if(h_bw_i1 <= 38883, h_bw_i1 * 0.3575, if(h_bw_i1 <= 78426, 38883 * 0.3575 + (h_bw_i1 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i1 - 78426) * 0.495)) + if(h_bw_i1 > 78426, 0.1194 * if(h_w0 - h_bw_i1 < h_bw_i1 - 78426, h_w0 - h_bw_i1, h_bw_i1 - 78426), 0)
  • h_kort_i1 = if(h_bw_i1 <= 29736, 3115, if(h_bw_i1 < 78426, 3115 - 0.06398 * (h_bw_i1 - 29736), 0)) + if(h_bw_i1 <= 11965, 0.08324 * h_bw_i1, if(h_bw_i1 <= 25845, 996 + 0.31009 * (h_bw_i1 - 11965), if(h_bw_i1 <= 45592, 5300 + 0.0195 * (h_bw_i1 - 25845), if(h_bw_i1 < 132920, 5685 - 0.0651 * (h_bw_i1 - 45592), 0))))
  • h_t_i1 = if(h_ib_i1 - h_kort_i1 > 0, h_ib_i1 - h_kort_i1, 0) + 0.0485 * if(h_bw_i1 < 79409, h_bw_i1, 79409)
  • h_w1 = h_doel + h_t_i1
  • h_za_i2 = if(h_ok_uren == 1 && h_w1 > 0, if(h_w1 > 1200, 1200, h_w1), 0)
  • h_bw_i2 = if(h_w1 > 0, (h_w1 - h_za_i2) * 0.873, 0)
  • h_ib_i2 = if(h_bw_i2 <= 38883, h_bw_i2 * 0.3575, if(h_bw_i2 <= 78426, 38883 * 0.3575 + (h_bw_i2 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i2 - 78426) * 0.495)) + if(h_bw_i2 > 78426, 0.1194 * if(h_w1 - h_bw_i2 < h_bw_i2 - 78426, h_w1 - h_bw_i2, h_bw_i2 - 78426), 0)
  • h_kort_i2 = if(h_bw_i2 <= 29736, 3115, if(h_bw_i2 < 78426, 3115 - 0.06398 * (h_bw_i2 - 29736), 0)) + if(h_bw_i2 <= 11965, 0.08324 * h_bw_i2, if(h_bw_i2 <= 25845, 996 + 0.31009 * (h_bw_i2 - 11965), if(h_bw_i2 <= 45592, 5300 + 0.0195 * (h_bw_i2 - 25845), if(h_bw_i2 < 132920, 5685 - 0.0651 * (h_bw_i2 - 45592), 0))))
  • h_t_i2 = if(h_ib_i2 - h_kort_i2 > 0, h_ib_i2 - h_kort_i2, 0) + 0.0485 * if(h_bw_i2 < 79409, h_bw_i2, 79409)
  • h_w2 = h_doel + h_t_i2
  • h_za_i3 = if(h_ok_uren == 1 && h_w2 > 0, if(h_w2 > 1200, 1200, h_w2), 0)
  • h_bw_i3 = if(h_w2 > 0, (h_w2 - h_za_i3) * 0.873, 0)
  • h_ib_i3 = if(h_bw_i3 <= 38883, h_bw_i3 * 0.3575, if(h_bw_i3 <= 78426, 38883 * 0.3575 + (h_bw_i3 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i3 - 78426) * 0.495)) + if(h_bw_i3 > 78426, 0.1194 * if(h_w2 - h_bw_i3 < h_bw_i3 - 78426, h_w2 - h_bw_i3, h_bw_i3 - 78426), 0)
  • h_kort_i3 = if(h_bw_i3 <= 29736, 3115, if(h_bw_i3 < 78426, 3115 - 0.06398 * (h_bw_i3 - 29736), 0)) + if(h_bw_i3 <= 11965, 0.08324 * h_bw_i3, if(h_bw_i3 <= 25845, 996 + 0.31009 * (h_bw_i3 - 11965), if(h_bw_i3 <= 45592, 5300 + 0.0195 * (h_bw_i3 - 25845), if(h_bw_i3 < 132920, 5685 - 0.0651 * (h_bw_i3 - 45592), 0))))
  • h_t_i3 = if(h_ib_i3 - h_kort_i3 > 0, h_ib_i3 - h_kort_i3, 0) + 0.0485 * if(h_bw_i3 < 79409, h_bw_i3, 79409)
  • h_w3 = h_doel + h_t_i3
  • h_za_i4 = if(h_ok_uren == 1 && h_w3 > 0, if(h_w3 > 1200, 1200, h_w3), 0)
  • h_bw_i4 = if(h_w3 > 0, (h_w3 - h_za_i4) * 0.873, 0)
  • h_ib_i4 = if(h_bw_i4 <= 38883, h_bw_i4 * 0.3575, if(h_bw_i4 <= 78426, 38883 * 0.3575 + (h_bw_i4 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i4 - 78426) * 0.495)) + if(h_bw_i4 > 78426, 0.1194 * if(h_w3 - h_bw_i4 < h_bw_i4 - 78426, h_w3 - h_bw_i4, h_bw_i4 - 78426), 0)
  • h_kort_i4 = if(h_bw_i4 <= 29736, 3115, if(h_bw_i4 < 78426, 3115 - 0.06398 * (h_bw_i4 - 29736), 0)) + if(h_bw_i4 <= 11965, 0.08324 * h_bw_i4, if(h_bw_i4 <= 25845, 996 + 0.31009 * (h_bw_i4 - 11965), if(h_bw_i4 <= 45592, 5300 + 0.0195 * (h_bw_i4 - 25845), if(h_bw_i4 < 132920, 5685 - 0.0651 * (h_bw_i4 - 45592), 0))))
  • h_t_i4 = if(h_ib_i4 - h_kort_i4 > 0, h_ib_i4 - h_kort_i4, 0) + 0.0485 * if(h_bw_i4 < 79409, h_bw_i4, 79409)
  • h_w4 = h_doel + h_t_i4
  • h_za_i5 = if(h_ok_uren == 1 && h_w4 > 0, if(h_w4 > 1200, 1200, h_w4), 0)
  • h_bw_i5 = if(h_w4 > 0, (h_w4 - h_za_i5) * 0.873, 0)
  • h_ib_i5 = if(h_bw_i5 <= 38883, h_bw_i5 * 0.3575, if(h_bw_i5 <= 78426, 38883 * 0.3575 + (h_bw_i5 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i5 - 78426) * 0.495)) + if(h_bw_i5 > 78426, 0.1194 * if(h_w4 - h_bw_i5 < h_bw_i5 - 78426, h_w4 - h_bw_i5, h_bw_i5 - 78426), 0)
  • h_kort_i5 = if(h_bw_i5 <= 29736, 3115, if(h_bw_i5 < 78426, 3115 - 0.06398 * (h_bw_i5 - 29736), 0)) + if(h_bw_i5 <= 11965, 0.08324 * h_bw_i5, if(h_bw_i5 <= 25845, 996 + 0.31009 * (h_bw_i5 - 11965), if(h_bw_i5 <= 45592, 5300 + 0.0195 * (h_bw_i5 - 25845), if(h_bw_i5 < 132920, 5685 - 0.0651 * (h_bw_i5 - 45592), 0))))
  • h_t_i5 = if(h_ib_i5 - h_kort_i5 > 0, h_ib_i5 - h_kort_i5, 0) + 0.0485 * if(h_bw_i5 < 79409, h_bw_i5, 79409)
  • h_w5 = h_doel + h_t_i5
  • h_za_i6 = if(h_ok_uren == 1 && h_w5 > 0, if(h_w5 > 1200, 1200, h_w5), 0)
  • h_bw_i6 = if(h_w5 > 0, (h_w5 - h_za_i6) * 0.873, 0)
  • h_ib_i6 = if(h_bw_i6 <= 38883, h_bw_i6 * 0.3575, if(h_bw_i6 <= 78426, 38883 * 0.3575 + (h_bw_i6 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i6 - 78426) * 0.495)) + if(h_bw_i6 > 78426, 0.1194 * if(h_w5 - h_bw_i6 < h_bw_i6 - 78426, h_w5 - h_bw_i6, h_bw_i6 - 78426), 0)
  • h_kort_i6 = if(h_bw_i6 <= 29736, 3115, if(h_bw_i6 < 78426, 3115 - 0.06398 * (h_bw_i6 - 29736), 0)) + if(h_bw_i6 <= 11965, 0.08324 * h_bw_i6, if(h_bw_i6 <= 25845, 996 + 0.31009 * (h_bw_i6 - 11965), if(h_bw_i6 <= 45592, 5300 + 0.0195 * (h_bw_i6 - 25845), if(h_bw_i6 < 132920, 5685 - 0.0651 * (h_bw_i6 - 45592), 0))))
  • h_t_i6 = if(h_ib_i6 - h_kort_i6 > 0, h_ib_i6 - h_kort_i6, 0) + 0.0485 * if(h_bw_i6 < 79409, h_bw_i6, 79409)
  • h_w6 = h_doel + h_t_i6
  • h_za_i7 = if(h_ok_uren == 1 && h_w6 > 0, if(h_w6 > 1200, 1200, h_w6), 0)
  • h_bw_i7 = if(h_w6 > 0, (h_w6 - h_za_i7) * 0.873, 0)
  • h_ib_i7 = if(h_bw_i7 <= 38883, h_bw_i7 * 0.3575, if(h_bw_i7 <= 78426, 38883 * 0.3575 + (h_bw_i7 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i7 - 78426) * 0.495)) + if(h_bw_i7 > 78426, 0.1194 * if(h_w6 - h_bw_i7 < h_bw_i7 - 78426, h_w6 - h_bw_i7, h_bw_i7 - 78426), 0)
  • h_kort_i7 = if(h_bw_i7 <= 29736, 3115, if(h_bw_i7 < 78426, 3115 - 0.06398 * (h_bw_i7 - 29736), 0)) + if(h_bw_i7 <= 11965, 0.08324 * h_bw_i7, if(h_bw_i7 <= 25845, 996 + 0.31009 * (h_bw_i7 - 11965), if(h_bw_i7 <= 45592, 5300 + 0.0195 * (h_bw_i7 - 25845), if(h_bw_i7 < 132920, 5685 - 0.0651 * (h_bw_i7 - 45592), 0))))
  • h_t_i7 = if(h_ib_i7 - h_kort_i7 > 0, h_ib_i7 - h_kort_i7, 0) + 0.0485 * if(h_bw_i7 < 79409, h_bw_i7, 79409)
  • h_w7 = h_doel + h_t_i7
  • h_za_i8 = if(h_ok_uren == 1 && h_w7 > 0, if(h_w7 > 1200, 1200, h_w7), 0)
  • h_bw_i8 = if(h_w7 > 0, (h_w7 - h_za_i8) * 0.873, 0)
  • h_ib_i8 = if(h_bw_i8 <= 38883, h_bw_i8 * 0.3575, if(h_bw_i8 <= 78426, 38883 * 0.3575 + (h_bw_i8 - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_i8 - 78426) * 0.495)) + if(h_bw_i8 > 78426, 0.1194 * if(h_w7 - h_bw_i8 < h_bw_i8 - 78426, h_w7 - h_bw_i8, h_bw_i8 - 78426), 0)
  • h_kort_i8 = if(h_bw_i8 <= 29736, 3115, if(h_bw_i8 < 78426, 3115 - 0.06398 * (h_bw_i8 - 29736), 0)) + if(h_bw_i8 <= 11965, 0.08324 * h_bw_i8, if(h_bw_i8 <= 25845, 996 + 0.31009 * (h_bw_i8 - 11965), if(h_bw_i8 <= 45592, 5300 + 0.0195 * (h_bw_i8 - 25845), if(h_bw_i8 < 132920, 5685 - 0.0651 * (h_bw_i8 - 45592), 0))))
  • h_t_i8 = if(h_ib_i8 - h_kort_i8 > 0, h_ib_i8 - h_kort_i8, 0) + 0.0485 * if(h_bw_i8 < 79409, h_bw_i8, 79409)
  • h_w8 = h_doel + h_t_i8
  • h_winst = if(soort == 'netto', h_w8, h_doel)
  • h_za_f = if(h_ok_uren == 1 && h_winst > 0, if(h_winst > 1200, 1200, h_winst), 0)
  • h_bw_f = if(h_winst > 0, (h_winst - h_za_f) * 0.873, 0)
  • h_ib_f = if(h_bw_f <= 38883, h_bw_f * 0.3575, if(h_bw_f <= 78426, 38883 * 0.3575 + (h_bw_f - 38883) * 0.3756, 38883 * 0.3575 + (78426 - 38883) * 0.3756 + (h_bw_f - 78426) * 0.495)) + if(h_bw_f > 78426, 0.1194 * if(h_winst - h_bw_f < h_bw_f - 78426, h_winst - h_bw_f, h_bw_f - 78426), 0)
  • h_kort_f = if(h_bw_f <= 29736, 3115, if(h_bw_f < 78426, 3115 - 0.06398 * (h_bw_f - 29736), 0)) + if(h_bw_f <= 11965, 0.08324 * h_bw_f, if(h_bw_f <= 25845, 996 + 0.31009 * (h_bw_f - 11965), if(h_bw_f <= 45592, 5300 + 0.0195 * (h_bw_f - 25845), if(h_bw_f < 132920, 5685 - 0.0651 * (h_bw_f - 45592), 0))))
  • h_t_f = if(h_ib_f - h_kort_f > 0, h_ib_f - h_kort_f, 0) + 0.0485 * if(h_bw_f < 79409, h_bw_f, 79409)
  • h_omzet = h_winst + h_kosten
  • h_tarief = if(h_decl > 0, h_omzet / h_decl, 0)
  • h_cao = if(h_v_cao_groep == 'a', 18.95, if(h_v_cao_groep == 'b', 20.02, if(h_v_cao_groep == 'd', 22.68, if(h_v_cao_groep == 'e', 23.78, 21.24))))
  • uurtarief = round(h_tarief, 2)
    Benodigde omzet (winst plus kosten) gedeeld door je declarabele uren. Dit is je ondergrens; btw (21%) komt erbij.
  • advies = if(inkomen <= 0, 'Vul je gewenste jaarinkomen in, bijvoorbeeld 50.000 euro bruto.', if(h_decl <= 0, 'Je houdt geen declarabele uren over. Verlaag vakantie, ziekte, onwerkbaar weer of niet-declarabele tijd.', if(h_tarief < h_cao, 'Let op: dit tarief ligt onder het cao-garantieloon van een werknemer. Controleer je inkomen, kosten en uren.', 'Vraag minimaal dit uurtarief excl. btw. Reken daarboven een opslag voor winst en risico als de markt dat toelaat.')))
  • decl_uren = round(h_decl, 0)
    261 werkdagen in 2026 min 6 feestdagen, vakantie, ziekte en onwerkbaar weer, maal 8 uur (40-urige werkweek cao Bouw & Infra art. 2.2), min de niet-declarabele tijd.
  • omzet = round(h_omzet, 0)
    Benodigde winst plus zakelijke kosten.
  • winst = round(h_winst, 0)
    Je gewenste inkomen plus de reservering. Bij netto rekent de tool de inkomstenbelasting en Zvw 2026 erbij (indicatie).
  • cao_loon = h_cao
    Garantieloon bouwplaatswerknemer 21+ per 1-1-2026, cao Bouw & Infra 2025-2027 art. 4.2 (standaard groep C). Een werknemer krijgt daarnaast vakantiegeld, pensioen en doorbetaling bij ziekte.
  • factor_cao = if(h_cao > 0, round(h_tarief / h_cao, 1), 0)
    Hoeveel keer het kale cao-uurloon je tarief is. Een zzp-er betaalt zelf kosten, verzekeringen, pensioen en onbetaalde uren.
  • tarief_incl = round(h_tarief * 1.21, 2)
    Voor particuliere klanten. Bij zakelijke klanten in de bouw geldt vaak de btw-verleggingsregeling.
  • belasting = round(h_t_f, 0)
    Box 1 2026 (35,75 / 37,56 / 49,50%), algemene heffingskorting, arbeidskorting en Zvw-bijdrage 4,85%. Zonder partner, toeslagen, startersaftrek of andere inkomsten.
  • netto = round(h_winst - h_t_f, 0)
    Benodigde winst min de indicatie inkomstenbelasting en Zvw. Hierin zit ook je reservering.
  • voordeel = round((h_za_f + 0.127 * (h_winst - h_za_f)) * if(h_bw_f <= 38883, 0.3575, 0.3756) * if(h_winst > 0, 1, 0), 0)
    Zelfstandigenaftrek 1.200 euro (alleen bij 1.225 uur of meer) en MKB-winstvrijstelling 12,7%, maal het tarief van de eerste of tweede schijf (aftrek maximaal tegen 37,56%).
  • let_op = if(h_ok_uren == 1, 'Indicatie, geen belastingadvies. Je haalt het urencriterium van 1.225 uur, dus de zelfstandigenaftrek telt mee.', 'Indicatie, geen belastingadvies. Je haalt het urencriterium van 1.225 uur niet: gerekend zonder zelfstandigenaftrek.')
Link gekopieerd!

Berekening informatie

Author Bint
Laatste update 9 november 2026
Parameters 13

Op jouw website?

Gebruik direct op jouw eigen site:
<script src="https://ikbenbint.nl/widget.js"
  data-berekening="uurtarief-zzp-bouw-berekenen">
</script>
Eigen tools maken? Maak hier jouw account

Meer over bouwkosten

Ontdek meer tools gerelateerd aan bouwkosten