🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@e-invoice-eu/cli

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@e-invoice-eu/cli

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.

Source
npmnpm
Version
3.0.0
Version published
Weekly downloads
124
49.4%
Maintainers
1
Weekly downloads
 
Created
Source

licence price coverage downloads documentation help listed on stand with

@e-invoice-eu/cli

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.

Table of Contents

Description

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.

Features

The program can create e-invoices in the following formats:

  • Cross Industry Invoice - CII
  • Universal Business Language - UBL
  • Factur-X/ZUGFeRD (all profiles including XRECHNUNG) with full PDF/A support

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, ...

Documentation

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.

Installation

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.

Usage

General

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

The Command invoice

The command invoice takes the following options and arguments:

NameArgumentDescription
-f, --formatstringa supported format
-o, --outputstringwrite output to specified file instead of standard output
-i, --invoicestringJSON file with invoice data, mandatory for invoice generation from JSON
-m, --mappingstringYAML or JSON file with mapping, mandatory for invoice generation from spreadsheet data
-d, --datastringinvoice spreadsheet file, mandataory for invoice generation from spreadsheet data
-l, --langstringa language identifier like fr-fr
--embedPDFuse if a PDF version should be embedded into XML output
-p, --pdfstringa PDF version of the invoice
--pdf-idstringID of the embedded PDF, defaults to the document number; ignored for Factur-X/ZUGFeRD
--pdf-descriptionstringoptional description of the embedded PDF; ignored for Factur-X/ZUGFeRD
-a, --attachmentstringoptional name of an additional attachment
--attachment-idstring

Argument format

This 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.

Argument lang

A 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.

Argument embedPDF

This 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.

Argument pdf

This is required in two cases:

  • The format is a Factur-X/ZUGFeRD format and data was not specified.
  • The format is a pure XML format, embedPDF was specified and data was not specified.

Argument data

A 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.

Argument attachments

You 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.

Getting Supported Formats

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.

Getting the JSON Schema Definitions

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.

Reporting Bugs

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.

Disclaimer

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.

Keywords

factur-x

FAQs

Package last updated on 26 Mar 2026

Did you know?

Socket

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.

Install

Related posts