Excel voor de werkkostenregeling

Module 3 — Werkkostenregeling & Heffingskortingen

FILTER en SORTBY voor WKR-vergoedingen, vrije ruimte bewaking en eindheffing signalering

Concepts

WKR-administratie in Excel

De werkkostenregeling (WKR) verplicht werkgevers om alle vergoedingen en verstrekkingen aan medewerkers bij te houden. Voor Van Ginkel Solutions BV geldt dat ze de vrije ruimte van 1,92% over de eerste €400.000 loonsom en 1,18% over het meerdere niet mogen overschrijden. Als ze dat toch doen, betalen ze 80% eindheffing over het meerdere.

Karin houdt in Excel bij wat er als WKR-post is aangewezen en of de vrije ruimte nog niet vol is. Met de functies **FILTER** en **SORTBY** kan ze snel gefilterde overzichten maken.

FILTER | Dynamisch filteren
- Geeft een gefilterd resultaat terug
- Werkt dynamisch: update automatisch
- Geen handmatig filteren meer nodig
---
SORTBY | Sorteren op criteria
- Sorteert een bereik op één of meer kolommen
- Combineerbaar met FILTER
- Resultaat is een dynamische matrix
---
Vrije ruimte WKR | Concept
- 1,92% over loonsom t/m €400.000
- 1,18% over loonsom boven €400.000
- Overschrijding = 80% eindheffing

WKR-registratielijst opbouwen

De basis is een Excel-Tabel met alle WKR-posten. Elke keer dat VGS een vergoeding of verstrekking toekent die als WKR-post is aangewezen, voeg je een rij toe.

Tabblad: WKR-Registratie
Tabelname: WKRPosten

Kolommen:
A: Datum
B: MedewerkerID
C: Naam
D: Categorie         (bijv. Personeelsfeest, Reiskosten, Telefoon, Opleiding)
E: Omschrijving
F: Bedrag
G: Aangewezen        (Ja/Nee — is deze post als eindheffingsloon aangewezen?)
H: Tijdvak           (bijv. 2026-01 t/m 2026-12)

Voorbeelddata:
15-01-2026 | VGS-001 | Fatima E.    | Telefoon       | Zakelijke telefoon     | 450  | Ja | 2026-01
22-01-2026 | VGS-003 | Mia Chen     | Opleiding      | Excel-cursus           | 295  | Ja | 2026-01
05-02-2026 | VGS-alle| Alle mw.     | Personeelsfeest| Nieuwjaarsborrel       | 800  | Ja | 2026-02
18-02-2026 | VGS-002 | Lars Bakker  | Reiskosten     | OV-abonnement          | 180  | Ja | 2026-02
10-03-2026 | VGS-007 | Roos van Dam | Representatie  | Klantlunch             | 120  | Ja | 2026-03

> EXAMTIP: Niet alle vergoedingen zijn automatisch WKR-posten. De werkgever moet ze uitdrukkelijk als eindheffingsloon aanwijzen. Doe je dit niet, dan is het gewoon belast loon voor de werknemer. Juiste administratie van de aanwijzing is essentieel.

FILTER: dynamische overzichten

Met FILTER maak je in één formule een gefilterd overzicht zonder handmatige filter-acties. FILTER geeft een dynamische matrix terug die automatisch bijwerkt.

Syntaxis:
=FILTER(bereik; conditie; [als leeg])

Voorbeeld 1: Alle WKR-posten voor categorie "Personeelsfeest"
=FILTER(WKRPosten; WKRPosten[Categorie]="Personeelsfeest"; "Geen resultaten")

Voorbeeld 2: Alle aangewezen WKR-posten (Aangewezen = Ja)
=FILTER(WKRPosten; WKRPosten[Aangewezen]="Ja"; "Geen resultaten")

Voorbeeld 3: Alleen posten van tijdvak 2026-02
=FILTER(WKRPosten; WKRPosten[Tijdvak]="2026-02"; "Geen resultaten")

Voorbeeld 4: Combineren met AND — aangewezen posten in 2026-01:
=FILTER(WKRPosten;
  (WKRPosten[Aangewezen]="Ja") * (WKRPosten[Tijdvak]="2026-01");
  "Geen resultaten")

> EXAMTIP: In FILTER gebruik je \* als AND-operator en + als OR-operator bij meerdere condities. Zo kun je WKR-posten filteren op zowel categorie als tijdvak tegelijk.

SORTBY: gesorteerde resultaten

SORTBY sorteert een bereik op basis van een andere kolom. Combineer het met FILTER voor gesorteerde, gefilterde overzichten:

Syntaxis:
=SORTBY(bereik; sorteerkolomnr-of-bereik; [1 oplopend / -1 aflopend])

Voorbeeld: Alle aangewezen posten, gesorteerd op bedrag (hoogste eerst)
=SORTBY(
  FILTER(WKRPosten; WKRPosten[Aangewezen]="Ja"),
  FILTER(WKRPosten[Bedrag]; WKRPosten[Aangewezen]="Ja"),
  -1
)
→ Geeft alle aangewezen WKR-posten terug, van hoog naar laag gesorteerd op bedrag

Vrije ruimte berekening

De kern van de WKR-administratie is bijhouden of je binnen de vrije ruimte blijft. Karin berekent dit op een apart tabblad:

Tabblad: WKR-Bewaking

