diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index ac87a29d..de64c446 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -252,6 +252,28 @@ public class ZUGFeRDImporter { return result; } + /** + * @return the ZUGFeRD Profile + */ + public String getZUGFeRDProfil() { + switch (extractString("//GuidelineSpecifiedDocumentContextParameter//ID")) { + case "urn:cen.eu:en16931:2017": + case "urn:ferd:CrossIndustryDocument:invoice:1p0:comfort": + return "COMFORT"; + case "urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic": + case "urn:ferd:CrossIndustryDocument:invoice:1p0:basic": + return "BASIC"; + case "urn:factur-x.eu:1p0:basicwl": + return "BASIC WL"; + case "urn:factur-x.eu:1p0:minimum": + return "MINIMUM"; + case "urn:ferd:CrossIndustryDocument:invoice:1p0:extended": + case "urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended": + return "EXTENDED"; + } + return ""; + } + /** * @return the Invoice ID */ @@ -269,6 +291,7 @@ public class ZUGFeRDImporter { } + /** * @return the document code */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 034edb7b..7adc39f6 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -208,6 +208,7 @@ public class ZF2Test extends MustangReaderTestCase { // Reading ZUGFeRD assertEquals(zi.getAmount(), "571.04"); assertEquals(zi.getInvoiceID(), "RE-20170509/505"); + assertEquals(zi.getZUGFeRDProfil(), "COMFORT"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321");