De factuur die me een klant van € 60.000 kostte

Door Daniel Kim, eigenaar van een softwareontwikkelingsbureau — Seattle, WA


Ik bouwde acht jaar software bij andere bedrijven voordat ik mijn eigen bureau begon. Tegen de tijd dat ik zelfstandig werd, wist ik hoe ik systemen moest ontwerpen, sprints moest beheren en producten moest opleveren. Wat ik niet wist — en wat niemand je leert in een informatica-opleiding of in een productmanagementrol — was hoe je factureert.

Mijn eerste jaar met Kim Development was volgens de meeste maatstaven winstgevend. Projecten kwamen binnen. Code werd opgeleverd. Klanten waren tevreden. Maar de winstgevendheid was een illusie die ik pas begreep nadat ik een klant van € 60.000 verloor door een facturatiegeschil dat nooit had mogen gebeuren.

Het geschil dat alles veranderde

Ik had vier maanden besteed aan het bouwen van een maatwerksysteem voor voorraadbeheer voor een groothandeldistributeur in de omgeving van Seattle. Het project was begroot op € 48.000. We hadden een getekende Statement of Work. De klant was tevreden met de bouw.

Het probleem was de facturatie. Ik had gedurende het project informele facturen gestuurd op onregelmatige momenten — € 12.000 hier, € 8.000 daar, wanneer ik eraan dacht of wanneer ik geld nodig had. Geen consistente structuur. Geen fasemijlpalen. Geen gespecificeerde opleveringen.

Toen ik de eindfactuur voor het resterende saldo stuurde, betwistte de klant deze. Op basis van hun eigen informele registratie van mijn facturen dachten ze dat ze al meer hadden betaald dan de projectscope rechtvaardigde. Mijn facturen verwezen niet naar de oorspronkelijke Statement of Work. Ze konden niet afstemmen wat ze hadden betaald tegen wat ze verschuldigd waren.

Het geschil kostte me € 4.200 die ik nooit heb geïnd. Het kostte me ook de vervolgopdracht die de klant tijdens het project had genoemd — de bouw van een maatwerk-rapportagemodule van € 60.000 die naar een ander bureau ging. Een probleem met de presentatie van de facturatie vernietigde een relatie van zes cijfers.

Wat onprofessionele softwarefacturatie werkelijk kost

Invoice Flow app factuureditor van een softwareontwikkelbureau — een maatwerk-CRM-milestone gefactureerd met een aparte meerwerkregel en project-, sprint- en SOW-referenties in aangepaste velden
Een milestone en een out-of-scope meerwerkorder op dezelfde factuur — project-, sprint- en SOW-referenties waar inkoop ze verwacht.

Facturatiefouten bij software zijn doorgaans groter dan in andere dienstverlenende branches, omdat de projectwaarden groter zijn. Een geschil van € 200 in een dienstverlenend bedrijf is vervelend. Een facturatiegeschil van € 4.000 in een softwareproject is catastrofaal.

De specifieke fouten die ik maakte:

Geen mijlpaalstructuur. Facturen sturen wanneer ik geld nodig had in plaats van gekoppeld aan gedefinieerde projectfasen zorgde voor verwarring over waarvoor er was betaald.

Geen verwijzingen naar de Statement of Work. Mijn facturen waren generiek — “Ontwikkeldiensten — maand maart — € 12.000.” Geen koppeling aan de oorspronkelijke overeenkomst. Geen documentatie van opleveringen.

Geen omzetting naar retainer. Elk project eindigde met een volledig opgeleverd product en een volledig afgesloten factuur. Er was geen structuur voor het doorlopende onderhoud, de functieverzoeken en de updates die klanten onvermijdelijk nodig hadden. Dat werk kwam informeel binnen en werd inconsistent gefactureerd.

Het mijlpaalsysteem dat de projectfacturatie oploste

Na het geschil bouwde ik mijn hele facturatieaanpak opnieuw op met InvoiceFlow.

De nieuwe projectfacturatiestructuur voor elke opdracht boven € 15.000:

“Overeenkomst softwareontwikkeling — [Klantnaam] — Facturatie per fase:

Fase 1 — Vereisten & architectuur (20%): stakeholderinterviews, technisch specificatiedocument, databaseschema, systeemarchitectuurdiagram. Verschuldigd bij goedkeuring van de vereisten. € 9.600,00

Fase 2 — Kernontwikkeling (35%): bouw van de primaire functionaliteit, API-ontwikkeling, integratielaag, unittests. Verschuldigd bij interne QA-goedkeuring. € 16.800,00

Fase 3 — Integratie & testen (25%): opzet UAT-omgeving, testperiode klant, foutoplossing, prestatietests. Verschuldigd bij UAT-goedkeuring door de klant. € 12.000,00

Fase 4 — Lancering & overdracht (20%): productie-implementatie, oplevering documentatie, teamtrainingssessie, 30 dagen ondersteuning na lancering. Verschuldigd bij lancering. € 9.600,00

Totale projectwaarde: € 48.000,00”

Ik verwijs op elke fasefactuur naar de oorspronkelijke Statement of Work: “Fase 2 zoals gedefinieerd in Statement of Work SOW-2026-0341, gedateerd 15 januari 2026.” De klant kan elke factuur afstemmen op zijn eigen exemplaar van de overeenkomst.

Sinds ik deze structuur invoerde, heb ik geen enkel facturatiegeschil meer gehad. Klanten weten wat elke fase kost, wat ze in elke fase krijgen en wanneer de factuur komt.

De wijzigingsverzoekfactuur die beide partijen beschermt

