Giter VIP home page Giter VIP logo

jcthiele / openxrechnungtoolbox Goto Github PK

View Code? Open in Web Editor NEW
36.0 8.0 3.0 6.5 MB

Graphische Benutzeroberfläche für die Visualisierung und Validierung von XRechnung (und anderen EN16931-konformen E-Rechnungen) sowie ein Tool für die Berechnung und Prüfung von Leitweg-IDs. || Engl.: Graphical User Interface for visualization and validation of XRechnung (and other EN16931 compliant e-invoices) as well as tool for Leitweg-ID calculation and validation.

Home Page: https://jcthiele.github.io/OpenXRechnungToolbox/

License: GNU General Public License v3.0

Shell 0.01% Batchfile 0.01% NSIS 0.01% HTML 0.42% CSS 0.13% JavaScript 0.02% XSLT 99.12% Java 0.30%
einvoice xrechnung codelisten validation visualization leitweg-id e-rechnung en16931 peppol

openxrechnungtoolbox's Introduction

OpenXRechnungToolbox by Dr. Jan C. Thiele

Graphical User Interface for visualization and validation of XRechnung (and other EN16931 compliant e-invoices) as well as tool for Leitweg-ID calculation and validation.

Die OpenXRechnungToolbox (OXT) bietet eine graphische Benutzeroberfläche zu den mit dem Standard XRechnung herausgegebenen Tools (Prüftool, Visualisierung) und fügt ergänzend noch ein paar weitere Funktionalitäten hinzu (Codelistenauflösung für die Visualisierung, Leitweg-ID-Rechner/-Prüfer, Nutzung für Peppol-Rechnungen). Damit macht sie die XRechnungs-Tools für Nicht-Programmierer nutzbar.

Im Detail bietet die OpenXRechnungToolbox derzeit folgende Funktionalitäten:

  • Erzeugung einer menschenlesbaren Visualisierung von XRechnungs-Dateien, inkl. optionaler Codelisten-Auflösung, inkl. Speicherfunktion als HTML-Datei sowie Erzeugung einer PDF-Visualiserung; auch für andere Rechnungsinstanzen nutzbar, die konform zur Europäischen Norm EN16931 sind (z.B. Peppol BIS 3.0)
  • Technische Validierung von XRechnungs-Dateien sowie Peppol BIS 3.0 Rechnungen, verfügbar für verschiedene XRechnungs-Versionen, inkl. Speicherfunktion des Prüfberichts als HTML-Datei
  • Berechnung und Prüfung von Leitweg-ID-Prüfziffern
  • Konvertierung von UN/CEFACT CII nach UBL 2.1

Die Vorteile der OpenXRechnungToolbox gegenüber vielen anderen Angeboten sind:

  • Sie geben Ihre Daten nicht aus der Hand: kein Hochladen von Rechnungsdateien auf einen Server; rein lokale Desktop-Anwendung (Datenschutz)
  • Sie bleiben jederzeit anonym: keine Registrierung oder sonstige Nutzer*inneninformationen erforderlich (Datenschutz)
  • Ihnen rückt kein Vertrieb auf den Leib: kein kommerzielles Interesse
  • Sie besitzen vollständige digitale Souveränität: offener Quellcode (Open Source), somit vollständige Nachvollziehbarkeit und Weiterentwicklungsmöglichkeit

Installation

Das Ausführen einer Installationsroutine ist für die OpenXRechnungToolbox nicht zwingend erforderlich. Für Windows Betriebssysteme steht der Komfortabilität wegen dennoch optional eine automatische Installationsroutine zur Verfügung, um u.a. das Programm in das Startmenü einzutragen. In dieser Variante kommt auch ein passendes Java direkt mit. Es steht, wie für andere Betriebssysteme (Linux, Apple Mac) aber auch für Windows ein einfaches zip-Archiv zur Verfügung, für das keine Installationsroutine durchlaufen werden muss. So kann die Software auch genutzt werden, wenn keine Administrationsrechte auf dem Rechner zur Verfügung stehen. In diesem Fall laden Sie einfach das zip-Archiv für Ihr Betriebssystem (Windows, Linux oder Apple Mac) herunter und entpacken es an einem beliebigen Ort. Von dort können Sie dann die Anwendung, wie im Benutzer*innenhandbuch beschrieben, starten. Falls Sie unter Windows eine Software zum Entpacken benötigen, können Sie z.B. 7-zip nutzen.

