Vielen Dank an Thorsten für den konkreten Verweis auf die Spezifikation.
Das alles passend hinzubekommen (so dass also Werte in den angezeigten Dialogen, beim Druck / in der
XML immer kongruent sind), hat mich echt Nerven gekostet (weil mein bisheriger Rechnungsausdruck halt andere Positionen ausgibt, als man in der E-Rechnung angeben muss). Insbesondere hat man Spaß mit dem Validator bei unterschiedlichen Mehrwertsteuersätzen, krummen Werten und Artikelmengen größer 1.
Durch konsequente Verwendung von RoundCurrency (Kaufmännisches Runden) und anschließender eigener Kontrolle der InvoiceLines und ggfflls. Anpassung bein Rundungsfehlern in 0,01 Cent-Schritten bei den Nettobeträgen kann man es passend machen, aber was für ein insgesamt irrer Aufwand.
Und ich möchte drauf wetten, dass mir irgend ein Kunde in naher Zukunft trotzdem wieder eine Rechnung vorlegt, wo so eine blöde Cent-Abweichung drin ist.
Wenn man schon so einen Standard gesetzlich vorschreibt, wäre es angemessen gewesen, eine allgemeine
DLL mitzuliefern, welche nur die Preise, Artikel, Mengen und MWSt-Sätze entgegennimmt und dann direkt selbst die
XML erzeugt. So gibt es unterschiedliche Librarys, sich ständig ändernde technische Spezifikationen, was die Sache insgesamt nicht gerade einfach macht.
Gut, dass es für uns Delphi-Entwickler die Library von Sven gibt (hier hat es ja in den letzten Wochen viele Aktualisierungen und Anpassungen gegeben), ohne die hätte ich das wohl überhaupt nicht hinbekommen.