Invoice Flow app terugkerende facturen van een softwarebureau — maandelijkse ontwikkelretainers in USD en EUR die automatisch worden gegenereerd
Maandelijkse retainers — waaronder een in EUR — genereren zichzelf, zodat voorspelbare omzet binnenkomt zonder handmatige facturatie.

Softwareprojecten veranderen. Vereisten evolueren. Klanten zien de eerste bouw en willen aanpassingen. De vraag is niet óf er wijzigingsverzoeken komen — het is of ze worden geprijsd en gedocumenteerd voordat het werk begint.

Ik stuur nu een formele wijzigingsverzoekfactuur voor elk werk buiten de oorspronkelijke SOW:

“Autorisatie wijzigingsverzoek — [Klantnaam] — CR-2026-007: Omschrijving: Herziene gebruikersauthenticatie — tweefactorauthenticatie toevoegen via sms- en e-mailverificatieopties. De oorspronkelijke SOW voorzag alleen in enkelvoudige authenticatie.

Geschat extra werk:

Dit wijzigingsverzoek moet worden ondertekend voordat het werk begint. Geschatte oplevering: 5 werkdagen na autorisatie.”

Klanten die begrijpen dat hun verzoek € 4.550 kost, nemen weloverwogen beslissingen. Sommigen keuren direct goed. Sommigen verkleinen de scope. Enkelen besluiten dat hun oorspronkelijke vereisten prima waren. Al deze uitkomsten zijn beter dan het werk doen en het vervolgens zelf opvangen of als verrassing factureren aan het einde van het project.

Het retainermodel dat terugkerende omzet creëerde

Documenten in de Invoice Flow app van een softwarebureau — projectmijlpalen, een meerwerkorder, een maandelijkse retainer en een internationale mijlpaal in EUR
Mijlpalen, een meerwerkorder, een retainer en een EUR-project — elke draad van een multiprojectbureau in één lijst.

De facturatietransformatie in software met de grootste zakelijke impact was het opbouwen van een retainermodel na afloop van het project.

Na elke projectlancering presenteer ik nu een onderhouds- en supportretainer. Het gesprek verloopt makkelijk omdat de klant net heeft ervaren hoe mijn werk eruitziet en de toegang tot mij niet wil verliezen wanneer er iets kapotgaat of moet worden bijgewerkt.

Mijn standaard retainerniveaus voor softwareklanten:

“Maandelijkse softwaresupportretainer — [Klantnaam]:

Niveau 1 — Essentieel (8 uur/maand): foutoplossingen, beveiligingsupdates, kleine configuratiewijzigingen, technische ondersteuning. € 1.400/maand.

Niveau 2 — Actief (16 uur/maand): bovenstaande plus functie-uitbreidingen, prestatieoptimalisatie, API-integraties, maandelijkse codereview. € 2.800/maand.

Niveau 3 — Toegewijd (32 uur/maand): toegewijde capaciteit — doorlopende ontwikkeling, alle support, maandelijkse architectuurreview, prioritaire reactie. € 5.600/maand.”

Ik stel terugkerende facturen in InvoiceFlow in voor elke retainerklant. Negen van mijn laatste twaalf afgeronde projectklanten zijn omgezet naar retainerovereenkomsten. Mijn huidige retainerinkomsten bedragen € 18.200 per maand — terugkerend, voorspelbaar, niet afhankelijk van het winnen van nieuwe projecten.

Zakelijke en enterprisefacturatie

Twee van de klanten van mijn bureau zijn middelgrote ondernemingen met formele inkoopprocessen. De facturatievereisten zijn specifiek: leveranciersregistratie, PO-nummers, betalingstermijn netto 45 dagen, factuurindeling afgestemd op hun systemen.

Ik voeg alle vereiste velden toe via de aangepaste velden van InvoiceFlow:

“Softwareontwikkelingsdiensten — [Enterpriseklant] — juni 2026: PO-nummer: PO-2026-IT-ENG-0921 Registratie leverancier: VR-84421 Kostenplaats: IT-OPERATIONS Projectcode: INV-MGMT-V2 Opleveringen fase 3 conform SOW gedateerd 3 maart 2026: UAT-omgeving, testondersteuning klant, foutoplossing (14 issues), prestatiebenchmarking. Bedrag: € 28.500,00 Betalingstermijn: netto 45 dagen Vervaldatum factuur: 15 augustus 2026”

Crediteurensystemen van enterprises verwerken facturen door velden af te stemmen op PO’s. Facturen die overeenkomen, worden binnen de termijn betaald. Facturen die niet overeenkomen, blijven in wachtrijen staan of worden teruggestuurd ter correctie. Dit goed doen is het verschil tussen op tijd geïnd worden en maandenlang achter betaling aanjagen.

Het bureau na de verandering

Het verlies van de klant van € 60.000 was de gebeurtenis die me dwong facturatie serieus te nemen. Het bureau van vandaag lijkt in niets op wat het was in het eerste jaar.

Huidige situatie:

De les die ik meedraag: software is een dienst met hoge waarde. De facturatie moet daarbij passen. Een informele factuur van een serieus engineeringbureau is een tegenstrijdigheid die je klanten kost.

Download InvoiceFlow. Bouw je fasefactuursjablonen. Stuur je eerste retainervoorstel naar je volgende afgeronde projectklant. De terugkerende inkomsten zullen veranderen hoe je het bedrijf runt.


Daniel Kim is de oprichter van Kim Development in Seattle, Washington, en bouwt maatwerksoftware-oplossingen voor klanten in groothandeldistributie, logistiek en operationeel beheer.