
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
@e-invoice-eu/cli
Advanced tools
Generate e-invoices (E-Rechnung in German) conforming to EN16931 (Factur-X/ZUGFeRD, UBL, CII, XRechnung aka X-Rechnung) from LibreOffice Calc/Excel data or JSON.
Generate e-invoices (E-Rechnung in German) conforming to EN16931 (Factur-X/ZUGFeRD, UBL, CII, XRechnung aka X-Rechnung) from LibreOffice Calc/Excel data or JSON.
This package contains the commandline interface of @e-invoice-eu/core
installed as e-invoice-eu. It uses the E-Invoice-EU core library
@e-invoice-eu/core
internally.
The program can create e-invoices in the following formats:
E-Invoices can be created directly from data in the E-Invoice-EU internal
format
or via a mapping definition
from popular spreadsheet formats like .ods, .xlsx, .csv, ...
The general documentation of e-invoice-eu is available at the
e-invoice-eu GitHub page.
For reference, you can also consult the
API documentation.
npm install -g @e-invoice-eu/cli
You can test that the installation has worked with the command e-invoice-eu --version. The output should be the version number of the installed software.
The general usage patterns are:
e-invoice-eu COMAND [COMMAND_OPTIONS]
e-invoice-eu [GLOBAL_OPTIONS]
You can get information about the program like this:
e-invoice-eu --help
invoiceThe command invoice takes the following options and arguments:
| Name | Argument | Description |
|---|---|---|
| -f, --format | string | a supported format |
| -o, --output | string | write output to specified file instead of standard output |
| -i, --invoice | string | JSON file with invoice data, mandatory for invoice generation from JSON |
| -m, --mapping | string | YAML or JSON file with mapping, mandatory for invoice generation from spreadsheet data |
| -d, --data | string | invoice spreadsheet file, mandataory for invoice generation from spreadsheet data |
| -l, --lang | string | a language identifier like fr-fr |
| --embedPDF | use if a PDF version should be embedded into XML output | |
| -p, --pdf | string | a PDF version of the invoice |
| --pdf-id | string | ID of the embedded PDF, defaults to the document number; ignored for Factur-X/ZUGFeRD |
| --pdf-description | string | optional description of the embedded PDF; ignored for Factur-X/ZUGFeRD |
| -a, --attachment | string | optional name of an additional attachment |
| --attachment-id | string |
formatThis contains the format of the e-invoice as a case-insensitive string. You
can also use aliases. For example, Factur-X-Comfort is an alias for
Factur-X-EN16931.
langA language identifier like fr-fr. This is only used for the Factur-X/ZUGFeRD
formats for some canned texts in the PDF XMP meta data.
embedPDFThis is only used for the pure XML formats (everything that is not Factur-X/ZUGFeRD). If it has a truthy value, a PDF version of the invoice is embedded as a base64 encoded string in the XML.
pdfThis is required in two cases:
data was not specified.embedPDF was specified and data was not specified.dataA spreadsheet version of the invoice. If a PDF is required, either because embedPDF was specified for pure XML or because the format is Factur-X/ZUGFeRD, LibreOffice is invoked for rendering the spreadsheet as a PDF.
This feature will trigger an exception if used in the browser.
attachmentsYou can specify an arbitrary number of additional attachments.
In case of the pure XML formats, they are embedded as base64 encoded strings
in the XML. In case of Factur-X/ZUGFeRD they are attached to the PDF,
additionally to the mandatory attachment factur-x.xml.
import { FormatFactoryService } from '@e-invoice-eu/core';
const factoryService = new FormatFactoryService();
const formats = factoryService.listFormatServices();
In format you will find an array of
FormatInfo
objects.
import { invoiceSchema, mappingSchema } from '@e-invoice-eu/core';
These variables contain the schema for the
Invoice
and Mapping
interfaces. These schemas can be passed as an argument to the compile method of an Ajv instance, see https://ajv.js.org/api.html#ajv-compile-schema-object-data-any-boolean-promise-any for more information!
The schemas have the type
JSONSchemaType<Invoice>
and
JSONSchemaType<Mapping>
respectively.
Please report bugs at https://github.com/gflohr/e-invoice-eu/issues.
Copyright (C) 2024-2026 Guido Flohr guido.flohr@cantanea.com, all rights reserved.
This is free software available under the terms of the WTFPL.
This free software has been written with the greatest possible care, but like all software it may contain errors. Use at your own risk! There is no warranty and no liability.
FAQs
Generate e-invoices (E-Rechnung in German) conforming to EN16931 (Factur-X/ZUGFeRD, UBL, CII, XRechnung aka X-Rechnung) from LibreOffice Calc/Excel data or JSON.
The npm package @e-invoice-eu/cli receives a total of 114 weekly downloads. As such, @e-invoice-eu/cli popularity was classified as not popular.
We found that @e-invoice-eu/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.