The e-invoice-eu repository is a monorepo providing a toolchain for generating EN16931-compliant electronic invoices (UBL, CII, Factur-X/ZUGFeRD, XRechnung) from spreadsheet data or JSON. It consists of a core TypeScript library, a CLI tool, a NestJS-based REST API server, and documentation. The core library implements a strategy pattern for format services, a factory for creating them, a mapping service for spreadsheet-to-invoice transformation, and validation services. The architecture is modular and well-tested, with clear separation of concerns.
factur-x is a Python library for generating, validating, and extracting Factur-X/ZUGFeRD hybrid PDF+XML invoices. It exposes a high-level API (generate_from_file, generate_from_binary, get_xml_from_pdf, xml_check_xsd, xml_check_schematron, generate_cii_xml, generate_ubl_xml) and three CLI entry points (facturx-pdfgen, facturx-pdfextractxml, facturx-xmlcheck). The library supports both CII (Cross-Industry Invoice) and UBL 2.1 XML profiles, and bundles the necessary XSD schemas, Schematron/XSLT validation rules, and code-list databases. It is a standards-compliance tool for e-invoicing, not a data pipeline or research project.