Dokumentation

Prüfung

Sicherheit gibt es in drei Stufen, jede stärker als die vorige: Die Rechnung rechnet per Konstruktion richtig, eine Vorabprüfung findet fehlende Felder, bevor Sie rendern, und Sie können die fertige Datei gegen genau die Regeln prüfen, die die Behörden verwenden - auf Ihrem eigenen Rechner, ohne dass etwas ihn verlässt.

Die Summen können nicht falsch sein

Sie tippen nie eine Zwischensumme. Die Bibliothek leitet jedes Zeilennetto, die Belegsummen und die Steueraufschlüsselung aus Ihren Mengen und Preisen ab, also halten die Rechenregeln der EN 16931 (die BR-CO-*-Prüfungen, ob die Summen aufgehen) von selbst. Der Fehler, an dem die meisten Rechnungen scheitern - eine Summe, die nicht zu ihren Positionen passt - kann hier schlicht nicht passieren.

Die Vorabprüfung, bevor Sie rendern

Wenn Sie XRechnung erzeugen, prüft die Bibliothek die Pflichtfelder für B2G und sagt Ihnen mit dem Feldnamen, was fehlt - beim Erzeugen, in Ihrem Editor:

import { xrechnungProblems, en16931Problems } from "@jasy/e-invoice";

const problems = xrechnungProblems(invoice); // string[]; leer heißt: alles bereit
if (problems.length) console.error(problems.join("\n"));

Es gibt zwei Prüfungen, für die zwei Profile. en16931Problems deckt ab, was jede Rechnung nach EN 16931 braucht; xrechnungProblems ergänzt, was die deutschen B2G-Regeln darüber hinaus verlangen - vor allem die Leitweg-ID. Beide geben ganze Sätze zurück, die Sie einem Nutzer zeigen können, keine Regelcodes (die Sätze sind englisch):

XRechnung needs the Leitweg-ID - set invoice.buyerReference (BT-10).

renderZugferd(invoice, { profile: "xrechnung" }) führt dieselbe Prüfung aus und wirft einen Fehler, wenn etwas fehlt. Eine fehlende Leitweg-ID zeigt sich also jetzt als klarer Fehler und nicht Wochen später als kryptische Ablehnung durch ein Portal. (Siehe Profile.)

Die fertige Datei prüfen - selbst

Jetzt der Teil, der jeden Zweifel ausräumen sollte: Verlassen Sie sich nicht auf unser Wort. @jasy/cli prüft jedes ZUGFeRD- oder XRechnung-PDF gegen die offiziellen Schematron-Regeln der KoSIT - genau die, die auch die deutschen Behörden ausführen - und gegen die Geschäftsregeln der EN 16931, komplett auf Ihrem Rechner. Nichts wird hochgeladen.

npx @jasy/cli validate ./invoice.pdf

Das Werkzeug meldet die Regeln der EN 16931 und die PDF/A-3-Struktur, und jasy verapdf ergänzt die vollständige ISO-PDF/A-Prüfung mit veraPDF, dem offiziellen Open-Source-Validator. Die Datei, die Sie erzeugt haben, besteht dieselben Prüfungen, die auch ein Finanzamt anlegt - und Sie haben lokal dabei zugesehen.

In Die Kommandozeile steht, wie Sie jede Rechnung im Terminal lesen, prüfen und exportieren.