erechnung
v0.1.0
Published
E-Rechnung / XRechnung (EN 16931) Toolkit: Rechnungsdaten <-> XRechnung-XML <-> lesbares PDF. Pure TypeScript, laeuft in Node und im Browser.
Maintainers
Readme
erechnung
E-Rechnung / XRechnung (EN 16931) Toolkit für TypeScript. In beide Richtungen, dependency-arm, läuft in Node und im Browser (kein Server, keine Datenspeicherung nötig).
npm install erechnungBeide Richtungen
import {
toXRechnung,
fromXRechnung,
validateInvoice,
renderInvoicePdf,
type Invoice,
} from "erechnung";
// 1) Rechnungsdaten -> konforme XRechnung-XML (UBL, EN 16931)
const xml: string = toXRechnung(invoice);
// 2) Prüfen (EN 16931 + XRechnung BR-DE, gegen KoSIT/EU-Schematron verifiziert)
const { valid, errors, warnings } = validateInvoice(invoice);
// 3) XRechnung-XML -> Rechnungsdaten zurücklesen
const back: Invoice = fromXRechnung(xml);
// 4) Rechnungsdaten -> menschenlesbares PDF (Uint8Array)
const pdf: Uint8Array = await renderInvoicePdf(back);Das Invoice-Modell
Felder sind auf die EN-16931-Business-Terms (BT/BG) gemappt. Minimal:
const invoice: Invoice = {
invoiceNumber: "RE-2026-0001",
issueDate: "2026-06-06",
currency: "EUR",
buyerReference: "PO-123",
seller: {
name: "Beispiel GmbH", vatId: "DE123456789",
street: "Hauptstr. 1", postalCode: "10115", city: "Berlin", countryCode: "DE",
contactName: "Max Muster", contactPhone: "+49 30 123", contactEmail: "[email protected]",
},
buyer: {
name: "Kunde AG",
street: "Marktplatz 2", postalCode: "80331", city: "München", countryCode: "DE",
},
lines: [
{ name: "Beratung", quantity: 3, unitCode: "HUR", netUnitPrice: 100, netAmount: 300, vatCategory: "S", vatRate: 19 },
],
iban: "DE89370400440532013000",
};Was es NICHT macht
Die Extraktion aus beliebigen PDFs (OCR) gehört nicht zum Core — das ist die App-Schicht (Vision-LLM). Der Core ist die deterministische Logik: erzeugen, validieren, zurücklesen, rendern.
Konformität
Die Validierungsregeln sind gegen die offiziellen Primärquellen geprüft: EU-EN-16931-Schematron (ConnectingEurope/eInvoicing-EN16931) und KoSIT-XRechnung-Schematron (itplr-kosit/xrechnung-schematron). Für den finalen Nachweis empfiehlt sich der offizielle KoSIT-Validator.
MIT-Lizenz.
