From 833961a42bbdb53f55f4e5f0b2a41df99bac6053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20St=C3=A4rk?= Date: Fri, 29 May 2026 19:18:06 +0200 Subject: [PATCH] test for #1133 --- .../validator/XMLValidatorTest.java | 19 + ...schlagsrechnung_SubInvoiceLine_u_LV_Nr.xml | 466 ++++++++++++++++++ 2 files changed, 485 insertions(+) create mode 100644 validator/src/test/resources/X03_01_Abschlagsrechnung_SubInvoiceLine_u_LV_Nr.xml diff --git a/validator/src/test/java/org/mustangproject/validator/XMLValidatorTest.java b/validator/src/test/java/org/mustangproject/validator/XMLValidatorTest.java index 0993b66a..88094295 100644 --- a/validator/src/test/java/org/mustangproject/validator/XMLValidatorTest.java +++ b/validator/src/test/java/org/mustangproject/validator/XMLValidatorTest.java @@ -4,6 +4,7 @@ import java.io.File; import javax.xml.transform.Source; +import org.junit.Test; import org.xmlunit.builder.Input; import org.xmlunit.xpath.JAXPXPathEngine; import org.xmlunit.xpath.XPathEngine; @@ -459,6 +460,24 @@ public class XMLValidatorTest extends ResourceCase { // ignore, will be in XML output anyway } + xv.context.clear(); + tempFile = getResourceAsFile("X03_01_Abschlagsrechnung_SubInvoiceLine_u_LV_Nr.xml"); + try { + xv.setFilename(tempFile.getAbsolutePath()); + xv.validate(); + + String s = "" + xv.getXMLResult() + ""; + // hierarchy mismatch should produce at least one warning + assertThat(s).valueByXPath("count(//warning)") + .asInt() + .isEqualTo(0); + + } catch (final IrrecoverableValidationError e) { + // ignore, will be in XML output anyway + } + + + } } diff --git a/validator/src/test/resources/X03_01_Abschlagsrechnung_SubInvoiceLine_u_LV_Nr.xml b/validator/src/test/resources/X03_01_Abschlagsrechnung_SubInvoiceLine_u_LV_Nr.xml new file mode 100644 index 00000000..50bc509b --- /dev/null +++ b/validator/src/test/resources/X03_01_Abschlagsrechnung_SubInvoiceLine_u_LV_Nr.xml @@ -0,0 +1,466 @@ + + + + + + + + urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended + + + + 210111 mit LV + 875 + + 20260530 + + + 1. Abschlagsrechnung + ACB + + + Geschäftsführer: Herr Geschäftsführer , Muster Bau GmbH etc. + REG + + + Es bestehen Vereinbarungen, aus denen sich Minderungen des Entgelts ergeben können. + AAI + + + ZUGFeRD vers 2.4.0 Extended + ACB + + + Dies ist eine Beispiel-Rechnung zur Darstellung einer Bau-Abschlags-Rechnung mit Sub-Invoice-Lines und Leistungsverzeichnis-Bezug je Position + ACB + + + Betreff zum LV für eine Kurzinformation zum Bauvorhaben BT-22 + ACB + + + Kopftext für zusätzliche Beschreibungen zur Rechnung. Z.B. als Anschreiben für die Rechnung BT-22 + ACB + + + ergänzneder Fußtext für die Rechnung mit zusätzlichen Angaben. Z.B: Ist kein gesondertes Lieferdatum angegeben, entspricht das Rechnungsdatum dem Datum der Lieferung und Leistung + ACB + + + freier Text zur Rechnung BT-22 + ACB + + + + + + 01.01 + 01 + GROUP + + + Baugelände abräumen Anfallender Schutt, Pflanzenreste und Müll entsorgen + + + + + + 2100.00 + + + + + + 01.01.01 + 01.01 + DETAIL + + + Baugelände abräumen + + + + LV 1.1.1.1.1. + LV_01.01.01 + 130 + Leistungsverzeichnis + BD + + + 7.00 + + + + 100.00 + + + + VAT + S + 19.00 + + + 700.00 + + + + + + 01.01.02 + 01.01 + DETAIL + + + Anfallender Pflanzenreste entsorgen + + + + LV 1.1.1.1.1. + LV01.01.02 + 130 + Leistungsverzeichnis + BD + + + 7.00 + + + + 100.00 + + + + VAT + S + 19.00 + + + 700.00 + + + + + + 01.01.03 + 01.01 + DETAIL + + + Müll entsorgen + + + + LV 1.1.1.1.1. + LV01.01.03 + 130 + Leistungsverzeichnis + BD + + + 7.00 + + + + 100.00 + + + + VAT + S + 19.00 + + + 700.00 + + + + + + 01.02 + 01 + DETAIL + + + Pflasterfläche vorbereiten, Planum herstellen und verdichten + + + + 6.00 + + + + 250.00 + + + + VAT + S + 19.00 + + + 1500.00 + + + + + + 01 + GROUP + + + Summe 01 Bauabschnitt 1 - Vorarbeiten + + + + 000001 + + + + + + + 3600.00 + + + + + Kundenref. BT-10 + + 998877 + Musterbetrieb AG Demodaten + + HRA 45678 + + + Kontaktperson + + 5578 + + + absender@musterberieb.de + + + + 37079 + August-Spindler-Strasse 222 + Göttingen + DE + + + DE727081482 + + + + 330145 + Auftraggeber Firmenkunde GmbH + + Herr Thomas Auftraggeber + + +49 321 456789 + + + thomas.auftraggeber@Firmenkunde.de + + + + 37073 + Gartenstraße 1212 + Göttingen + DE + + + DE106008386 + + + + G12042-1-01 + + + BT-13 + + + Vertragsnr. BT-12 + + + Vergabenr. BT-17 + 50 + + + Projektnr. BT-11 + Project reference + + + + + Auftraggeber Firmenkunde GmbH + + 37073 + Gartenstraße 1212 + Göttingen + DE + + + + + 20260530 + + + + + EUR + + 58 + + DE75512108001245126199 + Musterbetrieb Kontoname + + + PBNKDEFF + + + + 684.00 + VAT + 3600.00 + S + 19.00 + + + + 20260513 + + + 20260530 + + + + Bei Zahlung bis zum 06.06.2026 zahlen Sie mit 2,50 % Skonto € 4.176,90 + + 20260606 + + + 4284.00 + 2.5 + + + + Bis zum zum 13.06.2026 ohne Abzug + + 20260613 + + + + 3600.00 + 0.00 + 0.00 + 3600.00 + 684.00 + 4284.00 + 0.00 + 4284.00 + + + Kostenstelle BT-19 + + + +