E-factuur valideren met de eConnect Validator

De gratis eConnect Validator: controleer of je XML voldoet aan UBL, BIS Billing en NLCIUS.

Voordat je een e-factuur verstuurt, wil je zeker weten dat het XML-bestand technisch correct is. De eConnect Validator controleert je factuur op XML-schema's, Schematron-regels en landspecifieke validaties. De tool is gratis beschikbaar als online validator.

Wat controleert de validator?

De eConnect Validator voert meerdere controles uit op je e-factuurbestand:

XML-schemavalidatie. Klopt de basisstructuur van het bestand? Zijn alle verplichte XML-elementen aanwezig en correct genest?

Schematron-validatie. Voldoet de factuur aan de business rules van het gekozen profiel? Denk aan regels voor BTW-berekeningen, verplichte velden en codelijsten.

Profielcontrole. Het systeem herkent automatisch welk profiel je factuur volgt (BIS Billing V3, NLCIUS, PINT, XRechnung) en past de bijbehorende validatieregels toe.

Landspecifieke regels. Per land gelden aanvullende validatieregels. Voor Nederland zijn dat de NL-R regels, voor Duitsland de DE-R regels, voor Denemarken de DK-R regels, enzovoort. De validator past deze automatisch toe op basis van de landcode in de factuur.

Ondersteunde formaten

De validator ondersteunt alle gangbare e-factuurformaten:

FormaatBeschrijvingPeppol BIS Billing V3De Peppol-standaard voor facturen en creditnota'sNLCIUS / SI-UBL 2.0De Nederlandse implementatie van EN 16931PINT (alle varianten)Peppol International Invoice (EU, A-NZ, Japan, Singapore, Maleisië, VAE)XRechnungDuitse implementatieCII (Cross-Industry Invoice)Alternatieve XML-syntax, inclusief Factur-X
Hoe gebruik je de validator?

De online validator staat op /nl/validator. Je hoeft geen account aan te maken.

  1. Open de Document Validator.
  2. Upload je XML-bestand of plak de XML-inhoud.
  3. De validator herkent automatisch het formaat en past de juiste regels toe.
  4. Bekijk het resultaat: per regel zie je of de controle is geslaagd, een waarschuwing geeft of een fout bevat.

Bij fouten geeft de validator de exacte foutcode, een beschrijving van het probleem en de locatie in het XML-bestand (XPath). Zo weet je precies wat je moet aanpassen.

Fouten interpreteren

De validator geeft drie typen meldingen:

  • Fout (error): de factuur voldoet niet aan de specificatie en wordt geweigerd op het Peppol-netwerk. Dit moet je oplossen voor verzending.
  • Waarschuwing (warning): de factuur wordt niet geweigerd, maar er is een aandachtspunt. Waarschuwingen kunnen in een toekomstige release verplicht worden.
  • Informatief: een opmerking zonder gevolgen voor de verzending.

Veelvoorkomende foutcodes beginnen met een prefix die het domein aangeeft: PEPPOL- voor Peppol-brede regels, NL-R- voor Nederlandse regels, BR- voor basisregels uit EN 16931. De foutbeschrijving geeft altijd aan wat het verwachte gedrag is.

Veelvoorkomende validatiefouten bij creditnota's

Bij het versturen van een creditnota komen enkele specifieke validatiefouten regelmatig voor. De foutmelding verschijnt op Peppol-niveau (bij API-verzending bijvoorbeeld als [API400.AT04] Invalid payload). Per regel de oorzaak en oplossing:

FoutcodeOorzaakOplossingBR-IC-02 (EN 16931: BR-IC-2)Factuurregel (BG-25) met BTW-categorie Intra-community supply / K (BT-151) zonder verplicht party-VAT: seller VAT (BT-31) of seller tax representative VAT (BT-63), én buyer VAT (BT-48). Wijst niet naar één regelnummer; ontbrekende gegevens in partijdetails.Vul seller VAT (of tax rep) én buyer VAT met landprefix, zonder spaties/punten. Controleer alle regels met categorie K.BR-IC-11Bij een intracommunautaire levering (BTW-categorie "Intra-community supply") ontbreekt de leverdatum BT-72.Vul de werkelijke leverdatum (BT-72, cac:Delivery/cbc:ActualDeliveryDate) in, óf geef een factuurperiode (BG-14) op. Eén van beide is verplicht.BR-IC-12Bij een intracommunautaire levering ontbreekt de landcode BT-80 van het afleveradres.Vul de "deliver to" landcode (BT-80, cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode) in met een ISO 3166-1 alpha-2 code.BR-27De stuksprijs (PriceAmount, BT-146) is negatief ("Item net price shall NOT be negative"; o.a. Maventa/Peppol meldt dit als "XML Invalid").Eenheidsprijs altijd positief. Niet uitschakelbaar -- geen eConnect-tenantsetting, dit is een EN 16931/Peppol-regel. Crediteer via een negatief aantal (TypeCode 380) of via het CreditNote-schema (381, prijs én aantal positief). Corrigeer de export in de bronsoftware; dezelfde XML opnieuw versturen lost BR-27 niet op. Zie ook Creditnota-varianten en self-billing.NL-R-001De verplichte factuurreferentie ontbreekt in een creditnota van een NL-leverancier.Vul cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID met het factuurnummer van de oorspronkelijke factuur. Verplicht voor creditnota's. Zie ook Creditnota varianten.

BR-IC-11 en BR-IC-12 zijn EN 16931-basisregels die uitsluitend gelden wanneer de creditnota een intracommunautaire BTW-categorie bevat; voor binnenlandse leveringen treden ze niet op.

