SSD Nodes Learn Hosting plans →
Gidsen Matt ConnorDoor Matt Connor

Zelf gehoste facturatie en e-facturatie vanaf 2030

Factureer je als zzp'er of bv vanaf je eigen server? Wat de e-factuurplicht van 1 juli 2030 betekent en welke zelf gehoste tools nu al een UBL-factuur maken.

Het korte antwoord

Zelf gehoste facturatie blijft na 2030 mogelijk, maar voor e-facturatie tussen bedrijven telt een pdf per e-mail dan niet meer. Het kabinet wil dat bedrijven vanaf 1 juli 2030 gestructureerde e-facturen sturen. Je software moet dus een factuur volgens de Europese norm EN 16931 kunnen maken. In de praktijk is dat meestal een UBL-bestand. Voor het verzenden heb je daarnaast een gecertificeerde dienstverlener nodig, want je eigen server is geen Peppol-access point.

Deze gids is voor de zzp'er of kleine bv die factureert met Invoice Ninja, InvoiceShelf, Akaunting, Dolibarr of Kimai op een eigen VPS. Eerst de stand van de plannen. Dan per tool wat die vandaag kan exporteren. Tot slot de regels die nu al gelden, los van 2030: de factuureisen en de bewaarplicht.

Wat besloot het kabinet op 11 september 2026?

Het kabinet besloot op 11 september 2026 om e-facturatie verplicht te maken voor transacties tussen bedrijven. Dat geldt vanaf 1 juli 2030, voor facturen binnen Nederland en voor facturen naar andere EU-landen. Een jaar later, vanaf 1 juli 2031, komt er voor binnenlandse transacties een digitale rapportage aan de Belastingdienst bij. Voor handel binnen de EU begint die rapportage al op 1 juli 2030.

De basis is de Europese richtlijn ViDA (VAT in the Digital Age). Die richtlijn maakt e-facturatie verplicht voor grensoverschrijdende handel tussen bedrijven in de EU. Nederland kiest ervoor om hetzelfde te doen voor binnenlandse facturen.

Ondernemers die de KOR (kleineondernemersregeling) gebruiken, blijven volgens het plan uitgezonderd van de binnenlandse plicht. De KOR is de regeling voor ondernemers met maximaal €20.000 omzet per kalenderjaar, die daardoor geen btw rekenen.

Het is nog geen wet. Eerst volgt een conceptwetsvoorstel in internetconsultatie. Daarna moet de Tweede Kamer het wetsvoorstel behandelen. KVK schrijft daarom dat de plicht geldt “als het wetsvoorstel wordt aangenomen”. De actuele stand lees je op de KVK-pagina over e-facturatie.

Dan Peppol (Pan-European Public Procurement OnLine). Dat is het netwerk waarover overheden in Europa nu al e-facturen uitwisselen. KVK noemt Peppol als voorbeeld, maar het plan legt het per oktober 2026 niet vast als verplicht netwerk. Volgens de kabinetsbrief loopt er nog onderzoek naar de keuze tussen Peppol en de European Business Wallet. Ga dus niet uit van “Peppol is verplicht”. Ga wel uit van “een gestructureerd formaat volgens EN 16931 is verplicht”.

Wat verandert er aan je factuur?

Nu maak je een factuur in je software. Die maakt er een pdf van, en jij mailt die pdf. Na 1 juli 2030 is dat voor facturen tussen bedrijven niet meer genoeg. KVK zegt het letterlijk: “Een pdf die je als bijlage mailt, is geen e-factuur.”

Het verschil zit in wie de factuur leest. Een pdf is gemaakt voor een mens. De boekhoudsoftware van je klant moet het bedrag en het btw-nummer er zelf uit halen, en dat gaat vaak mis. Een e-factuur is een bestand met vaste velden. Software leest het zonder te raden.

Vier begrippen kom je steeds tegen:

  • EN 16931 is de Europese norm die vastlegt welke velden een e-factuur heeft en wat ze betekenen. Het is een gegevensmodel, geen bestandsformaat.
  • UBL (Universal Business Language) is een XML-formaat dat dat model invult. Peppol gebruikt UBL.
  • CII (Cross Industry Invoice) is het tweede XML-formaat dat EN 16931 toestaat.
  • Factur-X en ZUGFeRD zijn hybride formaten: een pdf met een CII-bestand erin. Een mens leest de pdf, software leest de XML.

