tualo / zugferd
tualo - zugferd
Requires
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Dieses Paket erzeugt ZUGFeRD-/XRechnung-XML im Faktur-X-Format und kann das XML als eingebetteten Anhang in das erzeugte PDF schreiben.
Es nutzt:
- PHP
- Composer
- easybill/zugferd-php
- Spatie/Browsershot für den PDF-Export
- qpdf für das Einbetten der XML-Datei in das PDF
Voraussetzungen
- PHP 8.x
- Composer
- Chromium/Chrome für Browsershot
- qpdf
Installation
macOS
-
Installiere Homebrew, falls noch nicht vorhanden:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Installiere die benötigten Pakete:
brew install php composer qpdf
-
Im Projektverzeichnis die Abhängigkeiten installieren:
cd /Users/thomashoffmann/Documents/Projects/php/tualo/zugferd composer install -
Falls Chrome/Chromium fehlt, installiere es ebenfalls:
brew install --cask google-chrome
-
Optional: BrowserShot-Chemistry prüfen:
which google-chrome || which chromium || which chromium-browser
Debian / Ubuntu
-
Pakete installieren:
sudo apt update sudo apt install -y php php-cli php-xml composer qpdf
-
Wenn ein Browser für Browsershot benötigt wird, z. B. Chromium:
sudo apt install -y chromium
-
Im Projektverzeichnis die Abhängigkeiten installieren:
cd /path/to/zugferd composer install -
Wenn Browsershot den Browser nicht findet, ggf. Pfad setzen, z. B. in der App-Konfiguration:
'chrome_path' => '/usr/bin/chromium'
Nutzung
Die Rechnung wird über den XML-Generator erzeugt und kann anschließend als PDF mit eingebetteter XML ausgegeben werden.
Beispiel:
$xml = \Tualo\Office\Zugferd\Report::get('rechnung', 262099);
Die PDF-Route liefert eine PDF-Datei mit eingebetteter XML, wenn qpdf vorhanden ist:
/zugferd/pdf/{type}/{tablename}/{template}/{id}
Hinweis zur eingebetteten XML
Die eingebettete XML-Datei wird im PDF als Anhang mit folgendem Namen mitgeliefert:
factur-x.xml
Damit entspricht das PDF dem üblichen Factur-X-/ZUGFeRD-Format für digitale Rechnungen.
Troubleshooting
- qpdf fehlt: PDF wird ohne eingebettete XML erzeugt
- Browsershot findet keinen Browser:
chrome_pathkonfigurieren - XML validiert nicht: auf fehlende Felder oder falsche Datentypen prüfen
Lizenz
MIT