Zzp-contract opstellen: een compleet stappenplan & voorbeeld

Een goed zzp-contract voorkomt misverstanden, beschermt beide partijen en laat duidelijk zien dat het om een zelfstandige opdracht gaat. Het geeft rust, richting en houvast: wie doet wat, wanneer, tegen welke voorwaarden en met welke verantwoordelijkheden.

Waarom een goed zzp-contract in 2026 belangrijker is dan ooit

Vorig jaar verviel het handhavingsmoratorium rond schijnzelfstandigheid. De Belastingdienst kán daardoor weer handhaven wanneer een samenwerking in de praktijk te veel lijkt op loondienst. Dat maakt een helder zzp-contract relevanter dan ooit: het helpt beide partijen vast te leggen dat het gaat om een zelfstandige opdracht, zonder gezagsverhouding of organisatorische inbedding.

Maar een contract is geen schild. De praktijk weegt zwaarder. Wie zelfstandig werkt, eigen keuzes maakt over uitvoering en duidelijke afspraken vastlegt, laat overtuigend zien dat er géén sprake is van een dienstverband.

Wat is een zzp-contract / overeenkomst van opdracht?

Een zzp-contract is de afspraak tussen opdrachtgever en opdrachtnemer over een specifieke opdracht. In dit document leg je vast wat er geleverd wordt, onder welke voorwaarden en tegen welk tarief. Vaak gaat het om een overeenkomst van opdracht: een samenwerking waarbij een zelfstandige werkt zonder gezagsverhouding en zonder dat sprake is van loondienst. Afhankelijk van het soort werk kun je ook andere contractvormen gebruiken, zoals een aanneming van werk.

Sommige partijen gebruiken hiervoor een modelovereenkomst van de Belastingdienst. Nieuwe versies worden niet meer goedgekeurd, maar bestaande modellen blijven nog een paar jaar geldig. Zo’n model legt vooral vast dat de samenwerking níét bedoeld is als dienstverband.

Stappenplan: zo stel je zelf een zzp-contract op

Stap 1: Beschrijf de opdracht concreet en volledig

Begin met een heldere omschrijving van de opdracht. Wat moet er precies gebeuren, wat lever je op en wat valt er juist niet onder? Hoe duidelijker je dit vastlegt, hoe kleiner de kans op discussie. Denk aan het doel van de opdracht, de werkzaamheden, eventuele afhankelijkheden en de voorwaarden om te kunnen starten.

Stap 2: Leg vast dat het gaat om een zelfstandige samenwerking

In een overeenkomst van opdracht hoort duidelijk te staan dat er geen sprake is van een dienstverband. De opdrachtnemer voert het werk uit naar eigen inzicht, zonder gezagsverhouding of verplichte werktijden. Ook is het werk niet organisatorisch ingebed bij de opdrachtgever. Zulke bepalingen laten zien dat het gaat om zelfstandig ondernemerschap en helpen misverstanden over de arbeidsrelatie te voorkomen. Weet wel: je hoeft niet aan élk criterium te voldoen. Als de Belastingdienst controleert, doen ze dat hoogover.

Stap 3: Spreek een tarief, kosten en betalingsvoorwaarden af

Leg vast welk tarief wordt gehanteerd (uur-, dag- of projectprijs) en dat dit exclusief btw is. Bepaal hoe en wanneer er gefactureerd wordt, welke betaaltermijn geldt en of er voorschotten of tussentijdse betalingen zijn. Maak ook afspraken over eventuele onkosten en wie deze voor rekening neemt.

Stap 4: Maak afspraken over planning, resultaat en kwaliteit

Noteer de startdatum en, indien mogelijk, een verwachte einddatum. Spreek af of de opdracht een resultaatsverplichting of een inspanningsverplichting is. Denk daarnaast aan deadlines, kwaliteitsnormen en eventuele revisierondes.

Stap 5: Leg vast hoe wijzigingen en meerwerk worden behandeld

Een opdracht verandert soms tijdens de uitvoering. Leg daarom vast hoe wijzigingen worden beoordeeld en akkoord gegeven, en hoe extra werkzaamheden worden gefactureerd. Stem ook af wat er gebeurt als de opdrachtnemer moet worden vervangen of iemand met de opdracht wil stoppen.

Stap 6: Regel aansprakelijkheid, risico’s en vertrouwelijkheid

Beschrijf waarvoor partijen aansprakelijk zijn en, indien gewenst, wat de maximale schadevergoeding is. Neem een vertrouwelijkheidsclausule op voor informatie die niet buiten de samenwerking mag komen. Als er persoonsgegevens worden verwerkt, leg dan kort vast hoe daarmee wordt omgegaan. Tip: staat er een concurrentiebeding in? Check dan wel even of die niet te streng is.

Stap 7: Bespreek eigendom en gebruiksrechten van het werk

Leg vast wie de rechten bezit van het werk dat tijdens de opdracht ontstaat. Spreek af of en wanneer de rechten overgaan en wat de andere partij met het materiaal mag doen. Denk aan gebruiksrechten, aanpassingen of hergebruik in de toekomst. Hiermee voorkom je discussie over intellectueel eigendom en is voor iedereen duidelijk wat er met het eindresultaat mag gebeuren.