Cel B2: Jaarloonsom VGS (totaal brutoloon × 12)
         =SOM(Personeel[BrutoloonMnd])*12

Cel B3: Vrije ruimte 1e schijf (1,92% over max €400.000)
         =MIN(B2;400000)*0,0192

Cel B4: Vrije ruimte 2e schijf (1,18% over meerdere)
         =MAX(B2-400000;0)*0,0118

Cel B5: Totale vrije ruimte
         =B3+B4

Cel B7: Totaal aangewezen WKR-posten YTD
         =SOMMEN.ALS(WKRPosten[Bedrag]; WKRPosten[Aangewezen];"Ja")

Cel B8: Resterende vrije ruimte
         =B5-B7

Cel B9: Status
         =ALS(B8>=0; "Binnen vrije ruimte ✓";
              "OVERSCHRIJDING — eindheffing 80% over " & TEKST(ABS(B8);"€#.##0"))

Cel B10: Eindheffing verschuldigd (indien van toepassing)
          =ALS(B8<0; ABS(B8)*0,8; 0)

> EXAMTIP: Het tarief voor de eindheffing bij WKR-overschrijding is 80% — niet 80% van het totaal, maar 80% over het bedrag waarmee de vrije ruimte wordt overschreden. Als de vrije ruimte €500 is en je hebt €600 WKR-posten, betaal je 80% over €100 = €80 eindheffing.

---

Missie

STORY: VGS heeft in de eerste helft van 2026 diverse vergoedingen uitbetaald aan medewerkers. Karin wil weten hoeveel van de vrije ruimte al is opgebruikt en of er risico is op eindheffing. Ze heeft alle bonnetjes en declaraties bij elkaar. Jij helpt haar de WKR-administratie in Excel te bouwen.

Stap 1 — WKR-registratielijst opzetten

Maak een tabblad **WKR-Registratie** in je Excel-bestand.

Maak een Excel-Tabel (Ctrl+T) met de naam **WKRPosten** en de kolommen uit de CONCEPTS-sectie.

Voer de volgende WKR-posten van VGS in:

15-01-2026 | VGS-001 | Fatima E.    | Telefoon        | Zakelijke telefoon      | 450  | Ja | 2026-01
22-01-2026 | VGS-003 | Mia Chen     | Opleiding       | Excel-training          | 295  | Ja | 2026-01
05-02-2026 | (alle)  | Alle mw.     | Personeelsfeest | Nieuwjaarsborrel        | 800  | Ja | 2026-02
18-02-2026 | VGS-002 | Lars Bakker  | OV              | OV-abonnement feb.      | 180  | Ja | 2026-02
10-03-2026 | VGS-007 | Roos van Dam | Representatie   | Klantlunch              | 120  | Ja | 2026-03
22-03-2026 | VGS-005 | Selin Yilmaz | Opleiding       | Taaltraining            | 350  | Ja | 2026-03
14-04-2026 | VGS-004 | Daan Visser  | Arbo            | Ergonomische muis/toets.| 185  | Ja | 2026-04
28-04-2026 | VGS-008 | Omar Khalid  | Telefoon        | Telefoonabonnement      | 420  | Ja | 2026-04
15-05-2026 | (alle)  | Alle mw.     | Personeelsfeest | Teamuitje mei           | 1200 | Ja | 2026-05

Stap 2 — FILTER-overzichten maken

Maak een tabblad **WKR-Analyse** en bouw drie FILTER-overzichten:

Sectie 1 — Alle opleiding-posten:
A3: =FILTER(WKRPosten; WKRPosten[Categorie]="Opleiding"; "Geen opleiding-posten")

Sectie 2 — Alle posten tijdvak 2026-05:
A10: =FILTER(WKRPosten; WKRPosten[Tijdvak]="2026-05"; "Geen posten voor dit tijdvak")

Sectie 3 — Alle aangewezen posten gesorteerd op bedrag (hoog naar laag):
A17: =SORTBY(
       FILTER(WKRPosten; WKRPosten[Aangewezen]="Ja"),
       FILTER(WKRPosten[Bedrag]; WKRPosten[Aangewezen]="Ja"),
       -1)

Stap 3 — Vrije ruimte bewaking

Maak een tabblad **WKR-Bewaking** en bouw het bewakingsoverzicht:

A1: WKR-Bewaking Van Ginkel Solutions BV 2026

A3: Jaarloonsom (brutoloon × 12)
B3: Bereken op basis van de personeelslijst of voer €319.200 in (8 mw. × gem. loon × 12)

A4: Vrije ruimte 1e schijf (1,92%)
B4: =MIN(B3;400000)*0,0192

A5: Vrije ruimte 2e schijf (1,18%)
B5: =MAX(B3-400000;0)*0,0118

A6: Totale vrije ruimte
B6: =B4+B5

A8: Totaal aangewezen WKR-posten 2026
B8: =SOM.ALS(WKRPosten[Aangewezen];"Ja";WKRPosten[Bedrag])

A9: Resterende vrije ruimte
B9: =B6-B8

A10: Status
B10: =ALS(B9>=0;"Binnen vrije ruimte - OK";"LET OP: Overschrijding!")

A11: Eindheffing verschuldigd (80%)
B11: =ALS(B9<0;ABS(B9)*0,8;0)

Controleer het resultaat. Pas zo nodig de jaarloonsom aan op basis van de werkelijke gegevens uit je personeelslijst.