diff --git a/History.md b/History.md index 69b160a8..c774653c 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,7 @@ -- support multiple languages in visualization -- support UBL input in visualization -- resolve codelists in visualization +2.7.0 +======= +2023-04-17 +- support english and french output in factur-x visualization (read: conversion to HTML), UBL invoice and creditnote input+ resolve codelist attributes (thanks to https://jcthiele.github.io/xrechnung-visualization-codelist-resolve/) 2.6.2 "Happy Easter" ======= diff --git a/NOTICE b/NOTICE index 74216985..c13b8c75 100644 --- a/NOTICE +++ b/NOTICE @@ -29,6 +29,7 @@ Based on PH-Schematron https://github.com/phax/ph-schematron licensed under the Based on CII2UBL https://github.com/phax/en16931-cii2ubl licensed under the APL2.0 Based on https://github.com/itplr-kosit/xrechnung-schematron licensed under the APL2.0 Based on https://github.com/itplr-kosit/xrechnung-visualization licensed under the APL2.0 +Based on https://jcthiele.github.io/xrechnung-visualization-codelist-resolve/ under the APL2.0 Based on Saxon-HE https://sourceforge.net/projects/saxon/ licensed under the MPL 2.0 Based on DOM4j https://dom4j.github.io/ licensed under the BSD license Based on EN16931 validation artefacts https://github.com/ConnectingEurope/eInvoicing-EN16931 licensed under the EUPL 2.0 diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java index 29cfff26..6f08889f 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDVisualizer.java @@ -71,7 +71,8 @@ public class ZUGFeRDVisualizer { new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/cii-xr.xsl"))); } mXsltHTMLTemplate = mFactory.newTemplates(new StreamSource( - CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html."+lang.name().toLowerCase()+".xsl"))); + CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-pdf.xsl"))); +// CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html."+lang.name().toLowerCase()+".xsl"))); if (mXsltZF1HTMLTemplate==null) { mXsltZF1HTMLTemplate = mFactory.newTemplates(new StreamSource( CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/ZUGFeRD_1p0_c1p0_s1p0.xslt"))); diff --git a/library/src/main/resources/stylesheets/cii-xr.xsl b/library/src/main/resources/stylesheets/cii-xr.xsl index a27035b5..fb1eefdf 100644 --- a/library/src/main/resources/stylesheets/cii-xr.xsl +++ b/library/src/main/resources/stylesheets/cii-xr.xsl @@ -3,7 +3,6 @@ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1" xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" @@ -12,2533 +11,2149 @@ xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="#all" version="2.0"> - - - - Author: - KoSIT Bremen (kosit@finanzen.bremen.de) - - Fassung vom: 2020-06-30+02:00 - modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 - Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B - in eine Instanz gemäß des Schemas für den Namensraum - urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. - - Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der - Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. - - - + + + + Author: KoSIT Bremen (kosit@finanzen.bremen.de) + Fassung vom: 2020-06-30+02:00 + Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UNCEFACT.CII.D16B in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. + Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. + + - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #SKONTO# - - TAGE - WOCHEN - - =#PROZENT=# - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ILLEGAL DATE FORMAT: <para>Mit diesem Datentyp wird ein kalendarisches Datum - abgebildet, wie es in der ISO 8601 Spezifikation <quote>Calendar date complete representation</quote> - beschrieben ist (siehe ISO 8601:2004, Abschnitt 5.2.1.1). Das Datum beinhaltet keine Zeitangabe. Das - konkret zu verwendende Format ist abhängig von der genutzten Syntax.</para> - <para>Der Datentyp basiert auf dem Typ <quote>Date Time. Type</quote>, wie in ISO - 15000-5:2014 Anhang B definiert.</para> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - + - - - - - - - - - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - - - - - / - - - [ - - ] - - - - /@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/common-xr.xsl b/library/src/main/resources/stylesheets/common-xr.xsl new file mode 100644 index 00000000..6677599d --- /dev/null +++ b/library/src/main/resources/stylesheets/common-xr.xsl @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ILLEGAL DATE FORMAT of "". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + + + + + + + Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. + + + + + / + + + [ + + ] + + + + /@ + + + + diff --git a/library/src/main/resources/stylesheets/functions.xsl b/library/src/main/resources/stylesheets/functions.xsl new file mode 100644 index 00000000..d952c902 --- /dev/null +++ b/library/src/main/resources/stylesheets/functions.xsl @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library/src/main/resources/stylesheets/l10n/de.xml b/library/src/main/resources/stylesheets/l10n/de.xml new file mode 100644 index 00000000..720f207b --- /dev/null +++ b/library/src/main/resources/stylesheets/l10n/de.xml @@ -0,0 +1,257 @@ + + + Leitweg-ID + Name + Adresszeile 1 + Adresszeile 2 + Adresszeile 3 + PLZ + Ort + Ländercode + Kennung + Schema der Kennung + Name + Telefon + E-Mail-Adresse + Firmenname + Adresszeile 1 + Adresszeile 2 + Adresszeile 3 + PLZ + Ort + Bundesland + Ländercode + Kennung + Schema der Kennung + Name + Telefon + E-Mail-Adresse + Rechnungsnummer + Rechnungsdatum + Rechnungsart + Währung + Projektnummer + Vertragsnummer + Bestellnummer + Auftragsnummer + + Von + Bis + Rechnungsnummer + Rechnungsdatum + Summe aller Positionen + Summe Nachlässe + Summe Zuschläge + Gesamtsumme + Summe Umsatzsteuer + Summe Umsatzsteuer in Abrechnungswährung + Gesamtsumme + Gezahlter Betrag + Rundungsbetrag + Fälliger Betrag + Umsatzsteuerkategorie + Gesamtsumme + Umsatzsteuersatz + Umsatzsteuerbetrag + Befreiungsgrund + Kennung für den Befreiungsgrund + + Umsatzsteuerkategorie des + Nachlasses + Grundbetrag + Prozentsatz + Nachlass + Umsatzsteuersatz des + Nachlasses + Grund für den Nachlass + Kennung für den Nachlassgrund + + Umsatzsteuerkategorie des + Zuschlages + Grundbetrag + Prozentsatz + Zuschlag + Umsatzsteuersatz des Zuschlages + Grund für den Zuschlag + Kennung für den Zuschlagsgrund + Skonto; weitere Zahlungsbedingungen + Fälligkeitsdatum + Code für das Zahlungsmittel + Zahlungsmittel + Verwendungszweck + Kartennummer + Karteninhaber + + Mandatsreferenznr. + IBAN + Gläubiger-ID + + Kontoinhaber + IBAN + BIC + Betreff + Bemerkung + + Abweichender Handelsname + Elektronische Adresse + Schema der elektronischen Adresse + Register-/Registriernummer + Schema der Registernummer + Umsatzsteuer-ID + Steuernummer + Weitere rechtliche Informationen + Code der Umsatzsteuerwährung + + Name + Adresszeile 1 + Adresszeile 2 + Adresszeile 3 + PLZ + Ort + Bundesland + Ländercode + Umsatzsteuer-ID + + Abweichender Handelsname + Bundesland + Elektronische Adresse + Schema der elektronischen Adresse + Register-/Registriernummer + Schema der Register-/Registriernummer + Umsatzsteuer-ID + Abrechnungsdatum der Umsatzsteuer + Code des Umsatzsteuer-Abrechnungsdatums + Kontierungsinformation + Kennung des Lieferorts + Schema der Kennung + Lieferdatum + Name des Empfängers + Adresszeile 1 + Adresszeile 2 + Adresszeile 3 + PLZ + Ort + Bundesland + Ländercode + Vergabenummer + Kennung der Empfangsbestätigung + Kennung der Versandanzeige + Prozesskennung + Spezifikationskennung + Objektkennung + Schema der Objektkennung + + Name + Kennung + Schema der Kennung + Register-/Registriernummer + Schema der Register-/Registriernummer + + Kennung + Beschreibung + Verweis (z.B. Internetadresse) + Anhangsdokument + Format des Anhangdokuments + Name des Anhangsdokuments + Datum/Uhrzeit + Betreff + Text + Details + Position + Freitext + Objektkennung + Schema der Objektkennung + Nummer der Auftragsposition + Kontierungshinweis + Von + Bis + Menge + Einheit + Preis pro Einheit (netto) + Gesamtpreis (netto) + Rabatt (netto) + Listenpreis (netto) + Basismenge zum Artikelpreis + Code der Maßeinheit + Umsatzsteuer + Umsatzsteuersatz + Bezeichnung + Beschreibung + Artikelnummer + Artikelkennung des Käufers + Artikelkennung + Schema der Artikelkennung + Code der Artikelklassifizierung + Kennung zur Bildung des Schemas + Version zur Bildung des Schemas + Code des Herkunftslandes + Grundbetrag (netto) + Prozentsatz + Nachlass (netto) + Grund des Nachlasses + Code für den Nachlassgrund + Grundbetrag (netto) + Prozentsatz + Zuschlag (netto) + Grund des Zuschlags + Code für den Zuschlagsgrund + Art der Fremdforderung + Betrag der Fremdforderung + Beschreibung der Fremdforderung + Übersicht + Informationen zum Käufer + Informationen zum Verkäufer + Rechnungsdaten + Gesamtbeträge der Rechnung + Fremdforderung + Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung + Nachlass auf Ebene der Rechnung + Zuschlag auf Ebene der Rechnung + Abrechnungszeitraum + Vorausgegangene Rechnungen + Zahlungsdaten + Karteninformation + Lastschrift + Überweisung + Bemerkungen zur Rechnung + Details + Abrechnungszeitraum + Preiseinzelheiten + Nachlässe auf Ebene der Rechnungsposition + Zuschläge auf Ebene der Rechnungsposition + Artikelinformationen + Eigenschaften des Artikels + Zusätze + Informationen zum Verkäufer + Steuervertreter des Verkäufers + Informationen zum Käufer + Lieferinformationen + Informationen zum Vertrag + Vom Verkäufer abweichender Zahlungsempfänger + Laufzettel + Bearbeitungshistorie + Anlagen + Rechnungsbegründende Unterlagen + [D].[M].[Y] + [D].[M].[Y] [H]:[m]:[s] + ###.##0,00 + ##0,00 + ###.##0,################# + + Summe Fremdforderungen + + Wir übernehmen keine Haftung für die Richtigkeit der Daten. + Bemerkungen zur Rechnung + Öffnen + Keine Daten vorhanden + netto + brutto + Bereiche ohne Inhalte werden nicht dargestellt! + Beschreibung + Preis + Preiseinheit + USt. Satz + St. Code + Gesamt + Seite + diff --git a/library/src/main/resources/stylesheets/l10n/en.xml b/library/src/main/resources/stylesheets/l10n/en.xml new file mode 100644 index 00000000..24f69ed8 --- /dev/null +++ b/library/src/main/resources/stylesheets/l10n/en.xml @@ -0,0 +1,255 @@ + + + Buyer reference + Name + Address line 1 + Address line 2 + Address line 3 + ZIP + Location + Country code + Identifier + Scheme identifier + Contact point + Contact point phone + Contact point email + Company name + Address line 1 + Address line 2 + Address line 3 + ZIP + Location + State + Country code + Identifier + Scheme identifier + Contact point + Contact point phone + Contact point email + Invoice number + Invoice date + Invoice type + Currency + Project reference + Contract reference + Purchase order reference + Sales order reference + + From + To + Invoice number + Invoice date + Total invoice line net amount + Total allowances + Total charges + Total amount + Total VAT + Total VAT in accounting currency + Total + Already paid + Rounding amount + Amount due + VAT category + Total + VAT rate + VAT amount + Exemption reason + Exemption reason code + + Allowance VAT category code + Base amount + Percentage + Amount + Allowance VAT rate + Allowance reason + Allowance reason code + + Charge VAT category code + Base amount + Percentage + Amount + VAT rate + Charge Reason + Charge reason code + Payment terms + Due date + Payment means type code + Payment means + Remittance information + Card number + Card holder + + Mandate reference no. + Debited account identifier + Creditor ID + + Account holder + Account identifier + BIC + Subject code + Note + + Different trading name + Electronic address + Electronic address + scheme + Legal registration identifier + Legal registration identifier scheme + VAT ID + Tax number + Further legal information + VAT accounting currency + + Name + Address line 1 + Address line 2 + Address line 3 + ZIP + Location + State + Country code + VAT ID + + Different trading name + State + Electronic address + Electronic address scheme + Legal registration identifier + Legal registration identifier scheme + VAT ID + Value added tax point date + Value added tax point date code + Buyer accounting reference + Delivery location identifier + Identification scheme + Delivery date + Name of the recipient + Address line 1 + Address line 2 + Address line 3 + ZIP + Location + State + Country code + Award reference + Receiving advice reference + Despatch advice reference + Process identifier + Specification identifier + Object identifier + Object identifier scheme + + Name + Identifier + Identification scheme + Legal registration identifier + Legal registration identifier scheme + + Identifier + Description + Location (e.g. Internet address ) + Attached document + MIME type of the attached document + Name of the attachment document + Date / time + Subject + Text + Details + Identifier + Free text + Object identifier + Object identifier scheme + Order item number + Buyer accounting reference + From + To + Quantity + Unit + Price per unit (net) + Total price (net) + Discount (net) + List price (net) + Item price base quantity + Unit code + VAT category + VAT rate + Name + Description + Item identifier + Buyer's item identifier + Item standard identifier + Item standard identifier scheme + Item classification code + Item classification code scheme + Schema version + Country of origin + Base amount (net) + Percentage + Allowance (net) + Allowance reason + Allowance reason code + Base amount (net) + Percentage + Charge (net) + Reason for the Charge + Charge reason code + Third party payment type + Third party payment amount + Third party payment description + Overview + Information about the buyer + Information about the seller + Invoice data + Invoice totals + Third party payment + Sales tax breakdown at invoice level + Invoice level discount + Invoice level surcharge + Billing period + Previous invoices + Payment data + Card information + Direct debit + Transfer + Notes on the invoice + Details + Billing period + Price details + Allowances on invoice item level + Charges at invoice item level + Item information + Properties of the item + Supplements + Information about the seller + Tax representative of the seller + Information about the buyer + Delivery information + Information about the contract + Payee different from the seller + Routing slip + Processing history + Attachments + Documents justifying the invoice + [Y]-[M,2]-[D,2] + [Y]-[M,2]-[D,2] [H]:[m]:[s] + ###,##0.00 + ##0.00 + ###,##0.################# + + Third party payment total + + We assume no liability for the accuracy of the data. + Notes on the invoice + Open + No data available + net + gross + Areas without content are not displayed! + Description + Price + Price unit + VAT + Code + Total + Page + diff --git a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl index da2b18c8..711a6f9f 100644 --- a/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl +++ b/library/src/main/resources/stylesheets/ubl-creditnote-xr.xsl @@ -15,31 +15,14 @@ Author: KoSIT Bremen (kosit@finanzen.bremen.de) Fassung vom: 2020-06-30+02:00 - modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.CreditNote in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. - - - - - - - - - - - - - - - - - - + + @@ -75,16 +58,7 @@ - - - - - - - - - - + @@ -126,6 +100,7 @@ + @@ -162,36 +137,21 @@ - - - - - - + - - - - - - + - - - - - - + @@ -206,12 +166,7 @@ - - - - - - + - - - - + @@ -385,10 +337,7 @@ - - - - + - - - - + - - - - + - - - - - - + - @@ -600,25 +536,11 @@ - - - - + - - - - - - - - - - @@ -638,10 +560,7 @@ - - - - + - - - - - - + - - - - + - - - - + @@ -910,12 +818,7 @@ - - - - - - + @@ -947,10 +850,7 @@ - - - - + - - - - - - + - - - - - - + + match="/CreditNote:CreditNote/cac:PaymentMeans/cbc:PaymentMeansCode/@name"> @@ -1273,12 +1163,7 @@ - - - - - - + - - - - - - + - - - - - - + - - - - - - + @@ -1409,9 +1279,9 @@ + select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:DocumentCurrencyCode = @currencyID]"/> + select="/CreditNote:CreditNote/cac:TaxTotal/cbc:TaxAmount[/CreditNote:CreditNote/cbc:TaxCurrencyCode = @currencyID]"/> @@ -1543,12 +1413,7 @@ - - - - - - + - - - - - - + - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - - - + - - - - + - - - - + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - - - - - - - - - - - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - - - - - / - - - [ - - ] - - - - /@ - - - + + diff --git a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl index 7bdec35d..b3031ba8 100644 --- a/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl +++ b/library/src/main/resources/stylesheets/ubl-invoice-xr.xsl @@ -1,46 +1,31 @@ + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1" + xmlns:Invoice="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" + xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" + xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" + xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="#all" version="2.0"> Author: KoSIT Bremen (kosit@finanzen.bremen.de) Fassung vom: 2020-06-30+02:00 - modifiziert durch Dr. Jan Thiele am: 2021-02-11+01:00 - Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. - Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das Ergebnis nicht definiert. + Überführt eine zur EN 16931 konforme elektronische Rechnung in der konkreten Syntax + UBL.2_1.Invoice in eine Instanz gemäß des Schemas für den Namensraum + urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1. + Das Skript setzt voraus, dass das zu verarbeitende Dokument valide bzgl. des XML + Schemas und der Schematron-Regeln der Quelle ist. Für nicht valide Dokumente ist das + Ergebnis nicht definiert. - - - - - - - - - - - - - - - - - - + + + @@ -61,12 +46,15 @@ + select="./cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"/> - + @@ -74,16 +62,7 @@ - - - - - - - - - - + @@ -111,7 +90,7 @@ + select="./cac:BillingReference/cac:InvoiceDocumentReference"/> @@ -125,6 +104,7 @@ + @@ -134,13 +114,14 @@ + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/> + @@ -161,36 +142,21 @@ - - - - - - + - - - - - - + - - - - - - + @@ -200,17 +166,11 @@ - + - - - - - - + @@ -234,8 +194,7 @@ - + @@ -249,32 +208,28 @@ - + - + - + - + @@ -282,14 +237,11 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"> - - - - + @@ -307,8 +259,9 @@ - + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference"> + + @@ -321,7 +274,7 @@ + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID"> @@ -329,7 +282,7 @@ + match="/Invoice:Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate"> @@ -337,18 +290,19 @@ - + + + select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']"/> + select="./cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm"/> @@ -362,7 +316,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"> @@ -370,7 +324,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name"> @@ -378,29 +332,23 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID"> - - - - + + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID"> - - - - + + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> @@ -408,7 +356,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID != 'VAT']"> @@ -416,7 +364,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm"> @@ -424,19 +372,17 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID"> - - - - + - + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress"> + + @@ -454,7 +400,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName"> @@ -462,7 +408,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -470,7 +416,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -478,7 +424,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName"> @@ -486,7 +432,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone"> @@ -494,7 +440,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity"> @@ -502,21 +448,17 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - - - - - - + - + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact"> + + @@ -530,7 +472,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name"> @@ -538,7 +480,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone"> @@ -546,7 +488,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail"> @@ -554,16 +496,17 @@ - + + + select="./cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"/> + select="./cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -577,7 +520,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName"> @@ -585,7 +528,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name"> @@ -593,29 +536,23 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID"> - - - - + + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID"> - - - - + + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> @@ -623,19 +560,17 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID"> - - - - + - + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress"> + + @@ -653,7 +588,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName"> @@ -661,7 +596,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -669,7 +604,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -677,7 +612,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName"> @@ -685,7 +620,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone"> @@ -693,7 +628,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity"> @@ -701,21 +636,17 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - - - - - - + - + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact"> + + @@ -729,7 +660,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name"> @@ -737,7 +668,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Telephone"> @@ -745,7 +676,7 @@ + match="/Invoice:Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail"> @@ -753,7 +684,8 @@ - + + @@ -766,41 +698,34 @@ - + - + - - - - + + match="/Invoice:Invoice/cac:PayeeParty/cac:PartyLegalEntity/cbc:CompanyID"> - - - - + - + + + select="./cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -812,7 +737,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyName/cbc:Name"> @@ -820,16 +745,16 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - - + + + @@ -847,7 +772,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:StreetName"> @@ -855,7 +780,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:AdditionalStreetName"> @@ -863,7 +788,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine/cbc:Line"> @@ -871,7 +796,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CityName"> @@ -879,7 +804,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:PostalZone"> @@ -887,7 +812,7 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CountrySubentity"> @@ -895,20 +820,16 @@ + match="/Invoice:Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode"> - - - - - - + - + + @@ -924,26 +845,21 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name"> - + - - - - + - + @@ -951,7 +867,8 @@ - + + @@ -977,9 +894,9 @@ - - + + + @@ -997,7 +914,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName"> @@ -1005,7 +922,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName"> @@ -1013,7 +930,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line"> @@ -1021,7 +938,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName"> @@ -1029,7 +946,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone"> @@ -1037,7 +954,7 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CountrySubentity"> @@ -1045,33 +962,21 @@ + match="/Invoice:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode"> - - - - - - + - + - - - - - - + - + @@ -1085,9 +990,9 @@ - - + + + @@ -1101,7 +1006,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID"> @@ -1109,7 +1014,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:Name"> @@ -1117,7 +1022,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID"> @@ -1125,7 +1030,8 @@ - + + @@ -1138,7 +1044,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID"> @@ -1146,21 +1052,21 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName"> - - + + + + select="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/> + select="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"/> @@ -1171,8 +1077,7 @@ - + @@ -1180,7 +1085,7 @@ + match="/Invoice:Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"> @@ -1188,7 +1093,7 @@ + match="/Invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID = 'SEPA']"> @@ -1196,7 +1101,7 @@ + match="/Invoice:Invoice/cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID"> @@ -1204,22 +1109,24 @@ - + match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"> + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> + select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']" + /> @@ -1230,7 +1137,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1238,7 +1145,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1246,7 +1153,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1254,20 +1161,15 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - - - - - - + + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']"> @@ -1275,7 +1177,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1283,35 +1185,32 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"> - - - - - - + - + match="/Invoice:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"> + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/> + select="./cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']" + /> @@ -1322,7 +1221,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1330,7 +1229,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1338,7 +1237,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1346,20 +1245,15 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"> - - - - - - + + match="/Invoice:Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']"> @@ -1367,7 +1261,7 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1375,26 +1269,24 @@ + match="/Invoice:Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"> - - - - - - + - + + - - + + @@ -1409,7 +1301,7 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount"> @@ -1417,15 +1309,14 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount"> - + @@ -1433,7 +1324,7 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount"> @@ -1455,15 +1346,14 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"> - + @@ -1471,15 +1361,14 @@ + match="/Invoice:Invoice/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount"> - + @@ -1487,11 +1376,12 @@ - + + + select="./cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"/> @@ -1505,15 +1395,14 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount"> - + @@ -1521,20 +1410,15 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID[following-sibling::cac:TaxScheme/cbc:ID = 'VAT']"> - - - - - - + + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent"> @@ -1542,7 +1426,7 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason"> @@ -1550,25 +1434,21 @@ + match="/Invoice:Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode"> - - - - - - + - + + + select="./cac:Attachment/cbc:EmbeddedDocumentBinaryObject"/> @@ -1578,8 +1458,7 @@ - + @@ -1587,7 +1466,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription"> @@ -1595,7 +1474,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI"> @@ -1603,7 +1482,7 @@ + match="/Invoice:Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject"> @@ -1611,11 +1490,13 @@ - + + + select="./cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"/> + @@ -1623,9 +1504,9 @@ + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"/> @@ -1654,55 +1535,42 @@ + match="cac:DocumentReference/cbc:ID[following-sibling::cbc:DocumentTypeCode = '130']"> - - - - + - + - + - - - - - - + - + - + - + @@ -1710,7 +1578,8 @@ - + + @@ -1722,35 +1591,34 @@ - + - + - - + + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']" + /> @@ -1761,7 +1629,7 @@ + match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1769,7 +1637,7 @@ + match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1777,7 +1645,7 @@ + match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1785,7 +1653,7 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1793,31 +1661,27 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']"> - - - - - - + - - + + + + select="./cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="./cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']" + /> @@ -1828,7 +1692,7 @@ + match="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1836,7 +1700,7 @@ + match="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1844,7 +1708,7 @@ + match="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1852,7 +1716,7 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"> @@ -1860,25 +1724,21 @@ + match="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']"> - - - - - - + - + + + select="./cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="./cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -1890,8 +1750,7 @@ - + @@ -1899,7 +1758,7 @@ + match="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"> @@ -1907,37 +1766,30 @@ + match="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"> - + - + - - - - - - + - - + + + @@ -1949,21 +1801,14 @@ - + - - - - - - + - + @@ -1971,14 +1816,15 @@ - + + + select="./cac:CommodityClassification/cbc:ItemClassificationCode"/> @@ -1990,76 +1836,59 @@ - + - + - + - + - + - - - - + + match="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode"> - - - - + - + - - - - - - + - - + + + @@ -2071,16 +1900,14 @@ - + - + @@ -2088,7 +1915,8 @@ - + + - + - + + + select="cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode"/> + select="cac:Item/cac:OriginCountry/cbc:IdentificationCode"/> @@ -2136,10 +1965,10 @@ - - - + + + + @@ -2150,20 +1979,22 @@ - + - + match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'false']"> + + + select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'false']" + /> @@ -2174,18 +2005,20 @@ - + match="cac:SubInvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = 'true']"> + + + select="cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:MultiplierFactorNumeric[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReason[preceding-sibling::cbc:ChargeIndicator = 'true']"/> + select="cac:AllowanceCharge/cbc:AllowanceChargeReasonCode[preceding-sibling::cbc:ChargeIndicator = 'true']" + /> @@ -2196,7 +2029,8 @@ - + + @@ -2209,9 +2043,11 @@ - + + - + @@ -2220,14 +2056,15 @@ - + - + + + select="cac:Price/cac:AllowanceCharge/cbc:Amount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> + select="cac:Price/cac:AllowanceCharge/cbc:BaseAmount[preceding-sibling::cbc:ChargeIndicator = 'false']"/> @@ -2239,140 +2076,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - - - - - - + + + + + - - - - Liefert einen XPath-Pfad, welches $n eindeutig identifiziert. - - - - - / - - - [ - - ] - - - - /@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/xr-content.xsl b/library/src/main/resources/stylesheets/xr-content.xsl new file mode 100644 index 00000000..5c4207ad --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-content.xsl @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/xr-pdf.xsl b/library/src/main/resources/stylesheets/xr-pdf.xsl new file mode 100644 index 00000000..153dba41 --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-pdf.xsl @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + normal + + + normal + + + 2 7 2 2 2 2 1.3 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl new file mode 100644 index 00000000..de3b5459 --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-pdf/lib/konstanten.xsl @@ -0,0 +1,235 @@ + + + + + + SourceSerifPro + SourceSerifPro + + + + + + + + + + + 9pt + 12pt + 3 + true + de + + + + + 18pt + + false + all + + + + + 18pt + + bold + 4mm + false + all + always + + + + + 0.5pt solid + 2.5pt + all + 4mm + always + + + + + 9pt + + bold + 0.5pt solid + 4pt 6pt + always + 0 + + + + + 10pt + + bold + 1mm + 2mm + 2mm + all + always + + + + + 2mm + 3mm + 0.5pt dotted + #999999 + always + + + + #eeeeee + 28 + + + 7pt + 10pt + 1mm + 1mm + 2mm + 1mm + + + + 9pt + 10pt + + 1mm + 1mm + 2mm + 2mm + always + + + + + 9pt + left + 0.2mm + 0.2mm + 0mm + 1mm + 0mm + always + + + + 9pt + left + 0.2mm + 0.2mm + 0mm + 1mm + 0mm + always + + + + 9pt + right + 0.2mm + 0.2mm + 0mm + 0mm + 0mm + always + + + + 9pt + left + 0.4mm + 0.2mm + 0mm + 1mm + 0.1pt solid #999999 + always + + + + 9pt + left + 0.4mm + 0.2mm + 0mm + 1mm + 0.1pt solid #999999 + always + + + + 9pt + bold + right + 0.4mm + 0.2mm + 0mm + 0mm + 0.1pt solid #999999 + always + + + + + 10mm + + + + 2mm + always + all + + + + 2mm + + + + + 2pt + 2pt + 100% + fixed + 2mm + + + + bold + + + + + + + + + 80% + italic + + + + 2pt + 2pt + 100% + fixed + 80% + italic + + + \ No newline at end of file diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl new file mode 100644 index 00000000..de3c25aa --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/content-templates.xsl @@ -0,0 +1,972 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + zweispaltig + + + + + + + + + + + + + + + + + + + + + + + + zweispaltig + + + + + + + + + + + + + + + + + + + + + + + + + + + + + zweispaltig + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + url(embedded-file:) + + + + + + + + + data:application/pdf;base64, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mm + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + true + h1 + + + + + + + + + + + h2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + + + : + + + + + + : + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + + + + : + + + + + + + : + + + + + + + + + + + : + + + + + + : + + + + + + + + + + + : + + + + + + + + + + : + + + + + + : + + + + + + + + + : + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl new file mode 100644 index 00000000..ef3bc411 --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/layout-master-set.xsl @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl new file mode 100644 index 00000000..864c29db --- /dev/null +++ b/library/src/main/resources/stylesheets/xr-pdf/lib/structure/page-sequence.xsl @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + \ No newline at end of file