Stap 8: Sluit af met formele contractdetails

Rond het contract af met de formele onderdelen: de contactgegevens van beide partijen, het toepasselijke recht en de digitale of schriftelijke ondertekening. Je kunt hier ook verwijzen naar bijgevoegde documenten, zoals algemene voorwaarden of een gebruikte modelovereenkomst.

Goed om te weten: je hoeft dit maar één keer goed te doen

Een compleet contract opstellen lijkt misschien veel werk, zeker als je nog niets op papier hebt staan. Het goede nieuws: je maakt zo’n overeenkomst meestal maar één keer zo zorgvuldig. Zodra je een duidelijke basis hebt, kun je dit document steeds opnieuw gebruiken en per opdracht alleen de details aanpassen. Dat scheelt tijd én geeft rust bij elke nieuwe samenwerking.

Checklist: wat staat er in een goed zzp-contract?

Bovenstaand stappenplan bevat vrijwel alles wat je in een zzp-contract zou willen hebben om problemen te voorkomen. Hou je het liever wat luchtiger, dan hebben we hier een checklist van alles wat er écht in moet staan voor een geldig contract:

1. Gegevens van beide partijen

☐ Naam, adres en contactgegevens

☐ KvK-nummer

☐ Eventueel btw-nummer

2. Een duidelijke omschrijving van de opdracht

☐ Wat de opdrachtnemer uitvoert

☐ Wat het resultaat of doel is

☐ Afbakening van de werkzaamheden

3. Looptijd van de opdracht

☐ Startdatum

☐ Einddatum óf afspraken bij opdrachten zonder vaste einddatum

☐ Eventuele opzegtermijn

4. Tarief en betalingsafspraken

☐ Uurtarief, dagtarief of vaste prijs (excl. btw)

☐ Betaaltermijn (bijv. 14 of 30 dagen)

☐ Factureringswijze

5. Afspraken over de arbeidsrelatie

☐ Hoe de zelfstandigheid van de zzp'er wordt gewaarborgd

6. Aansprakelijkheid

☐ Wie aansprakelijk is bij schade of fouten

☐ Eventuele beperking van aansprakelijkheid

7. Geheimhouding

☐ Wat als vertrouwelijke informatie geldt

☐ Hoe lang de geheimhoudingsplicht geldt

8. Intellectueel eigendom

☐ Wie de rechten op het geleverde werk krijgt

☐ Wat de andere partij wel/niet mag doen

9. Procedure bij niet-nakomen

☐ Wat er gebeurt als één partij verplichtingen niet nakomt

☐ Mogelijke beëindiging van de overeenkomst

10. Ondertekening

☐ Handtekeningen van beide partijen

☐ Datum van ondertekening

Zzp-contract voorbeeld (gratis) + downloadbare templates

Partijen
Deze overeenkomst wordt gesloten tussen:

Opdrachtgever: Webshop BV, gevestigd aan Handelsweg 12, 1234 AB Utrecht, KvK 12345678.

Opdrachtnemer: Jeroen de Vries, zelfstandig softwaredeveloper, gevestigd aan Parklaan 8, 1234 XY Utrecht, KvK 87654321, btw NL001234567B01.

Opdrachtomschrijving

Opdrachtnemer ontwikkelt een mobiele app voor de webshop van opdrachtgever. De app bevat een productcatalogus, winkelwagen en betaalfunctionaliteit. Onderdeel van de opdracht is het bouwen, testen en opleveren van een werkende app voor iOS en Android. Werkzaamheden buiten deze scope vallen niet binnen de opdracht.

Zelfstandige samenwerking

Deze overeenkomst is geen arbeidsovereenkomst. Opdrachtnemer voert de werkzaamheden uit naar eigen inzicht, zonder gezagsverhouding en zonder vaste werktijden. Het werk is niet organisatorisch ingebed bij opdrachtgever.

Looptijd

De opdracht start op 1 maart 2026 en heeft een verwachte oplevering op 1 juni 2026. Bij uitloop stemmen partijen tijdig af welke aanpassingen nodig zijn. De overeenkomst kan tussentijds schriftelijk worden beëindigd met een opzegtermijn van 14 dagen.

Tarief en betaling

Voor deze opdracht geldt een vaste projectprijs van 9.000 euro exclusief btw. Opdrachtnemer factureert in drie termijnen:

30% bij start van de opdracht

40% na oplevering van de testversie

30% bij definitieve oplevering

Facturen worden binnen 14 dagen betaald. Eventuele extra werkzaamheden worden vooraf afgestemd en tegen 75 euro per uur excl. btw uitgevoerd.

Kwaliteit en oplevering

Opdrachtnemer levert de app op in een werkende staat, compatible met recente versies van iOS en Android. De opdrachtgever test de app binnen 5 werkdagen na oplevering en meldt eventuele bevindingen. Kleine aanpassingen die direct voortkomen uit de afgesproken functionaliteit worden zonder extra kosten uitgevoerd.

Aansprakelijkheid

