LL25 zu LL27 Umstellung ZUGFeRD geht nicht mehr

Programcode ist gleich geblieben ich habe nochmals alles debugt und auch nochmals gemäß Ihres Beispiels auch ausgetestet, die ZUGFeRD Datei ist einfach nicht mehr im PDF …

Gibt es hier einen Servicepack ??? Meine Kunden machen Arlarm …

Können Sie einmal eine Logdatei des Exports hier posten? Vielleicht lässt sich daraus schon das Problem erkennen.

der einzigste Eintrag:

CMLL27 : 12:12:44.960 000013d0/1e 0 [L04 PRN]: EXPORT:End failed: -2147467259/-13

Die PDF Datei ist da, aber ohne ZUGFeRD-invoice.xml einzubinden. Ja die Datei ZUGFeRD-invoice.xml existiert, verschiedene Verzeichnissse getestet, alles was man so tun kann habe ich schon probiert

hier möchte er wohl irgendwas abfangen …

Wie kann man verhindern das er hier irgendwas selbst rumfummeln will und mit möchte gern Intelligenz versucht zu checken ???

Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
▪;1000;15.10.2022 12:55:57.567;1;LL.Generic;50F8;100:2=CMLL27♦101:1=30;     [cmll27EX] Base:Error! DoSetLastError(-13,Failed to add invoice file: The chosen invoice type and/or profile conflicts with the information in the XML..)
▪;1000;15.10.2022 12:55:57.567;2;LL.API;50F8;100:2=CMLL27♦101:1=30;     >LlGetDebugSinkProxyModule(13, <null>, 0019F23C)
▪;1000;15.10.2022 12:55:57.567;2;LL.API;50F8;100:2=CMLL27♦101:1=30;     <LlGetDebugSinkProxyModule() -> 0 (00000000)
▪;1000;15.10.2022 12:55:57.567;1;LL.Generic;50F8;100:2=CMLL27♦101:1=30;     [cmll27EX] ERR: adding the given ZUGFeRD file 'D:\SYSTEM~2\ZUGFeRD-invoice.xml' failed - reason: 'Failed to add invoice file: The chosen invoice type and/or profile conflicts with the information in the XML..'
▪;1000;15.10.2022 12:55:57.567;2;LL.API;50F8;100:2=CMLL27♦101:1=30;     >LlGetDebugSinkProxyModule(13, <null>, 0019F244)
▪;1000;15.10.2022 12:55:57.567;2;LL.API;50F8;100:2=CMLL27♦101:1=30;     <LlGetDebugSinkProxyModule() -> 0 (00000000)
▪;1000;15.10.2022 12:55:57.567;1;LL.Generic;50F8;100:2=CMLL27♦101:1=30;     [cmll27EX] ERR: => e.g. be sure PDF.ZUGFeRDVersion and PDF.ZUGFeRDConformanceLevel are matching the given XML file
▪;1000;15.10.2022 12:55:57.567;2;LL.API;50F8;100:2=CMLL27♦101:1=30;     >LlGetDebugSinkProxyModule(13, <null>, 0019F240)

Welches Profil verwenden Sie denn? Können Sie eine (anonymisierte) XML-Datei einmal hier anhängen? Wir verhindern in der Tat ungültige Kombinationen, da diese sonst von den Empfängern abgelehnt werden können…

hier ist eine Testdatei drin.
Unsere Kunden haben seit 1,5 Jahren erfolgreich an alle möglichen Stellen die ZugFerd PDF abgeben
können. Ich weiss nicht warum Sie hier eine Prüfung einbauen wollen, das ist doch nicht die Aufgabe des Formulareditors. Ich möchte das abstellen können …