Welk formaat Nederland precies voorschrijft, staat nog niet in een wet. UBL is de veilige keuze. Het is het formaat van Peppol, en wie aan de Rijksoverheid levert, stuurt al sinds 2017 e-facturen in UBL.

Waarom maakt een eigen server je geen Peppol-access point?

Bij Peppol zijn vier partijen betrokken. Jij geeft je factuur aan jouw access point. Dat access point zoekt het access point van je klant op en stuurt de factuur daarheen. Je klant haalt de factuur daar op. Een access point is een dienstverlener met een overeenkomst binnen het Peppol-netwerk en een certificaat van dat netwerk. Zonder dat certificaat neemt geen ander access point je bericht aan.

Self-hosting verandert daar niets aan. Je software op de VPS maakt het UBL-bestand. Daarna gaat dat bestand via een API naar een gecertificeerd access point, en dat access point rekent per factuur of per maand. Met self-hosting bespaar je dus op de licentie van de software, maar niet op de kosten van het netwerk. Zelf access point worden kan in theorie, maar daarvoor zijn lidmaatschap van OpenPeppol en een certificeringstraject nodig. Voor een zzp'er is dat geen realistische route.

Welke zelf gehoste factuursoftware maakt nu al een e-factuur?

Hieronder staat per tool wat die per oktober 2026 kan: wat de software zelf exporteert, en of er een route naar een access point is. Een breder overzicht van installatie en geheugengebruik staat in de vergelijking van zelf gehoste factuursoftware.

Invoice Ninja

Invoice Ninja maakt e-facturen vanuit een gewone factuur. De documentatie noemt Peppol, generiek EN 16931, ZUGFeRD en XRechnung voor Duitsland, en Facturae voor Spanje. Je downloadt het bestand direct bij de factuur.

Verzenden over Peppol kan ook vanaf een zelf gehoste installatie. Dat gaat via een proxy. Jouw server stuurt de factuur naar de servers van Invoice Ninja. Die zetten hem op het netwerk via hun access-point-partner Storecove. Volgens de documentatie slaat de proxy de gegevens niet op. Je factuurgegevens gaan wel langs een externe partij, maar dat is bij elk access point zo. Inkomende e-facturen haalt je server ongeveer elke vier uur op. Ze komen binnen als uitgave, met het originele XML-bestand erbij.

Je hebt twee dingen nodig. Het eerste is een jaarlijkse white-label-licentie ($40 per jaar, per augustus 2026). Invoice Ninja gebruikt die licentie voor de KYC-controle (know your customer, de identiteitscheck van je bedrijf). Je zet de sleutel in het .env-bestand van je installatie:

LICENSE_KEY=jouw_licentiesleutel

Het tweede zijn Peppol-credits. Per oktober 2026 kost een bundel van 500 credits $50 en een bundel van 1.000 credits $100. Eén credit is één verzonden of ontvangen document, en de credits zijn één jaar geldig. Invoice Ninja rekent in dollars, dus het bedrag in euro hangt af van de wisselkoers. Stuur je 60 facturen per jaar, dan koop je toch de bundel van 500, en de rest vervalt na twaalf maanden.

InvoiceShelf

InvoiceShelf maakt pdf-facturen. Een export naar UBL of een ander EN 16931-formaat zit er per oktober 2026 niet in. Het verzoek om Peppol-ondersteuning staat sinds juni 2025 open als issue #391, met de mijlpaal “Future” en zonder gekoppelde code. Een eerdere pull request voor Europese e-facturatie is in april 2026 als concept gesloten.

In augustus 2026 zijn wel creditnota's en pdf/A-uitvoer aan de code toegevoegd. Pdf/A is een archiefversie van pdf. Dat helpt bij het bewaren, maar het is geen e-factuur. Wie op InvoiceShelf blijft, heeft voor 2030 een extra stap nodig: een apart programma dat UBL maakt uit je factuurgegevens, of een overstap naar andere software.

