From bc48e04afc10a86a6d0dfe0efd6379139454a4b1 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Mon, 4 Nov 2024 17:28:47 +0100 Subject: [PATCH] added optional method --- .../documents/EInvoiceAutoAdapter.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAutoAdapter.java b/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAutoAdapter.java index 5f256b9..753a2c7 100644 --- a/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAutoAdapter.java +++ b/imixs-archive-documents/src/main/java/org/imixs/archive/documents/EInvoiceAutoAdapter.java @@ -109,4 +109,32 @@ private void readEInvoiceContent(FileData eInvoiceFileData, } + /** + * This method resolves the content of a factur-x e-invocie file and extracts + * all invoice and customer fields. + * + * This is the variant without Mustang Project + * + * + * @param xmlData + * @return + * @throws PluginException + */ + private void readEInvoiceContentNativeXML(FileData eInvoiceFileData, + ItemCollection workitem) throws PluginException { + byte[] xmlData = readXMLContent(eInvoiceFileData); + logger.info("Autodetect e-invoice data..."); + + createXMLDoc(xmlData); + + readItem(workitem, "//rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID", "text", "invoice.number"); + readItem(workitem, "//rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString/text()", "date", + "invoice.date"); + readItem(workitem, "//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount", "double", + "invoice.total"); + readItem(workitem, "//ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name/text()", "text", + "cdtr.name"); + + } + }