Opdrachtnemer is aansprakelijk voor directe schade die aantoonbaar ontstaat door fouten in de geleverde software, tot maximaal het bedrag van de opdrachtwaarde. Gevolgschade is uitgesloten.

Geheimhouding

Partijen behandelen alle vertrouwelijke informatie die zij tijdens de samenwerking ontvangen als strikt vertrouwelijk.

Intellectueel eigendom

Het auteursrecht op de broncode ligt bij opdrachtnemer. Opdrachtgever krijgt na volledige betaling een onbeperkt gebruiksrecht op de app voor eigen bedrijfsactiviteiten. Hergebruik van generieke componenten door opdrachtnemer blijft toegestaan.

Wijzigingen en meerwerk

Wijzigingen in functionaliteit of planning worden vooraf schriftelijk afgestemd. Meerwerk wordt alleen uitgevoerd na akkoord op tijd en kosten.

Niet-nakomen

Bij het niet nakomen van verplichtingen stelt de andere partij schriftelijk in gebreke, met een hersteltermijn van 7 dagen. Bij blijvende tekortkoming kan de overeenkomst worden beëindigd.

Ondertekening

Getekend op 20 februari 2026:

Webshop BV - opdrachtgever
Naam: ____________________
Handtekening: ____________

Jeroen de Vries – opdrachtnemer
Naam: ____________________
Handtekening: ____________

Veelgemaakte fouten bij contracten opstellen (en hoe je ze voorkomt)

Een te vage opdrachtomschrijving

Hoe minder specifiek de opdracht is, hoe groter de kans op ruis. Beschrijf wat wél en niet binnen de opdracht valt, zodat beide partijen dezelfde verwachting hebben.

Geen afspraken over wijzigingen of meerwerk

Opdrachten veranderen bijna altijd. Leg daarom vast hoe wijzigingen worden beoordeeld en wat telt als meerwerk. Zo voorkom je discussie over extra tijd of kosten.

Onhandig gebruik van boetes

Boetes lijken soms een goede stok achter de deur, maar creëren vaak meer spanning dan duidelijkheid. Gebruik ze alleen wanneer echt nodig en houd ze proportioneel.

Geen limiet op aansprakelijkheid

Zonder maximumbedrag kan een fout enorme financiële gevolgen hebben. Door een duidelijke aansprakelijkheidslimiet op te nemen, blijft het risico beheersbaar.

Afspraken die lijken op loondienst

Vaste werktijden, een verplichte werklocatie of gedetailleerde aansturing wekken snel de suggestie van een dienstverband. Formuleer afspraken op een manier die past bij zelfstandig werken.

Geen eigendomsclausule bij creatief of technisch werk

Zonder expliciete rechtenoverdracht is onduidelijk wie eigenaar is van het eindresultaat. Vermeld daarom altijd wie de rechten krijgt en onder welke voorwaarden.

Wat doe je als er een situatie ontstaat die niet in het contract staat?

Een contract kan nooit alles voorspellen. Krijg je toch te maken met een situatie die niet is vastgelegd, bespreek dan eerst samen wat redelijk is binnen de gemaakte afspraken. Sluit aan bij de bedoeling van de opdracht en leg de gekozen oplossing direct schriftelijk vast, zodat beide partijen weer dezelfde verwachting hebben.

Hoe ga je het beste om met onderhandelen over een contract?

Onderhandelen hoeft niet ingewikkeld te zijn: bespreek wat je nodig hebt, luister naar wat de andere partij belangrijk vindt en zoek naar afspraken die voor beide kanten werken. Houd het concreet, onderbouw keuzes en richt je op helderheid in plaats van winstmaximalisatie. Een goed contract beschermt beide partijen, niet alleen jou.

Moet je een contract laten beoordelen door de Belastingdienst?

Je hoeft een contract niet vooraf door de Belastingdienst te laten beoordelen. Sterker nog: nieuwe modelovereenkomsten worden momenteel niet meer goedgekeurd. Bestaande modellen kun je wel gebruiken als referentie voor de arbeidsrelatie, maar de Belastingdienst kijkt uiteindelijk naar de praktijk. Zorg dus vooral dat de manier van samenwerken aansluit bij wat er in het contract staat.

Veelgestelde vragen over een zzp-contract opstellen

Is een zzp-contract verplicht?

Nee. Een zzp-contract is niet verplicht, maar wel verstandig om afspraken duidelijk vast te leggen en misverstanden te voorkomen.

Hoe stel je een zzp-contract op?

Beschrijf de opdracht, het tarief, de planning en de verantwoordelijkheden. Leg vast dat het geen loondienst is en onderteken beiden.

Heb je een modelovereenkomst nodig als zzp’er?

Nee. Een modelovereenkomst is niet verplicht. De Belastingdienst beoordeelt vooral hoe je in de praktijk samenwerkt.

Mag je zelf een zzp-contract opstellen?

Ja. Je mag een contract volledig zelf opstellen zolang afspraken duidelijk zijn en beide partijen ondertekenen.

Hoe lang is een zzp-contract geldig?

Zolang als in de overeenkomst staat. Met einddatum stopt het automatisch; zonder einddatum geldt de afgesproken opzegtermijn.