npm.io
1.0.0-alpha.4 • Published 20h agoCLI

@jasy/cli

Licence
MIT
Version
1.0.0-alpha.4
Deps
3
Size
546 kB
Vulns
0
Weekly
0

jasy

@jasy/cli

The terminal for ZUGFeRD & XRechnung. Read, validate and export any e-invoice PDF.
Headless for scripts and CI, interactive when you want to look. 100% local - no upload, no account.

npx @jasy/cli  ·  MIT


Don't believe us. Point it at your own invoice.

npx @jasy/cli validate ./your-invoice.pdf

jasy validate: VALID

That runs the same official KoSIT Schematron + veraPDF the big tools use - the EN 16931 and the German XRechnung (BR-DE) rules, plus PDF/A-3. It exits non-zero when invalid, so it drops straight into CI. Your file, your terminal, in seconds.

Java has Mustang. PHP has horstoeko. Python has factur-x. Node had nothing. Now it has jasy.

Everything it does

jasy read    invoice.pdf            # identify + show: parties, line items, totals (CII and UBL)
jasy validate invoice.pdf           # EN 16931 + XRechnung + PDF/A  (exit 1 if invalid)
jasy export  invoice.pdf -o x.xlsx  # read it back to JSON, TXT or Excel
jasy                                # the interactive terminal: open, inspect, export

the jasy terminal

Reads CII and UBL, real third-party invoices included - not just invoices we made ourselves.

The full ISO PDF/A check, optional and guided

Structural PDF/A-3 checks run built-in. For the complete ISO 19005 verdict, jasy wires up the official veraPDF for you - no account, into ~/.jasy/verapdf:

jasy verapdf            # a doctor: is Java here? is veraPDF here? what to run if not
jasy verapdf --install  # downloads + installs it locally (the one requirement is a Java runtime)

Once present, jasy validate adds the full ISO check automatically. It is never a gate - your own structural checks carry the everyday case.

Under the hood

  • Schematron, local - the official EN-16931 + XRechnung rules run via saxon-js (the real XSLT, in pure JS). No upload, DSGVO-safe.
  • Excel by hand - the .xlsx is a ZIP we build ourselves, deflated with our own writer and CRC32.
  • Reads multi-file PDFs - pulls the right e-invoice XML out even when a tool embedded its own JSON too.
  • Generates with @jasy/zugferd on the hand-rolled @jasy/pdf engine.

MIT  ·  part of jasy

Keywords