Die OpenXRechnungToolbox Version 1.1.3 benötigt eine Java-Installation Version 8 oder höher. Wenn Sie die Installationsroutine für Windows 64-bit nutzen, wird Java direkt mitgeliefert (daher ist die Dateigröße auch entsprechend umfangreich). Hier entfällt die Voraussetzung, dass eine Java-Installation vorhanden sein muss.

Benutzung

Das Benutzer*innenhandbuch finden Sie unter https://jcthiele.github.io/OpenXRechnungToolbox/docs/manual.html sowie über das Hilfe-Menü der OpenXRechnungToolbox.

openxrechnungtoolbox's People

Contributors

jcthiele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openxrechnungtoolbox's Issues

Kein einheitliches Konzept für Betreff einer Bemerkung zur Rechnung

Der Betreff einer Rechnungsbemerkung wird von der OXT nicht ausgewertet. Zugrunde gelegt wird die Art und Weise, in der der Betreff in Form einer 3-Buchstaben-Kombination von Dataport in der Weberfassung in das UBL-Invoice-XML-Format übersetzt wird, nämlich abgetrennt durch ein Doppelkreuz hinter der eigentlichen Bemerkung.
Leider ist die Übersetzungsregel, mithilfe derer ein UBL-Invoice-XML auf Korrektheit hinsichtlich der XRechnungs-Spezifikation geprüft wird, an dieser Stelle sehr komplex aufgebaut:

<!--Manuell erstelltes Template für BG-1-->
<xsl:for-each-group select="./cbc:Note" group-by="             if (following-sibling::cbc:Note and matches(., '^[A-Z]{3}$')) then             generate-id(following-sibling::cbc:Note[1])             else             generate-id(.)">
	<xr:INVOICE_NOTE>
		<xsl:attribute name="xr:id" select="'BG-1'"/>
		<xsl:attribute name="xr:src" select="xr:src-path($current-bg)"/>
		<xsl:if test="count(current-group()) gt 1">
			<xr:Invoice_note_subject_code>
				<xsl:attribute name="xr:id" select="'BT-21'"/>
				<xsl:attribute name="xr:src" select="xr:src-path(current-group()[1])"/>
				<xsl:value-of select="current-group()[1]"/>
			</xr:Invoice_note_subject_code>
		</xsl:if>
		<xr:Invoice_note>
			<xsl:attribute name="xr:id" select="'BT-22'"/>
			<xsl:attribute name="xr:src" select="xr:src-path(current-group()[last()])"/>
			<xsl:value-of select="current-group()[last()]"/>
		</xr:Invoice_note>
	</xr:INVOICE_NOTE>
</xsl:for-each-group>

Klar ist: In UBL-Invoice-XML gibt es für Rechnungsbemerkungen nur ein (attributfreies) Element, die XRechnungs-Spezifikation indes sieht zwei Elemente vor. Die Übersetzungsregel scheint hier von Dataport von OXT unterschiedlich interpretiert zu werden, und einer von beiden muss ja falsch liegen. Ich vermute Dataport, da von einem Doppelkreuz in der Transformationsregel nicht die Rede ist.
Anbei ein Code-Beispiel direkt aus der Weberfassung heruntergeladen. Es wurde lediglich die veraltete 1.2 nach 2.0 korrigiert.
eRechnung.xml.txt

Erkannter Dokumenttyp "Unbekannt" bei Verwendung der Beispieldaten

Hallo Herr Thiele,

wir haben eine XRechnung in der Version 1.2 erhalten, für die der Prüfbericht ein Zurückweisen der Rechnung empfohlen hat, weil der erkannte Dokumenttyp "unbekannt" ist. Dasselbe Ergebnis zeigt sich auch bei den im Programm mitgelieferten Beispieldaten der Version 1.2 (ich glaube sogar, alle außer 2.0).
grafik

Handelt es sich dabei um einen fehlerhaften Prüfbericht? Können Sie das Problem ggf. fixen?

Vielen Dank!

Viele Grüße
DS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.