EU B2B-verplichting en Peppol
Nederland gebruikt sinds 2017 verplicht e-facturering voor de centrale overheid via Peppol BIS Billing 3.0. In B2B is e-facturering nog vrijwillig, maar de Europese trend (ViDA-voorstel) gaat richting verplichte gestructureerde facturen vanaf 2030. Voor Duitsland geldt sinds 1 januari 2025 een ontvangstplicht voor binnenlandse B2B. Wie facturen ontvangt heeft een validator nodig, een gratis validator is daarom geen nice-to-have maar een compliance-tool.
XRechnung 3.0
XRechnung is de Duitse standaard voor gestructureerde e-facturen, gebaseerd op de Europese norm CEN/EN 16931. Versie 3.0 is verplicht sinds februari 2024 en wordt geïdentificeerd door de CustomizationID 'urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0'. Payload is platte XML, UBL 2.1 of UN/CEFACT Cross Industry Invoice (CII). Nederlandse Peppol BIS Billing 3.0 is hieraan grotendeels conform.
ZUGFeRD / Factur-X
ZUGFeRD (Duits) en het internationaal identieke Factur-X zijn hybride formaten: een PDF/A-3 met gestructureerde XML als bijlage (factur-x.xml). Profielen variëren van MINIMUM via BASIC WL, BASIC, EN 16931 (COMFORT) tot EXTENDED. Pas vanaf profiel EN 16931 is de factuur volledig CEN-16931-conform. Onze validator detecteert het profiel automatisch.
Business Terms (BT) volgens EN 16931
EN 16931 codeert elke factuurinformatie als Business Term met een uniek nummer. Verplichte BT's: BT-1 factuurnummer, BT-2 uitgiftedatum, BT-3 factuursoortcode (UNTDID 1001), BT-5 valutacode (ISO 4217), BT-9 vervaldatum, BT-22 opmerking / koperreferentie, BT-27 verkopernaam, BT-40 verkoperland, BT-44 kopernaam, BT-55 koperland. Verplichte totalen: BT-109 TaxExclusiveAmount, BT-110 TaxAmount, BT-112 TaxInclusiveAmount, BT-115 PayableAmount.
Wiskundige consistentie
EN 16931 vereist dat totalen kloppen: TaxExclusiveAmount (BT-109) plus TaxAmount (BT-110) moet gelijk zijn aan TaxInclusiveAmount (BT-112). PayableAmount (BT-115) moet gelijk zijn aan het brutototaal min eventuele vooruitbetaling. Veelvoorkomende bug: afronden per regel en daarna per BTW-tarief geeft afwijkingen van 1 cent. Onze validator tolereert 1 cent; daarbuiten is het een harde fout.
Gegevensbescherming
De validator draait volledig in je browser. XML-bestanden worden geparseerd met de native DOMParser, PDF's worden lokaal door pdf-lib geladen en de ingebedde factur-x.xml in geheugen geëxtraheerd. Er is geen serverupload, geen logging, geen cookie. De validator is AVG-conform en veilig voor vertrouwelijke B2B-gegevens. Nederlandse BTW-tarieven (21% standaard, 9% verlaagd, 0% / btw-vrijgesteld) worden correct verwerkt.