Akaunting

Akaunting maakt in de basis pdf-facturen. In de app store staat een betaalde app, E-Invoice BE, die over Peppol verstuurt en ook op een eigen server draait. Die app is gebouwd voor de Belgische regels. Een aparte app voor Nederland stond er in oktober 2026 niet tussen. Voor een Nederlands bedrijf is dit dus geen kant-en-klare route. Vraag de maker of de app ook naar Nederlandse ontvangers stuurt voordat je hem koopt.

Dolibarr

Dolibarr is een volledig ERP-pakket (enterprise resource planning). De wiki over elektronisch factureren zegt dat de oplossing afhangt van je land. Voor UBL in Peppol-formaat verwijst de wiki naar een module “Peppol XML” op DoliStore, de modulewinkel van Dolibarr. Voor het verzenden noemt de wiki modules van derden die een access point aansluiten, zoals EM Peppol (via Peppyrus) en WiwiTRouter (via B2BRouter). Die modules vragen meestal een abonnement bij de dienst erachter.

De ingebouwde module voor e-facturatie in Dolibarr 24 richt zich op Frankrijk, met Factur-X en CII. Voor Nederland heb je per oktober 2026 dus een module uit DoliStore nodig. Controleer welke Dolibarr-versie je draait voordat je een module koopt. Elke module noemt de versies waarmee hij werkt.

Kimai

Kimai is urenregistratie die ook factureert. De betaalde plug-in E-Invoice Plus kost per oktober 2026 €99 per jaar exclusief btw. De plug-in maakt EN 16931 in UBL en CII, XRechnung, ZUGFeRD en Factur-X. Peppol UBL zit erin als bètaversie. Verzenden doet de plug-in niet: je downloadt de XML en geeft die zelf aan een access point.

Hoe controleer je een UBL-bestand op je server?

Een export is pas bruikbaar als het bestand klopt. Twee eerste controles doe je zelf op de VPS. Je hebt daarvoor een factuur nodig die je uit je software hebt gedownload.

sudo apt install -y libxml2-utils
xmllint --noout factuur-2026-0042.xml
grep -o '<cbc:CustomizationID>[^<]*' factuur-2026-0042.xml

xmllint --noout print niets als het bestand goed gevormde XML is. Een melding met parser error : Opening and ending tag mismatch betekent dat het bestand kapot is, en dan weigert elk access point het. De grep toont welke specificatie het bestand zegt te volgen. Voor Peppol BIS Billing 3.0 ziet de regel er zo uit:

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0

Geeft de grep niets terug, dan is het geen UBL-factuur, of je software gebruikt een ander voorvoegsel dan cbc. Open het bestand dan in een editor en zoek naar CustomizationID.

Let op wat deze controle niet doet. Goed gevormde XML is nog geen geldige e-factuur. EN 16931 heeft ook bedrijfsregels. Een voorbeeld: de btw-bedragen per tarief moeten optellen tot het totaal. Die regels test een validator met Schematron-bestanden. Het access point voert die test ook uit en weigert een factuur die faalt. Test je niet eerder, dan merk je een fout in je sjabloon dus pas bij het verzenden.

Welke factuureisen gelden nu al?

Een e-factuur verandert de vorm, niet de inhoud. De factuureisen van de Belastingdienst gelden vandaag al, en EN 16931 heeft er velden voor. Controleer in je software dat elke factuur dit bevat:

  • je volledige naam en die van je klant, met beide adressen (een postbus alleen is niet genoeg)
  • je btw-identificatienummer, met NL ervoor
  • je KVK-nummer, als je bij KVK bent ingeschreven
  • de factuurdatum en de datum van levering
  • een uniek factuurnummer uit een opeenvolgende reeks
  • een omschrijving van wat je leverde, met de hoeveelheid
  • het bedrag zonder btw, het btw-tarief en het btw-bedrag

Het btw-identificatienummer is niet je omzetbelastingnummer. Een eenmanszaak heeft sinds 2020 een apart btw-id voor facturen, zodat je BSN niet op je factuur staat. Het omzetbelastingnummer gebruik je alleen in contact met de Belastingdienst.