hier der Link (spaces entfernen, leider kann ich nicht uploaden oder einen direkten Link posten:

[ZugFredDatei]
h t t p s : / / transfer . afs-software . de/download/36562d18-0962-4c23-b7c7-42013b67712e

hier das Ergebnis des offiziellen Prüftools:

Konformitätsprüfung: Das geprüfte Dokument enthält weder Fehler noch Warnungen. Es ist konform zu den formalen Vorgaben.

Bewertung: Es wird empfohlen das Dokument anzunehmen und weiter zu verarbeiten.

Ich hatte das auch mal. Das Dokumente ist z.B. Typ “Extended” und beim LL-Export steht dann “Comfort” in der Zeile. Dann funktioniert es nicht. Der Typ der Datei “Extended, Comfort etc”. muss bei LL-Export übereinstimmen.

LG,
Marco

2 Likes

In Ergänzung zu den Informationen von @Marco_Muller1 helfen vielleicht auch die Codesnippets aus dem Artikel ZUGFeRD, Factur-X und XRechnung – Elektronische Rechnungsformate in List & Label. Die Prüfung ist wichtig, da der PDF-Generator (also List & Label) zusätzlich zum XML Schema-Informationen einbetten muß. Und wenn die nicht zum XML passen kann es passieren, dass die Datei nicht angenommen wird.

wo steht das bitte in der Anleitung, ich habe mir das extra nochmals durchgelesen …

Ich will auch niemand zu nahe treten, Sie haben aber überhaupt nichts zu Prüfen in diesem Bereich! Einfach nichts einzubetten ohne Fehlermeldung, weil es vielleicht abgelehnt wird. Ohne die XML drin wird es zu 100% abgelehnt.

Das macht mich richtig sauer so ein schei… hat mich nun den ganzen Fr und Sa gekostet + über 1000 Arbeitsplätze ausgestattet mit der neuen Version. Wer ersetzt mir den Schaden ??? Niemand und nur weil hier jemand einen Kontrolle-Wahn hat!

Bedanken möchte ich mich aber ausdrücklich, das Sie Sa und So hier geantwortet haben, ist lobenswert und nicht selbstverständlich.

Das tut mir natürlich sehr leid - am Freitag hätten Sie sich jederzeit telefonisch bei uns melden können. Und natürlich sollten Sie immer sorgfältig testen, ehe Sie eine neue Version ausrollen.

Es handelt sich nicht um Kontrollwahn, sondern um eine durch die ZUGFeRD-Spezifikation vorgeschriebene Funktion - mit den falschen Metadaten ist die Rechnung schlicht nicht Standardkonform und würde nicht erfolgreich validieren.

Die Spezifikation sagt dazu:

Das resultierende PDF/A-3 Dokument muss intern über folgende Konstrukte
verfügen, um die Konformität zu gewährleisten:
• eine PDF/A-3 konforme Struktur, d.h. das Ausgangsdokument ist ohne die
eingebetteten Daten bereits PDF/A-3 konform! Dabei spielt die
Konformitätsstufe (d.h. 3a, 3b oder 3u) keine Rolle.
• die Einbettung der XML-Datei über eine Beziehung vom Typ “Alternative”
mit Bezug auf das gesamte Dokument.
• die Präsenz eines spezifischen XMP Erweiterungsschemas zur Beschreibung
des Dokuments als ZUGFeRD-konforme Rechnung sowie der
entsprechenden XMP Metadaten

Der letzte Punkt ist hierbei der, um den es geht. Wenn das nicht richtig gemacht wird, gibt es eben Probleme bei der Validierung. Das ist kein theoretisches Problem, wir hatten das schon in der Praxis (Zugferd 2.0 PDF Metadaten).

Haben denn die Hinweise von @Marco_Muller1 und mir geholfen?

Das mache ich gerne :slight_smile: - mir liegt natürlich viel daran, dass es nicht zu solchen Problemen kommt, daher noch einmal - tut mir leid, bitte entschuldigen Sie den Ärger.

das machen wir, habe auch geschaut das die PDF da ist. Aber auf die Idee das nun jemand meine geprüften und validen XML ablehnt und deshalb nicht einbettet ohne eine Fehlermeldung zu werfen bin ich leider nicht gekommen!

Ich habe eine goldene Regel da ich seit 1995 mit L+L genug Erfahrungen habe mit neuen Versionen:

  • warte ein Jahr nach der Veröffentlichung bevor wir die Version in die Produkte einbauen oder lasse Versionen aus.

  • LL22 war problemfrei (jeweils letzte Service Packs);

  • LL25 mussten wir wegen ZuFerd nehmen grrr bis heute Bugs mit echten Etikettendruckern drin; Probleme mit WIN11, der Editor total langsam im Formulardesignen …

Deshalb habe ich nun auf LL27 gewechselt in der Hoffnung das die groben Bug nach einem Jahr raus sind und mir die Kundschaft nicht um die Ohren fliegt wegen einen LL Update …

PS: ich bette die ZugFeRD Datei nun manuell mit Ihrer entsprechenden Funktion ein, das scheint zu funktionieren (PDF.FileAttachments)

Ich habe oben eben noch die Spezifikation eingefügt. Ihre Lösung wird sicher kein gültiges ZUGFeRD Dokument erzeugen, sondern eben nur ein PDF mit XML. Eine gültige Rechnung muss die richtigen XMP Metadaten enthalten.

Was muss ich dann machen, damit meine XML eingebettet wird ???
Ich habe die Versionensnr durchgetestet:

PDF.ZUGFeRDVersion leer ; 2.0 2.1 2.2
PDF.ZUGFeRDConformanceLevel leer, EN 16931

Gleiches gilt für die Dateinamen:

ZUGFeRD-invoice.xml
factur-x.xml

Ich habe alles mögliche getestet, was muss ich machen ???

Ich habe im Moment keinen Zugriff auf meinen Rechner - wenn ich es richtig sehe ist Ihre XML ein XRechnung 2.2-Dokument. Dieser Standard wird derzeit noch nicht unterstützt, 2.1 ist der neueste unterstützte Standard. Es gäbe also zwei Möglichkeiten:

(1) Sie erstellen das XML als XRechnung 2.1-Dokument und verwenden die folgenden Einstellungen:

LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDVersion, "2.1");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDConformanceLevel, "XRECHNUNG");
LL.ExportOptions.Add(LlExportOption.PdfZUGFeRDXmlPath, "ZUGFeRD-invoice.xml");

