aber es gehört ja nicht nur die library dazu, sondern auch die strukturelle zuordnung ... z.b. ganz simpel ... wie binde/erzeuge ich die firmenadresse (rechnungsempfänger) der rechnung ein. hier muss es doch standards der eu-richtlinien geben ... soll ja eine (elektr.) strukturierte pdf werden.
Trotzdem ich da nicht wirklich im Thema stecke, kann ich Dir gerne mal meine Sicht der Dinge schildern: So einfach ist das alles nicht. Vergiss nicht: staatliche Stellen und die EU... Bürokratie vom Feinsten.
Ausgangspunkt für die elektronische Rechnung ist die EU-Richtlinie "über die elektronische Rechnungsstellung bei öffentlichen Aufträgen" (2014/55/EU). Mit dieser Richtlinie wurde die Entwicklung einer Norm für elektronische Rechnung angestoßen. Diese Norm ist heute unter EN 16931 bekannt. Da es sich um eine Richtlinie handelt, wurden die Mitgliedsstaaten verpflichtet, diese in nationales Recht umzusetzen. In Deutschland findet man hierzu einige Vorschriften wie z. B. die E-RechV. Wir behalten also mal "nationale Besonderheiten" im Hinterkopf.
Die Norm definiert nun ein "semantisches Datenmodell" für elektronische Rechnungen. Da es sich nur um ein semantisches Modell handelt, muss die Frage beantwortet werden, wie sich der Spaß dann tatsächlich kodieren lässt. Dazu bedient man sich bestehender Standards. Die Norm enthält unter anderem Abbildungen auf UBL und UN/CEFACT CII. Das sind zwei "Sprachen" auf Basis von XML, mit denen sich unter anderem Rechnungen beschreiben lassen. Welche man verwendet, bleibt einem selbst überlassen. Der Empfänger der Rechnung muss beide können.
Damit aber nicht genug, denn - wir erinnern uns - es gibt ja noch die nationalen Besonderheiten. Deswegen enthält die Norm Mechanismen zur Konkretisierung und Erweiterung. Eine solche Erweiterung ist nun eben die XRechnung.
Die XRechnung ist nun aber auf die öffentliche Verwaltung zugeschnitten, die Wirtschaft hat meist andere Anforderungen und hier kommt dann vorrangig ZUGFeRD zum Einsatz. Dort gibt es verschiedene "Profile" - wieder mit entsprechenden Besonderheiten und da muss man aufpassen, dass man steuerrechtlich kein Problem bekommt. Als "Sprache" kommt der EN 16931 entsprechend die UN/CEFACT CII (genauer: XML Cross Industry Invoice D16B).
Im Klartext: Du musst erstmal wissen, ob Du Rechnungen an öffentliche Auftraggeber oder andere Unternehmen schreiben willst. Dann besorgst Du Dir die jeweilige Spezifikation (z. B. ZUGFeRD unter
https://www.ferd-net.de/standards/paket-downloads/index.html, die XRechnung hast Du glaub ich schon) und hangelst Dich da durch.