Over de nummering is de Belastingdienst streng: een doorlopende reeks, en elk nummer komt maar één keer voor. Een jaartal ervoor mag, zoals 2026-0042. In zelf gehoste software gaat dit mis bij een herstel uit een back-up. Zet je de database van gisteren terug, dan geeft de software het volgende nummer opnieuw uit. Je klant heeft dan al een factuur met dat nummer. Controleer na elk herstel het laatste factuurnummer tegen je verzonden facturen.

Hoe werkt btw verlegd bij klanten in andere EU-landen?

Lever je een dienst aan een bedrijf in een ander EU-land, dan reken je volgens de hoofdregel geen Nederlandse btw. De btw wordt verlegd naar je klant. Volgens de Belastingdienst over de verleggingsregeling zet je dan op de factuur:

  • de tekst “btw verlegd”
  • het btw-identificatienummer van je klant

Controleer dat nummer in VIES, het controlesysteem van de Europese Commissie. Kan de Belastingdienst niet vaststellen wie je klant is, dan heb je de verleggingsregeling ten onrechte toegepast. De Belastingdienst kan de btw dan bij jou naheffen. Deze leveringen meld je ook in de opgaaf intracommunautaire prestaties (ICP). Voor deze EU-facturen begint naast de e-facturatieplicht ook de digitale rapportage al op 1 juli 2030. Dat is een jaar eerder dan de rapportage voor binnenlandse facturen.

Hoe lang moet je facturen bewaren?

De Belastingdienst noemt de termijn op de pagina over administratie bewaren: 7 jaar. Gegevens over onroerende zaken en rechten op onroerende zaken bewaar je 10 jaar. De termijn begint niet op de factuurdatum. Hij begint wanneer een gegeven zijn actuele waarde verliest, dus pas als het niet meer meedoet in je lopende administratie. De basisgegevens bewaar je altijd de volle 7 jaar. Daaronder vallen je debiteuren en crediteuren, je in- en verkoop en het grootboek.

Voor facturen zegt de Belastingdienst ook iets over de vorm: je bewaart ze “in de vorm waarin u ze hebt verstuurd of ontvangen”. Een digitale factuur druk je dus niet af. Dat heeft een gevolg voor 2030. Is je factuur een UBL-bestand, dan is dat bestand het origineel. Een pdf die je software ervan maakt, is alleen een weergave. Bewaar dus de XML, ook van de e-facturen die je ontvangt.

Wat betekent de bewaarplicht voor je back-ups?

Bij een SaaS-pakket regelt de leverancier de back-ups. Bij self-hosting bewaart jouw VPS je facturen alleen zo lang als jij het inricht.

Een gewone back-up met een korte bewaartijd is niet genoeg. Stel dat restic oude snapshots na 30 dagen opruimt. Je verwijdert per ongeluk een klant met zijn facturen en merkt dat pas na twee maanden. Dan zijn die facturen weg. De back-up deed wat je vroeg. Hij bewaarde alleen niet lang genoeg.

Twee lagen werken samen:

  1. Een jaararchief. Exporteer na het afsluiten van een boekjaar alle verkoopfacturen als pdf en als XML, met de ontvangen e-facturen erbij. Zet er een lijst met controlegetallen bij, zodat je later kunt aantonen dat niets is gewijzigd.
  2. Een doorlopende back-up van de database en de map met uploads, met een bewaarbeleid dat jaren teruggaat.

Voor het jaararchief:

cd /srv/facturatie/archief/2025
sha256sum *.pdf *.xml > SHA256SUMS
sha256sum -c SHA256SUMS

sha256sum -c hoort voor elk bestand OK te melden. Een regel met FAILED betekent dat het bestand is gewijzigd nadat je de lijst maakte.

Voor de doorlopende back-up met restic, naar een repository op een andere machine:

export RESTIC_REPOSITORY=sftp:backup@backup.example.com:/srv/restic/facturatie
export RESTIC_PASSWORD_FILE=/root/.config/restic/facturatie.pass
restic backup /srv/facturatie
restic forget --keep-daily 14 --keep-monthly 24 --keep-yearly 10 --prune
restic check