(2) Wenn Sie mit der Version 25 erfolgreich arbeiten konnten und die Dateien von Ihren Kunden akzeptiert wurden dann können Sie vorübergehend durch Setzen des folgenden Keys in der Systemregistrierung wieder auf die alte PDF-Erzeugung umschalten:

HKCU\Software\combit\cmbtll, Textschlüssel PDF.LegacyRenderingMode auf T setzen

Ich kann aktuell nicht sicher sagen, ab wann wir die XRechnung 2.2 unterstützen können - hierfür müsste ich morgen einmal Rücksprache mit den Kollegen halten, die tiefer im ZUGFeRD-Thema stecken als ich. Ich hoffe, dass Sie mit diesen Informationen dennoch zumindest temporär weiterkommen.

Soweit ich informiert bin, ist XRechnung 2.2 seit 01.07 Pflicht … 2.1 ist bis 30.06 gültig …

Anhang ist nun in der PDF, der Dateiname mutiert dann aber zu xrechnung.xml

Ob das angenommen wird wage ich zu bezweifeln

Dieser Dateiname ist m.W.in der Spezifikation so vorgeschrieben. Eine Quelle kann ich morgen nachreichen.

Wie versprochen noch ein Follow-Up auf ein paar der angesprochenen Punkte. Das soll keine Rechtfertigung werden, ich habe mich ja gestern schon bei Ihnen für den Ärger entschuldigt, den Sie hatten. Trotzdem will ich einige der Dinge, die Sie angesprochen haben, noch kommentieren:

Sie sollten unter .NET eine Exception, in anderen Programmiersprachen einen Fehlercode als Rückgabewert bekommen. In Ihrem Log ist ja auch die -13 schon zu sehen. Eventuell achten Sie nicht auf Rückgabewerte oder haben einen globalen Exception-Handler?

Zu diesem Thema werde ich in den kommenden Tagen einmal einen Blogpost verfassen. Sie sind tatsächlich länger mit List & Label zu Gange als ich (das will was heißen :smiley:), aber es hat sich in den letzten 27 Jahren doch einiges in Sachen Qualitätssicherung getan. Mir ist klar, dass das für Sie der falsche Zeitpunkt ist, darüber zu diskutieren, deswegen werde ich dafür auf ein anderes Medium ausweichen - da können Sie dann ggf. gerne kommentieren.

Wenn Sie mir (gerne auch per Mail) die Casenummern dazu nennen schaue ich mir das gerne zeitnah an. LL25 wurde nicht für Windows 11 freigegeben, da kann es in der Tat zu Problemen kommen. Performanceprobleme im Designer und Probleme mit einzelnen Druckern prüfen wir gerne.

Gültig sind beide Formate und werden in der Regel auch von allen Empfängern angenommen. XRechnung 2.2 ist aber das neuere Format. Wir warten hier auf die PDF Tools AG (den Hersteller unserer PDF-Komponente), die die Implementierung noch nicht vorgenommen hat.

Der Download von hier enthält als Technischen Anhang die ZUGFeRD 2.1.1 Spezifikation Anlage Referenzprofile. Darin heißt es in Abschnitt 3.1 “Einbettung der XML-Datei”:

Die XML-Datei trägt immer den Namen xrechnung.xml.

Hier bleiben also - ebenso wie bei den korrekten XMP-Schemainformationen - keine Spielräume für Abweichungen, wenn das Ergebnisdokument eine gültige XRechnung sein soll.

Vielen Dank für Ihre Antworten, ich binde die ZUGFeRD-invoice.xml Datei erst einmal via Verkettung an und habe es den Arlarmkunden zum testen gegeben, ob es eingereicht werden kann.
Da ich die LL Versionen immer kurz vor dem LiveTime Ende einbinde, so ist die Standardantwort “in der neuen Version” ist das gelöst …
LL25 bei Etikettendruckern (verschiedene) aber im zu 100% bei CL631 und Zebra verschiebt sich der Druck nach dem Entwurf. Mit 10 mal klicken habe ich eine Lösung hinbekommen, die aber keinem zuzumuten ist …
Das Problem ist aber in LL27 nicht mehr da, soweit ich es bisher als Feedback habe ist es bis auf ZugFred bisher Problemfrei …

PS: ich benutze Delphi und kein .NET …