Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie sieht die Zukunft mit XRechnung, ZUGFerD, Peppol und Co. aus ?

  Alt 15. Mai 2025, 07:44
Hallöle...
Zitat:
Auf irgendeine Weise MUSS unbedingt validiert werden, entweder durch einen selbst
...da gehe ich mit.
Zitat:
Was passiert eigentlich, wenn die XML dann mal "kaputt" ist?
...die Frage stellt nicht, weil IMMER validiert wird.
Zitat:
Ich meine, ein Prozess der durchgetestet worden ist, muss der ständig wieder überprüft werden?
...auch der Gesetzgeber hat ggf. Änderungen. Deshalb muß auch der Validator angepaßt werden, um die Rechnungen zu prüfen.
Zitat:
Aber ist es nicht so, dass eigentlich der Empfänger validieren muss, sonst darf er kann er das nicht weiterverarbeiten?
[Meine Meinung] Nein. Aber er kann validieren, wenn er möchte, um sicher zu sein. Das sollte die Software, die er verwendet, leisten können. Da sind wir wieder bei der Frage...was können die Anderen. Bei denen sind es dann Eingangsrechnungen.
PS: Die Eingangsprüfung sollte auch eine Prüfung des PDF "Rechnungsbetrages" zum eingebetten XML beinhalten. (Manipulation der Rechnung auf dem Weg)...ich weiß nicht ob das jemand macht.
Zitat:
Sollte nicht schon das Erzeugen einer nicht korrekt Rechnung wie im normalen Rechnungsdruck aufgehalten werden? Es werden doch nur bestehende Rechnungsdaten in eine XML-Struktur gewandelt.
Grundsätzlich hast du mit der XML Struktur Recht. Du brauchst aber auch das PDF. Aber...
Problem 1:
Die XML muß mit dem PDF gemerged werden. Meistens über ein externes Tool. Beim PDF müssen verschiedene Voraussetzungen stimmen. Am Ende ist es ein PDF/A [Achtung Werbung ] Wir verwenden DynaPDF.
Problem 2:
Die Valdierung nach der Rechnungserstellung.
Zitat:
Von Sachbearbeitern werden hunderte Rechnungen erzeugt, die meisten davon automatisiert.
Jede Validierung eines Beleges braucht ca. 5 Sekunden (nach oben offen je nach Menge der Pos) bei uns. Bei einer Einzelrechnung fällt das Versenden im Workflow (Versenden per Mail) fast nicht auf. Dauert aber länger als sonst.
Wir haben aber manchmal (selten ) Rechnungsläufe bis zu 1300 Rechnungen am Tag. Die Validierung braucht bei diesem Volumen 6h+. Soll der Mitarbeiter nach Hause gehen? Das ist im normalen Workflow nicht abzubilden.
Da muß man sich was einfallen lassen...
* Thread in der Anwendung, seperates eigenständiges Tool was den Versand übernimmt.
* Rückmeldungen der Validierung speichern und Fehler ggf. anzeigen.
Zitat:
Da ich beim Validieren anscheinend die Java-Runtime Nachteile (also etwas, das ich gerade bei der Wahl Delphi als Sprache vermeiden wollte) hereinhole, habe ich dabei Bauchschmerzen
...wir haben die "Struktur" (Bild) auf dem Server abgelegt. Keine Probleme. Für den Aufruf haben wir eine Klasse erstellt die Ergebnisse "kapselt".
https://github.com/LandrixSoftware/X...elphi/releases
Delphi-Quellcode:
// Auszug unvollständig
function TXInvoice.Validation(XML: string): Boolean;
var
  ValidationHelper: IXRechnungValidationHelperJava;
  XMLStream: TStringStream;
begin
  Result := False;

  if XML > 'then
  begin
    CoInitialize(nil);
    XMLStream := TStringStream.Create(XML, TEncoding.UTF8);
    try
      FInvoiceVersion := TXRechnungValidationHelper.GetXRechnungVersion(XMLStream);

      ValidationHelper := GetXRechnungValidationHelperJava;
      ValidationHelper.SetJavaRuntimeEnvironmentPath(FJavaRuntimeEnvironmentPath);
      ValidationHelper.SetValidatorLibPath(FValidatorLibPath);
      if FInvoiceVersion in [XRechnungVersion_230_UBL, XRechnungVersion_230_UNCEFACT] then
      begin
        ValidationHelper.SetValidatorConfigurationPath(FValidatorConfigurationPath23x);
      end
      else
      begin
        ValidationHelper.SetValidatorConfigurationPath(FValidatorConfigurationPath30x);
      end;
      Result := ValidationHelper.Validate(XML, FCmdOutPut, FXmlResult, FHtmlResult);
    finally
      XMLStream.Free;
      CoUninitialize;
    end;
  end;
end;
Miniaturansicht angehängter Grafiken
java.png  

Geändert von haentschman (15. Mai 2025 um 07:48 Uhr)
  Mit Zitat antworten Zitat