--keep-yearly 10 bewaart de laatste snapshot van elk jaar, voor de laatste tien jaren waarin een snapshot is gemaakt. Dat dekt de 7 jaar plus de tijd voordat de termijn begint. Zet het hoger als er onroerend goed in je administratie zit. restic check meldt no errors were found als de repository heel is. Bewaar het wachtwoordbestand ook buiten de server. Zonder dat wachtwoord kan niemand de repository lezen, ook jij niet.

Waar de back-up staat, telt ook. Een back-up op dezelfde VPS verdwijnt samen met die VPS. Zet hem op een tweede machine, zoals in een VPS als offsite back-uplocatie. Overweeg ook twee restic-repositories naast elkaar, zodat je archief niet verloren gaat als één repository defect raakt. Wil je dat je factuurgegevens in Nederland staan, kijk dan naar VPS-hosting in Amsterdam voor de server zelf.

Wat kun je nu al doen?

Je hebt tot juli 2030, en de details kunnen nog veranderen. Deze stappen zijn nu al zinvol, welke wet er ook komt:

  • Controleer of je software een EN 16931-bestand in UBL kan exporteren. Kan dat niet, plan dan een overstap ruim voor 2030.
  • Maak één testfactuur in UBL en controleer die met xmllint en de CustomizationID.
  • Reken uit wat verzenden via een access point kost bij jouw aantal facturen per jaar.
  • Leg de factuureisen vast in je sjabloon, ook “btw verlegd” en het btw-id van EU-klanten.
  • Richt een back-up in die meer dan 7 jaar teruggaat, met een kopie buiten de server.

FAQ

Is een pdf-factuur per e-mail na 2030 nog geldig?

Voor facturen tussen bedrijven niet, als het wetsvoorstel wordt aangenomen zoals het kabinet op 11 september 2026 besloot. Vanaf 1 juli 2030 moet een B2B-factuur binnen Nederland en naar andere EU-landen een gestructureerd bestand volgens EN 16931 zijn, zoals UBL. Een pdf kan als leesbare kopie naast de e-factuur blijven bestaan. Zelf telt die pdf niet meer als e-factuur.

Moet ik Peppol gebruiken voor e-facturatie in Nederland?

Per oktober 2026 schrijft het kabinetsplan geen netwerk voor. Er loopt nog onderzoek naar de keuze tussen Peppol en de European Business Wallet. Peppol is wel het netwerk dat overheden en veel factuurpakketten nu gebruiken. Kies daarom software die UBL volgens EN 16931 exporteert, want dat formaat werkt op Peppol.

Is mijn zelf gehoste Invoice Ninja een Peppol-access point?

Nee. Een access point is een dienstverlener met een certificaat van het Peppol-netwerk. Je zelf gehoste Invoice Ninja maakt het UBL-bestand en stuurt het via de proxy van Invoice Ninja naar hun access-point-partner Storecove. Daarvoor heb je een white-label-licentie en Peppol-credits nodig. Per oktober 2026 kosten de credits $50 voor 500 of $100 voor 1.000 documenten, en ze zijn één jaar geldig.

Hoe lang moet ik facturen bewaren als ondernemer in Nederland?

De Belastingdienst noemt 7 jaar, en 10 jaar voor gegevens over onroerende zaken. De termijn begint pas als een gegeven zijn actuele waarde verliest, niet op de factuurdatum. Bewaar facturen in de vorm waarin je ze verstuurde of ontving. Een e-factuur bewaar je dus als XML-bestand. Houd daarnaast een back-up buiten je eigen server.

Geldt de e-factuurplicht ook voor mij als KOR-ondernemer?

Volgens het kabinetsplan niet voor binnenlandse facturen. Ondernemers in de KOR, met maximaal €20.000 omzet per kalenderjaar, blijven uitgezonderd van de binnenlandse e-facturatieplicht. Het plan moet nog door de Tweede Kamer. Controleer de uitzondering dus opnieuw zodra de wet er is.

#invoicing#e-invoicing#peppol#netherlands#btw#self-hosting