diff --git a/library/src/main/java/org/mustangproject/Contact.java b/library/src/main/java/org/mustangproject/Contact.java index 39ef8aa2..a5e8b3bf 100644 --- a/library/src/main/java/org/mustangproject/Contact.java +++ b/library/src/main/java/org/mustangproject/Contact.java @@ -130,6 +130,21 @@ public class Contact implements IZUGFeRDExportableContact { } else if (currentItemNode.getLocalName().equals("Telephone")) { /* UBL */ setPhone(currentItemNode.getTextContent()); } + + // CII: only for Extended profile + if (currentItemNode.getLocalName().equals("FaxUniversalCommunication")) { /* CII */ + NodeList fax = currentItemNode.getChildNodes(); + for (int faxChildIndex = 0; faxChildIndex < fax.getLength(); faxChildIndex++) { + if (fax.item(faxChildIndex).getLocalName() != null) { + if (fax.item(faxChildIndex).getLocalName().equals("CompleteNumber")) { + setFax(fax.item(faxChildIndex).getTextContent()); + } + } + } + } else if (currentItemNode.getLocalName().equals("Telefax")) { /* UBL */ + setFax(currentItemNode.getTextContent()); + } + if (currentItemNode.getLocalName().equals("EmailURIUniversalCommunication")) { /* CII */ NodeList email = currentItemNode.getChildNodes(); for (int emailChildIndex = 0; emailChildIndex < email.getLength(); emailChildIndex++) { diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/UBLTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/UBLTest.java index 62122f62..5bf67854 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/UBLTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/UBLTest.java @@ -139,6 +139,7 @@ public class UBLTest extends ResourceCase { assertFalse(hasExceptions); assertEquals(new BigDecimal("10000.0"), invoice.getTotalPrepaidAmount()); + assertEquals("4621231", invoice.getSender().getContact().getFax()); } } diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java index 9c60b75b..cb64d01f 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java @@ -602,6 +602,8 @@ public class ZF2PushTest extends TestCase { assertEquals("Verwendungszweck", i.getPaymentReference()); assertEquals("Rechnung", i.getDocumentName()); + assertEquals("++49555123456",i.getRecipient().getContact().getFax()); + } catch (XPathExpressionException e) { fail("XPathExpressionException should not be raised"); } catch (ParseException e) { diff --git a/library/src/test/resources/ubl/04.01a-INVOICE_ubl.xml b/library/src/test/resources/ubl/04.01a-INVOICE_ubl.xml index e0014a4d..8d32472a 100644 --- a/library/src/test/resources/ubl/04.01a-INVOICE_ubl.xml +++ b/library/src/test/resources/ubl/04.01a-INVOICE_ubl.xml @@ -40,6 +40,7 @@ M. Meier Handwerk GbR 010/12345 + 4621231 info@m-meier.de