From f72ef5cce61becb1800afbc888e7b684915a9f72 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Tue, 12 May 2026 15:47:04 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84nderung=20ksef=20template=20und=20umrechn?= =?UTF-8?q?ugn=20der=20Kurse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../einvoice/KSeFInvoiceLineBuilder.java | 8 +++++++- .../src/test/resources/ksef/ksef.xml | 10 ++++++++-- workflow/pl/e-invoice/templates/ksef.xml | 10 ++++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFInvoiceLineBuilder.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFInvoiceLineBuilder.java index cbd2cca..569e7ce 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFInvoiceLineBuilder.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/einvoice/KSeFInvoiceLineBuilder.java @@ -102,7 +102,13 @@ public class KSeFInvoiceLineBuilder { String currency = workitem.getItemValueString("invoice.currency"); if (!"PLN".equalsIgnoreCase(currency) && !currency.isBlank()) { BigDecimal exchangeRate = BigDecimal.valueOf(workitem.getItemValueDouble("invoice.rate")); - writeForeignCurrencyFields(model, elementFa, aggregates, exchangeRate); + + // 11.05.2026 - Maciej Budas: + // Exchange rate in KSeF is used CargoSoft format (EUR=PLN), whereas it should + // be PLN=EUR (i.e., 4.2537). To get the correct data in KSeF, there is just to + // divide 1 by the current rate (1 / 0.235089). + BigDecimal invertedRate = BigDecimal.ONE.divide(exchangeRate, 4, RoundingMode.HALF_UP); + writeForeignCurrencyFields(model, elementFa, aggregates, invertedRate); } // Phase 4: remove all summary placeholders that were not filled. diff --git a/office-alexander-logistics-app/src/test/resources/ksef/ksef.xml b/office-alexander-logistics-app/src/test/resources/ksef/ksef.xml index 42f711d..6e7da29 100644 --- a/office-alexander-logistics-app/src/test/resources/ksef/ksef.xml +++ b/office-alexander-logistics-app/src/test/resources/ksef/ksef.xml @@ -85,8 +85,14 @@ 2 - - 2 + + 1 2 diff --git a/workflow/pl/e-invoice/templates/ksef.xml b/workflow/pl/e-invoice/templates/ksef.xml index 42f711d..6e7da29 100644 --- a/workflow/pl/e-invoice/templates/ksef.xml +++ b/workflow/pl/e-invoice/templates/ksef.xml @@ -85,8 +85,14 @@ 2 - - 2 + + 1 2