Wettelijke handelsrente berekenen
Beschrijving
Bereken de wettelijke handelsrente (BW 6:119a) of wettelijke rente (BW 6:119) over een te laat betaalde factuur, met de tarieven per halfjaar 2025-2026, rente op rente per jaar en de wettelijke incassokosten.
Invoer velden
Resultaten
De wettelijke handelsrente is 10,40% per jaar sinds 1 juli 2026 (BW 6:119a). Voor particulieren en vorderingen die geen handelstransactie zijn geldt de wettelijke rente van 4% sinds 1 januari 2026 (BW 6:119). Eerder gold voor handelsrente 11,15% (1e halfjaar 2025) en 10,15% (2e halfjaar 2025 en 1e halfjaar 2026), en voor de wettelijke rente 6% in 2025. Bron: Rijksoverheid, Hoogte wettelijke rente (bijgewerkt 16 juli 2026).
Reken je eigen factuur na. Vul het openstaande bedrag inclusief btw in, de vervaldatum en de datum van betaling. De tool rekent per dag met het tarief van elk halfjaar en telt na elk vol jaar de rente bij de hoofdsom. Handelsrente loopt vanaf de dag na de vervaldatum, zonder aanmaning. Bij een particulier loopt rente pas vanaf het verzuim, meestal na een ingebrekestelling.
De incassokosten volgen de staffel uit het Besluit vergoeding voor buitengerechtelijke incassokosten (Stb. 2012, 141): minimaal 40 en maximaal 6.775 euro. Bij een particulier is die staffel dwingend en mag je pas rekenen na een veertiendagenbrief; met een bedrijf mag je in het contract iets anders afspreken.
Dit is een rekenhulp, geen juridisch advies. Volgende stap: verreken een vertragingsboete of meerwerk met dezelfde opdrachtgever.
Formulas:
-
h_ax = if(vervaldatum > 0, floor(vervaldatum), 0)
-
h_ayr = floor(h_ax / 10000)
-
h_amr = floor(h_ax / 100) - 100 * h_ayr
-
h_adr = h_ax - 100 * floor(h_ax / 100)
-
h_aok = if(h_ayr >= 2000 && h_ayr <= 2100 && h_amr >= 1 && h_amr <= 12 && h_adr >= 1 && h_adr <= 31, 1, 0)
-
h_ay = if(h_aok == 1, h_ayr, 2025)
-
h_am = if(h_aok == 1, h_amr, 3)
-
h_ad = if(h_aok == 1, h_adr, 15)
-
h_bx = if(einddatum > 0, floor(einddatum), 0)
-
h_byr = floor(h_bx / 10000)
-
h_bmr = floor(h_bx / 100) - 100 * h_byr
-
h_bdr = h_bx - 100 * floor(h_bx / 100)
-
h_bok = if(h_byr >= 2000 && h_byr <= 2100 && h_bmr >= 1 && h_bmr <= 12 && h_bdr >= 1 && h_bdr <= 31, 1, 0)
-
h_by = if(h_bok == 1, h_byr, 2026)
-
h_bm = if(h_bok == 1, h_bmr, 10)
-
h_bd = if(h_bok == 1, h_bdr, 31)
-
h_s = 365 * (h_ay - 2025) + floor((h_ay - 1) / 4) - 506 - floor((h_ay - 1) / 100) + 20 + floor((h_ay - 1) / 400) - 5 + if(h_am == 1, 0, if(h_am == 2, 31, if(h_am == 3, 59, if(h_am == 4, 90, if(h_am == 5, 120, if(h_am == 6, 151, if(h_am == 7, 181, if(h_am == 8, 212, if(h_am == 9, 243, if(h_am == 10, 273, if(h_am == 11, 304, 334))))))))))) + if(h_am > 2, if(h_ay - 4 * floor(h_ay / 4) == 0 && (h_ay - 100 * floor(h_ay / 100) != 0 || h_ay - 400 * floor(h_ay / 400) == 0), 1, 0), 0) + h_ad
-
h_e = 365 * (h_by - 2025) + floor((h_by - 1) / 4) - 506 - floor((h_by - 1) / 100) + 20 + floor((h_by - 1) / 400) - 5 + if(h_bm == 1, 0, if(h_bm == 2, 31, if(h_bm == 3, 59, if(h_bm == 4, 90, if(h_bm == 5, 120, if(h_bm == 6, 151, if(h_bm == 7, 181, if(h_bm == 8, 212, if(h_bm == 9, 243, if(h_bm == 10, 273, if(h_bm == 11, 304, 334))))))))))) + if(h_bm > 2, if(h_by - 4 * floor(h_by / 4) == 0 && (h_by - 100 * floor(h_by / 100) != 0 || h_by - 400 * floor(h_by / 400) == 0), 1, 0), 0) + h_bd
-
h_j1 = 365 * ((h_ay + 1) - 2025) + floor(((h_ay + 1) - 1) / 4) - 506 - floor(((h_ay + 1) - 1) / 100) + 20 + floor(((h_ay + 1) - 1) / 400) - 5 + if(h_am == 1, 0, if(h_am == 2, 31, if(h_am == 3, 59, if(h_am == 4, 90, if(h_am == 5, 120, if(h_am == 6, 151, if(h_am == 7, 181, if(h_am == 8, 212, if(h_am == 9, 243, if(h_am == 10, 273, if(h_am == 11, 304, 334))))))))))) + if(h_am > 2, if((h_ay + 1) - 4 * floor((h_ay + 1) / 4) == 0 && ((h_ay + 1) - 100 * floor((h_ay + 1) / 100) != 0 || (h_ay + 1) - 400 * floor((h_ay + 1) / 400) == 0), 1, 0), 0) + h_ad
-
h_j2 = 365 * ((h_ay + 2) - 2025) + floor(((h_ay + 2) - 1) / 4) - 506 - floor(((h_ay + 2) - 1) / 100) + 20 + floor(((h_ay + 2) - 1) / 400) - 5 + if(h_am == 1, 0, if(h_am == 2, 31, if(h_am == 3, 59, if(h_am == 4, 90, if(h_am == 5, 120, if(h_am == 6, 151, if(h_am == 7, 181, if(h_am == 8, 212, if(h_am == 9, 243, if(h_am == 10, 273, if(h_am == 11, 304, 334))))))))))) + if(h_am > 2, if((h_ay + 2) - 4 * floor((h_ay + 2) / 4) == 0 && ((h_ay + 2) - 100 * floor((h_ay + 2) / 100) != 0 || (h_ay + 2) - 400 * floor((h_ay + 2) / 400) == 0), 1, 0), 0) + h_ad
-
h_j3 = 365 * ((h_ay + 3) - 2025) + floor(((h_ay + 3) - 1) / 4) - 506 - floor(((h_ay + 3) - 1) / 100) + 20 + floor(((h_ay + 3) - 1) / 400) - 5 + if(h_am == 1, 0, if(h_am == 2, 31, if(h_am == 3, 59, if(h_am == 4, 90, if(h_am == 5, 120, if(h_am == 6, 151, if(h_am == 7, 181, if(h_am == 8, 212, if(h_am == 9, 243, if(h_am == 10, 273, if(h_am == 11, 304, 334))))))))))) + if(h_am > 2, if((h_ay + 3) - 4 * floor((h_ay + 3) / 4) == 0 && ((h_ay + 3) - 100 * floor((h_ay + 3) / 100) != 0 || (h_ay + 3) - 400 * floor((h_ay + 3) / 400) == 0), 1, 0), 0) + h_ad
-
h_j4 = 365 * ((h_ay + 4) - 2025) + floor(((h_ay + 4) - 1) / 4) - 506 - floor(((h_ay + 4) - 1) / 100) + 20 + floor(((h_ay + 4) - 1) / 400) - 5 + if(h_am == 1, 0, if(h_am == 2, 31, if(h_am == 3, 59, if(h_am == 4, 90, if(h_am == 5, 120, if(h_am == 6, 151, if(h_am == 7, 181, if(h_am == 8, 212, if(h_am == 9, 243, if(h_am == 10, 273, if(h_am == 11, 304, 334))))))))))) + if(h_am > 2, if((h_ay + 4) - 4 * floor((h_ay + 4) / 4) == 0 && ((h_ay + 4) - 100 * floor((h_ay + 4) / 100) != 0 || (h_ay + 4) - 400 * floor((h_ay + 4) / 400) == 0), 1, 0), 0) + h_ad
-
h_r0 = if(soort == 'handel', 12.5, 7)
-
h_r1 = if(soort == 'handel', 12.25, 7)
-
h_r2 = if(soort == 'handel', 11.15, 6)
-
h_r3 = if(soort == 'handel', 10.15, 6)
-
h_r4 = if(soort == 'handel', 10.15, 4)
-
h_r5 = if(soort == 'handel', 10.4, 4)
-
h_w0b = if(h_e < h_j1, h_e, h_j1)
-
h_rd0 = h_r0 * if(if(h_w0b < -184, h_w0b, -184) > if(h_s > -366, h_s, -366), if(h_w0b < -184, h_w0b, -184) - if(h_s > -366, h_s, -366), 0) + h_r1 * if(if(h_w0b < 0, h_w0b, 0) > if(h_s > -184, h_s, -184), if(h_w0b < 0, h_w0b, 0) - if(h_s > -184, h_s, -184), 0) + h_r2 * if(if(h_w0b < 181, h_w0b, 181) > if(h_s > 0, h_s, 0), if(h_w0b < 181, h_w0b, 181) - if(h_s > 0, h_s, 0), 0) + h_r3 * if(if(h_w0b < 365, h_w0b, 365) > if(h_s > 181, h_s, 181), if(h_w0b < 365, h_w0b, 365) - if(h_s > 181, h_s, 181), 0) + h_r4 * if(if(h_w0b < 546, h_w0b, 546) > if(h_s > 365, h_s, 365), if(h_w0b < 546, h_w0b, 546) - if(h_s > 365, h_s, 365), 0) + h_r5 * if(if(h_w0b < 1000000, h_w0b, 1000000) > if(h_s > 546, h_s, 546), if(h_w0b < 1000000, h_w0b, 1000000) - if(h_s > 546, h_s, 546), 0)
-
h_w1b = if(h_e < h_j2, h_e, h_j2)
-
h_rd1 = h_r0 * if(if(h_w1b < -184, h_w1b, -184) > if(h_j1 > -366, h_j1, -366), if(h_w1b < -184, h_w1b, -184) - if(h_j1 > -366, h_j1, -366), 0) + h_r1 * if(if(h_w1b < 0, h_w1b, 0) > if(h_j1 > -184, h_j1, -184), if(h_w1b < 0, h_w1b, 0) - if(h_j1 > -184, h_j1, -184), 0) + h_r2 * if(if(h_w1b < 181, h_w1b, 181) > if(h_j1 > 0, h_j1, 0), if(h_w1b < 181, h_w1b, 181) - if(h_j1 > 0, h_j1, 0), 0) + h_r3 * if(if(h_w1b < 365, h_w1b, 365) > if(h_j1 > 181, h_j1, 181), if(h_w1b < 365, h_w1b, 365) - if(h_j1 > 181, h_j1, 181), 0) + h_r4 * if(if(h_w1b < 546, h_w1b, 546) > if(h_j1 > 365, h_j1, 365), if(h_w1b < 546, h_w1b, 546) - if(h_j1 > 365, h_j1, 365), 0) + h_r5 * if(if(h_w1b < 1000000, h_w1b, 1000000) > if(h_j1 > 546, h_j1, 546), if(h_w1b < 1000000, h_w1b, 1000000) - if(h_j1 > 546, h_j1, 546), 0)
-
h_w2b = if(h_e < h_j3, h_e, h_j3)
-
h_rd2 = h_r0 * if(if(h_w2b < -184, h_w2b, -184) > if(h_j2 > -366, h_j2, -366), if(h_w2b < -184, h_w2b, -184) - if(h_j2 > -366, h_j2, -366), 0) + h_r1 * if(if(h_w2b < 0, h_w2b, 0) > if(h_j2 > -184, h_j2, -184), if(h_w2b < 0, h_w2b, 0) - if(h_j2 > -184, h_j2, -184), 0) + h_r2 * if(if(h_w2b < 181, h_w2b, 181) > if(h_j2 > 0, h_j2, 0), if(h_w2b < 181, h_w2b, 181) - if(h_j2 > 0, h_j2, 0), 0) + h_r3 * if(if(h_w2b < 365, h_w2b, 365) > if(h_j2 > 181, h_j2, 181), if(h_w2b < 365, h_w2b, 365) - if(h_j2 > 181, h_j2, 181), 0) + h_r4 * if(if(h_w2b < 546, h_w2b, 546) > if(h_j2 > 365, h_j2, 365), if(h_w2b < 546, h_w2b, 546) - if(h_j2 > 365, h_j2, 365), 0) + h_r5 * if(if(h_w2b < 1000000, h_w2b, 1000000) > if(h_j2 > 546, h_j2, 546), if(h_w2b < 1000000, h_w2b, 1000000) - if(h_j2 > 546, h_j2, 546), 0)
-
h_w3b = if(h_e < h_j4, h_e, h_j4)
-
h_rd3 = h_r0 * if(if(h_w3b < -184, h_w3b, -184) > if(h_j3 > -366, h_j3, -366), if(h_w3b < -184, h_w3b, -184) - if(h_j3 > -366, h_j3, -366), 0) + h_r1 * if(if(h_w3b < 0, h_w3b, 0) > if(h_j3 > -184, h_j3, -184), if(h_w3b < 0, h_w3b, 0) - if(h_j3 > -184, h_j3, -184), 0) + h_r2 * if(if(h_w3b < 181, h_w3b, 181) > if(h_j3 > 0, h_j3, 0), if(h_w3b < 181, h_w3b, 181) - if(h_j3 > 0, h_j3, 0), 0) + h_r3 * if(if(h_w3b < 365, h_w3b, 365) > if(h_j3 > 181, h_j3, 181), if(h_w3b < 365, h_w3b, 365) - if(h_j3 > 181, h_j3, 181), 0) + h_r4 * if(if(h_w3b < 546, h_w3b, 546) > if(h_j3 > 365, h_j3, 365), if(h_w3b < 546, h_w3b, 546) - if(h_j3 > 365, h_j3, 365), 0) + h_r5 * if(if(h_w3b < 1000000, h_w3b, 1000000) > if(h_j3 > 546, h_j3, 546), if(h_w3b < 1000000, h_w3b, 1000000) - if(h_j3 > 546, h_j3, 546), 0)
-
h_w4b = h_e
-
h_rd4 = h_r0 * if(if(h_w4b < -184, h_w4b, -184) > if(h_j4 > -366, h_j4, -366), if(h_w4b < -184, h_w4b, -184) - if(h_j4 > -366, h_j4, -366), 0) + h_r1 * if(if(h_w4b < 0, h_w4b, 0) > if(h_j4 > -184, h_j4, -184), if(h_w4b < 0, h_w4b, 0) - if(h_j4 > -184, h_j4, -184), 0) + h_r2 * if(if(h_w4b < 181, h_w4b, 181) > if(h_j4 > 0, h_j4, 0), if(h_w4b < 181, h_w4b, 181) - if(h_j4 > 0, h_j4, 0), 0) + h_r3 * if(if(h_w4b < 365, h_w4b, 365) > if(h_j4 > 181, h_j4, 181), if(h_w4b < 365, h_w4b, 365) - if(h_j4 > 181, h_j4, 181), 0) + h_r4 * if(if(h_w4b < 546, h_w4b, 546) > if(h_j4 > 365, h_j4, 365), if(h_w4b < 546, h_w4b, 546) - if(h_j4 > 365, h_j4, 365), 0) + h_r5 * if(if(h_w4b < 1000000, h_w4b, 1000000) > if(h_j4 > 546, h_j4, 546), if(h_w4b < 1000000, h_w4b, 1000000) - if(h_j4 > 546, h_j4, 546), 0)
-
h_p = if(bedrag > 0, bedrag, 0)
-
h_i0 = h_p * h_rd0 / 36500
-
h_k1 = h_p + h_i0
-
h_i1 = h_k1 * h_rd1 / 36500
-
h_k2 = h_k1 + h_i1
-
h_i2 = h_k2 * h_rd2 / 36500
-
h_k3 = h_k2 + h_i2
-
h_i3 = h_k3 * h_rd3 / 36500
-
h_k4 = h_k3 + h_i3
-
h_i4 = h_k4 * h_rd4 / 36500
-
h_rente = h_i0 + h_i1 + h_i2 + h_i3 + h_i4
-
h_dagen = if(h_e > h_s, h_e - h_s, 0)
-
h_bik0 = if(h_p < 2500, h_p, 2500) * 0.15 + if(h_p > 2500, if(h_p < 5000, h_p - 2500, 2500), 0) * 0.10 + if(h_p > 5000, if(h_p < 10000, h_p - 5000, 5000), 0) * 0.05 + if(h_p > 10000, if(h_p < 200000, h_p - 10000, 190000), 0) * 0.01 + if(h_p > 200000, h_p - 200000, 0) * 0.005
-
h_bik1 = if(h_p <= 0, 0, if(h_bik0 < 40, 40, if(h_bik0 > 6775, 6775, h_bik0)))
-
h_bik = if(incasso == 'nee', 0, if(incasso == 'ja_btw', h_bik1 * 1.21, h_bik1))
-
dagen = h_dagen
Dagen van de dag na de vervaldatum tot en met de einddatum. -
rente = round(h_rente, 2)
Rente per dag = percentage / 365 over het openstaande bedrag, met het tarief van elk halfjaar. Na elk vol jaar komt de rente bij de hoofdsom (BW 6:119 lid 2 en 6:119a lid 4). -
tarief = if(h_e - 1 < -184, h_r0, if(h_e - 1 < 0, h_r1, if(h_e - 1 < 181, h_r2, if(h_e - 1 < 365, h_r3, if(h_e - 1 < 546, h_r4, h_r5)))))
Handelsrente: 11,15% (1e halfjaar 2025), 10,15% (2e halfjaar 2025 en 1e halfjaar 2026), 10,40% vanaf 1 juli 2026. Wettelijke rente: 6% in 2025, 4% vanaf 1 januari 2026. Bron: Rijksoverheid, 16 juli 2026. -
incassokosten = round(h_bik, 2)
Staffel over de hoofdsom: 15% over de eerste 2.500, 10% over de volgende 2.500, 5% over de volgende 5.000, 1% tot 200.000 en 0,5% daarboven; minimaal 40 en maximaal 6.775 (Stb. 2012, 141). -
totaal = round(h_p + h_rente + h_bik, 2)
Factuurbedrag plus rente plus eventuele incassokosten. -
advies = if(h_aok == 0 || h_bok == 0, 'Vul beide datums in als JJJJMMDD, bijvoorbeeld 20250315. De tool rekent nu met het voorbeeld.', if(h_p <= 0, 'Vul het openstaande factuurbedrag in.', if(h_e <= h_s, 'De einddatum ligt niet na de vervaldatum: er is (nog) geen rente verschuldigd.', if(h_s < -366, 'Let op: rente over dagen voor 1 januari 2024 telt de tool niet mee. Reken die periode apart na.', if(h_e > 730, 'Let op: het tarief vanaf 1 januari 2027 is nog niet bekend. De tool rekent door met het laatste tarief.', if(soort == 'handel', 'Stuur een aanmaning met dit totaal. Handelsrente loopt vanaf de dag na de vervaldatum, zonder ingebrekestelling (BW 6:119a).', 'Stuur eerst een aanmaning met 14 dagen betaaltermijn. Rente loopt vanaf het verzuim, incassokosten pas na die termijn (BW 6:96).'))))))
Een rekenhulp, geen juridisch advies. Een afwijkende contractuele rente of incassoregeling gaat bij een zakelijke klant voor.
Berekening informatie
Meer over bouwkosten
Ontdek meer tools gerelateerd aan bouwkosten