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/Mustang-CLI/pom.xml b/Mustang-CLI/pom.xml index bbc0d1a9..086d62b7 100644 --- a/Mustang-CLI/pom.xml +++ b/Mustang-CLI/pom.xml @@ -3,14 +3,14 @@ org.mustangproject core - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT 4.0.0 org.mustangproject Mustang-CLI e-invoices commandline tool, allowing to create(embed), split and validate Factur-X/ZUGFeRD files. Validation should also work for XRechnung/CII. jar - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT UTF-8 8 @@ -21,7 +21,7 @@ org.mustangproject validator - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT 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/pom.xml b/library/pom.xml index f9c8f083..baf48639 100644 --- a/library/pom.xml +++ b/library/pom.xml @@ -3,13 +3,13 @@ org.mustangproject core - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT 4.0.0 org.mustangproject library - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT jar Library to write, read and validate e-invoices (Factur-X, ZUGFeRD, Order-X, XRechnung/CII) FOSS Java library to read, write and validate european electronic invoices and orders in the UN/CEFACT Cross Industry Invoice based formats Factur-X/ZUGFeRD, XRechnung and Order-X in your invoice PDFs. 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/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 diff --git a/pom.xml b/pom.xml index 024766ab..370d58ff 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.mustangproject core - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT pom Mustang diff --git a/validator/pom.xml b/validator/pom.xml index 87206935..80c9c0e8 100644 --- a/validator/pom.xml +++ b/validator/pom.xml @@ -3,7 +3,7 @@ org.mustangproject core - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT 4.0.0 org.mustangproject @@ -11,7 +11,7 @@ Library to validate e-invoices (ZUGFeRD, Factur-X and Xrechnung) jar - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT @@ -38,7 +38,7 @@ ${project.groupId} library - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT @@ -98,7 +98,7 @@ org.mustangproject library - 2.6.3-SNAPSHOT + 2.7.1-SNAPSHOT org.xmlunit