Z E-Rechnung API
Startseite › E-Rechnung Wissen › Automatisierung › NODE.JS / TS
Automatisierung • NODE.JS / TS

ZUGFeRD in Node.js & TypeScript: Valide E-Rechnungen mit npm 'zugferd-client'

Node.js-Entwickler stehen beim Thema E-Rechnung vor Hürden: Reine JS-Libraries für PDF/A-3 mit XMP-Metadaten und CII-Validierung sind rar und fehleranfällig. Unser Open-Source-Paket zugferd-client auf npm löst das in 3 Zeilen Code.

Eigene Rechnung hier hineinziehen

oder Datei vom Computer auswählen (.pdf oder .xml bis 10 MB)

🔒 100 % flüchtige RAM-Prüfung auf deutschen Servern (Frankfurt) – keine Speicherung.

Code-Vergleich: Falsches vs. Korrektes CII-XML

✗ Häufiger Fehler / Falsches XML Nicht konform
<!-- FEHLER: Fehlende Pflichtfelder durch unvollständiges JSON-zu-XML Mapping in JavaScript -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <!-- DuePayableAmount fehlt! Führt zur Ablehnung nach EN 16931 Regel BR-CO-16 -->
  <ram:TaxBasisTotalAmount>500.00</ram:TaxBasisTotalAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
✓ Valide nach EN 16931 / KoSIT Normkonform
<!-- KORREKT: Vollständig berechnete Summenstruktur nach EN 16931 -->
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  <ram:LineTotalAmount>500.00</ram:LineTotalAmount>
  <ram:TaxBasisTotalAmount>500.00</ram:TaxBasisTotalAmount>
  <ram:TaxTotalAmount currencyID="EUR">95.00</ram:TaxTotalAmount>
  <ram:GrandTotalAmount>595.00</ram:GrandTotalAmount>
  <ram:DuePayableAmount>595.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Technische Ursache & Lösung

In modernen Web-Anwendungen (Next.js, Remix, NestJS, Express) werden Rechnungen direkt im Backend erzeugt. Node.js-Libraries wie `pdfkit` oder `puppeteer` können zwar ansprechende Layouts rendern, unterstützen jedoch die strengen PDF/A-3 Konformitätsstandards (ISO 19005-3) und CII-XML-Namensräume oft nicht.

Mit unserem offiziellen TypeScript/Node.js SDK `zugferd-client` (auf npm verfügbar) erstellst du typsichere Rechnungen: ```typescript import { ZugferdClient } from 'zugferd-client';

const client = new ZugferdClient({ apiKey: 'zg_test_ouroboros_001' }); const pdfBuffer = await client.generateInvoice({ invoice_number: 'RE-2026-TS01', issue_date: '2026-10-24', seller: { name: 'Web Dev Agency GmbH', ... }, buyer: { name: 'Startup AG', ... }, line_items: [{ description: 'SaaS Lizenz', quantity: 1, unit_price: 199, tax_rate_percent: 19 }] }); ``` Das Paket besitzt Zero-Dependencies, unterstützt ESM sowie CommonJS und läuft nahtlos auf Node 18, 20 und 22.

⚡ Die schlüsselfertige Abkürzung für Entwickler & No-Code

Keine Lust auf XML-Schematron-Fehler und Rundungsdifferenzen?

Unsere E-Rechnung Cloud API übernimmt alle mathematischen Berechnungen, Steuerregeln, XSD-Schemata und die PDF/A-3 Konvertierung vollautomatisch im Hintergrund.

Häufig gestellte Fragen (FAQ)

Wie installiere ich das Node.js SDK?

Führe einfach 'npm install zugferd-client' oder 'pnpm add zugferd-client' aus. Das SDK enthält vollständige TypeScript-Definitionen (.d.ts).

Unterstützt das SDK auch serverlose Umgebungen wie AWS Lambda oder Vercel?

Ja. Da das Paket Zero-Dependencies aufweist und den nativen fetch-Standard nutzt, funktioniert es einwandfrei in Edge- und Serverless-Runtimes.

Kann ich Rechnungen in Node.js auch ohne SDK per nativem fetch() erstellen?

Ja, du kannst direkt einen HTTP-POST an https://e-rechnung-cloud.de/v1/invoice/generate mit dem Header X-API-Key senden.

Passende Themen & Normen

Alle 12 Themen ansehen →