Validatiefouten bij factuur- en regelperiodes

Een factuur kan op twee niveaus een periode bevatten: een factuurperiode op documentniveau (BG-14) en een regelperiode per factuurregel (BG-26, voor terugkerende diensten of abonnementen op regelniveau). Wanneer beide worden gebruikt, eist Peppol dat elke regelperiode binnen de overkoepelende factuurperiode valt. De volgende fouten verschijnen als die voorwaarde niet klopt:

FoutcodeMeldingOorzaakOplossingPEPPOL-EN16931-R110Start date of line period MUST be within invoice period.De startdatum van een regelperiode (BT-134) ligt vóór de startdatum van de factuurperiode (BT-73).Zorg dat BT-134 (cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate) gelijk is aan of later dan de factuurperiode-startdatum BT-73 (cac:InvoicePeriod/cbc:StartDate op documentniveau).PEPPOL-EN16931-R111End date of line period MUST be within invoice period.De einddatum van een regelperiode (BT-135) ligt ná de einddatum van de factuurperiode (BT-74).Zorg dat BT-135 (cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate) gelijk is aan of eerder dan de factuurperiode-einddatum BT-74 (cac:InvoicePeriod/cbc:EndDate op documentniveau).BR-30If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).Zowel startdatum InvoiceLinePeriod (BT-134) als einddatum InvoiceLinePeriod (BT-135) aanwezig, en BT-135 eerder dan BT-134.Vul geldige datums (YYYY-MM-DD): einddatum groter dan of gelijk aan startdatum. Geen regelperiode nodig: laat het hele blok cac:InvoiceLine/cac:InvoicePeriod (BG-26) weg, niet alleen de datums leeg. Leeg of ongeldig datumveld telt nog als aanwezig. Minstens start- of einddatum invullen als de groep gebruikt wordt (BR-CO-20).

De onderliggende controle van R110 is dat de regelperiode-startdatum gelijk is aan of later dan de factuurperiode-startdatum. Komt de fout terug terwijl de regelperiode klopt, controleer dan of het probleem op het documentniveau zit: óf de factuurperiode (BT-73) is te laat ingesteld, óf de regelperiode is per ongeluk ruimer dan bedoeld. Beide periodes moeten elkaar omvatten: de factuurperiode is de buitenste grens, elke regelperiode valt daarbinnen.

BR-30 (EN 16931) is een andere regel dan R110/R111: R110/R111 toetsen of de regelperiode binnen de factuurperiode valt, BR-30 toetst alleen de volgorde van twee aanwezige regelperiodedatums (BT-135 groter dan of gelijk aan BT-134).

Aanvullende periode-regels die in dezelfde context kunnen optreden:

  • BR-CO-19 / BR-CO-20: als een factuurperiode (BG-14) respectievelijk regelperiode (BG-26) wordt gebruikt, moet ten minste de startdatum óf de einddatum zijn ingevuld (één van beide volstaat, beide mag ook).
  • PEPPOL-EN16931-F001: alle datums moeten als YYYY-MM-DD worden geformatteerd.

Deze regels gelden voor zowel facturen (ubl:Invoice) als creditnota's (ubl:CreditNote).

Validatie bij verzending

Naast de handmatige validator voert het eConnect-platform ook automatisch validatie uit op het moment van verzending. Als een factuur niet voldoet aan de vereisten, wordt de verzending geblokkeerd en krijg je een foutmelding met de betreffende validatieregel.

Voor API-gebruikers: de PSB valideert elke factuur bij het instuurmoment en retourneert de validatieresultaten in de API-response. Zo kun je validatie ook inbouwen in je eigen softwareproces.

Nieuwe releases bijhouden

De validatieregels worden bijgewerkt bij elke nieuwe release van de Peppol BIS Billing-specificatie. eConnect werkt de Schematron-artefacten en codelijsten bij zodra een nieuwe versie verplicht wordt. De online validator valideert altijd tegen de actuele release.

Tip: controleer na een specificatie-update of je facturen nog steeds valide zijn. Nieuwe regels kunnen strengere eisen stellen aan velden die eerder optioneel waren.

Tip: softwarepakketten die "UBL Ready" zijn gecertificeerd (via de UBL Ketentest van Onderzoeksbureau GBNED), hebben aangetoond dat hun UBL-output technisch correct is. Krijg je toch validatiefouten van zo'n pakket? Vraag dan de softwareleverancier om het probleem te onderzoeken.

Veelgestelde vragen
Wat als mijn factuur een fout bevat bij validatie?

De validator toont per fout de exacte foutcode, een beschrijving van het probleem en de locatie in het XML-bestand (XPath). Fouten (errors) moeten worden opgelost voor verzending, omdat de factuur anders wordt geweigerd op het Peppol-netwerk. Waarschuwingen zijn aandachtspunten, maar blokkeren de verzending niet.

Welke formaten kan de validator controleren?

De validator ondersteunt Peppol BIS Billing V3, NLCIUS/SI-UBL 2.0, alle PINT-varianten, XRechnung en CII (Cross-Industry Invoice, inclusief Factur-X). Het formaat wordt automatisch herkend bij het uploaden van je XML-bestand.

Wordt mijn factuur ook automatisch gevalideerd bij verzending?

Ja. Het eConnect-platform voert automatisch validatie uit op het moment van verzending. Als een factuur niet voldoet aan de vereisten, wordt de verzending geblokkeerd met een foutmelding. API-gebruikers ontvangen de validatieresultaten in de API-response.


Wil je voorbeeldbestanden bekijken om je eigen XML-opbouw te controleren? Download voorbeeldbestanden.

Valideer je factuur