An open API service indexing awesome lists of open source software.

https://github.com/xhubio/magento2-invoice-api-xhub

Generate compliant e-invoices (PDF, XRechnung 3.0, ZUGFeRD 2.3/2.4) from Magento orders via the invoice-api.xhub.io service.
https://github.com/xhubio/magento2-invoice-api-xhub

invoice invoice-generator magento2 pdf x-rechnung zugferd

Last synced: 6 days ago
JSON representation

Generate compliant e-invoices (PDF, XRechnung 3.0, ZUGFeRD 2.3/2.4) from Magento orders via the invoice-api.xhub.io service.

Awesome Lists containing this project

README

          

# Invoice-api.xhub für Magento 2 / Adobe Commerce

[![CI](https://github.com/xhubio/magento2-invoice-api-xhub/actions/workflows/ci.yml/badge.svg)](https://github.com/xhubio/magento2-invoice-api-xhub/actions/workflows/ci.yml)
[![License: OSL-3.0](https://img.shields.io/badge/License-OSL%203.0-blue.svg)](https://opensource.org/licenses/OSL-3.0)
[![Magento 2.4.4 – 2.4.7](https://img.shields.io/badge/Magento-2.4.4%20–%202.4.7-orange.svg)](https://magento.com)
[![PHP 8.1 – 8.3](https://img.shields.io/badge/PHP-8.1%20–%208.3-777bb4.svg)](https://www.php.net)

Erzeugen Sie konforme E-Rechnungen (PDF, XRechnung 3.0, ZUGFeRD 2.3/2.4) aus Magento-Bestellungen über den [invoice-api.xhub.io](https://invoice-api.xhub.io)-Dienst.

- **Heute live**: PDF, XRechnung 3.0 (DE B2G), ZUGFeRD 2.3/2.4 (DE/AT Hybrid PDF+XML)
- **Ab Q3 2026**: Factur-X, FatturaPA, Facturae, ebInterface, UBL, ISDOC, NAV
- **Lizenz**: OSL-3.0 (Open Software License 3.0) — Adobe Commerce Marketplace Standard
- **Modul-ID**: `Xhubio_InvoiceApiXhub`
- **Composer-Paket**: `xhubio/magento2-invoice-api-xhub`

## Screenshots

| | |
|---|---|
| ![Admin Dashboard](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/01-admin-dashboard.png) | ![Alle Sektionen offen](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/02-settings-section.png) |
| Admin-Dashboard nach zwei verarbeiteten Test-Bestellungen | Stores → Configuration → Sales → Invoice-api.xhub — alle drei Sektionen ausgeklappt |
| ![Allgemeine Einstellungen](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/03-settings-general.png) | ![Seller Details mit Bank](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/06-seller-bank-fields.png) |
| General: API-Key, Format, Trigger, Nummernformat | Seller Details mit IBAN/BIC (Pflicht für ZUGFeRD B2B) |
| ![Bestellliste](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/04-orders-list.png) | ![Bestellung mit Metabox](https://raw.githubusercontent.com/xhubio/magento2-invoice-api-xhub/main/assets/screenshots/05-order-detail-with-metabox.png) |
| Sales → Orders Liste | Bestelldetail mit Invoice-api.xhub-Metabox |

Ein 16-seitiges PDF-Handbuch mit Installation, Konfiguration und Troubleshooting liegt unter [`docs/Invoice-api-xhub-User-Guide-v1.0.0.pdf`](docs/Invoice-api-xhub-User-Guide-v1.0.0.pdf).

## Voraussetzungen

- Magento 2.4+ / Adobe Commerce 2.4+
- PHP 7.4+
- MySQL 8.0+ oder MariaDB 10.4+
- Elasticsearch 7.17+ (Standard-Katalog-Such-Backend von Magento 2.4.x)
- Ein Konto bei invoice-api.xhub.io — Anmeldung unter

## Installation — Composer (empfohlen)

```bash
composer require xhubio/magento2-invoice-api-xhub
bin/magento module:enable Xhubio_InvoiceApiXhub
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
```

Im Developer-Mode kann `setup:di:compile` entfallen; für Production-Deployments ist es Pflicht.

## Installation — manuell (ZIP von GitHub)

1. Aktuelles `magento2-invoice-api-xhub.zip` von herunterladen
2. In `/app/code/Xhubio/InvoiceApiXhub/` entpacken
3. Dieselben `bin/magento`-Befehle wie bei der Composer-Installation ausführen

## Konfiguration

1. Admin-Panel öffnen -> **Stores** -> **Configuration** -> **Sales** -> **Invoice-api.xhub**
2. **API Key** setzen (unter erhältlich)
3. **Seller Details** ausfüllen (Name, USt-IdNr., Adresse, E-Mail — landen auf jeder Rechnung)
4. **Format** wählen (PDF / XRechnung / ZUGFeRD) und **Country** setzen (14 EU-Länder)
5. **Auto-Generate Trigger** auswählen — typischerweise `on_complete`, damit beim Status „Abgeschlossen" eine Rechnung erzeugt wird
6. Optional: eine **PDF Template ID** aus für eigenes Branding setzen
7. **Konfiguration speichern** und **Cache leeren**

## Nutzung

### Automatische Erzeugung

Sobald eine Bestellung den konfigurierten Trigger-Status erreicht (Default: `complete`), passiert Folgendes:

1. Bestellung wird ins invoice-api.xhub.io-Schema gemappt
2. API erzeugt die Datei
3. Datei wird unter `pub/media/invoice-api-xhub//` gespeichert
4. Zeile in `xhubio_invoice_meta` wird angelegt
5. Status-History-Kommentar an der Bestellung wird ergänzt

Wenn **Attach to Order Email** aktiv ist, hängt das Modul die Datei an die Kundenbestellbestätigung an.

### Manuelle Erzeugung

In der Admin-Bestellansicht zeigt der Abschnitt **Invoice-api.xhub**:

- Den aktuellen Rechnungsstatus (Nummer, Format, Land, Erzeugungszeitpunkt)
- Button **Generate invoice** (bzw. **Re-generate**) für eine On-Demand-Erzeugung
- **Download**-Button zum direkten Datei-Download

### Rechnungsnummer-Tokens

Das Feld **Invoice Number Format** akzeptiert folgende Tokens:

| Token | Wird zu |
|-------------------|--------------------------------------------------|
| `{order_number}` | Magento Order-Increment-ID (z. B. `000000123`) |
| `{order_id}` | Interne Entity-ID |
| `{year}` | Bestelljahr (z. B. `2026`) |
| `{month}` | 2-stelliger Monat |
| `{day}` | 2-stelliger Tag |
| `{seq}` | Nächster Zähler (atomar, jährlicher Reset) |
| `{seq:0000}` | Wie oben, mit Nullen aufgefüllt auf 4 Stellen |

Default: `INV-{order_number}`. Übliches Production-Pattern: `INV-{year}-{seq:0000}`.

Der Counter ist DB-seitig atomar (`INSERT ... ON DUPLICATE KEY UPDATE current = LAST_INSERT_ID(current+1)`) — zwei parallele Generates können nie dieselbe Nummer bekommen.

## Schema

Zwei Tabellen werden bei `setup:upgrade` angelegt — siehe README.md für Details.

## DSGVO

Das Modul verarbeitet die Events:

- `customer_delete_after` — löscht alle Rechnungs-Metas + Dateien für die Bestellungen des Kunden
- `sales_order_delete_after` — löscht Meta + Datei für diese eine Bestellung

Hard-Delete von Bestellungen ist selten (Aufbewahrungspflicht — UStG: 10 Jahre), aber die Hooks sind für diesen Sonderfall vorhanden.

## Geschäftsmodell

Kostenloser Open-Source-Connector (OSL-3.0). Das bezahlte Produkt ist der **invoice-api.xhub.io**-Service — Ihr API-Key repräsentiert Ihr Service-Abo. Details in `docs/BUSINESS-MODEL.md`.

## Lizenz

OSL-3.0 (Open Software License 3.0) — die Adobe Commerce Marketplace-Standardlizenz. Vollständiger Text in `LICENSE.md`.

## Support

- GitHub Issues:
- Service-Support: