konik-io / konik

A library to create, read and validate ZUGFeRD compliant invoices. Available for Java and .NET
https://konik.io
Other
48 stars 19 forks source link

Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. #52

Closed StefanSchmaltz closed 6 years ago

StefanSchmaltz commented 7 years ago

Hallo, wir verwenden Konik 1.2.9 mit java. Beim Validieren der generierten Rechnung auf https://www.din-zugferd-validation.org erhalten wir folgenden Fehler: "Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden."

In der Datei steht tatsächlich auch nur mit 2 Nachkommastellen:

515.00 10.00 Rabatt (absolut) Allerdings verwenden wir ein BigDecimal mit 4 Nachkommastellen: double netamout = 10d; charge.setActual(new Amount(BigDecimal.valueOf(netamount).setScale(4), currencyCode)); -->Scheinbar beachtet konik dies nicht. -->Bug? Workaround?
apetschenka commented 6 years ago

Hallo, Ich hatte das Selbe Problem wie du! Deswegen habe ich das Projekt geforked, den Fehler behoben und gerade deinen Pull-Reqeust erstellt. Die Validierung wurde auf die Nachkommastellen erweitert, wie es auch bei https://www.din-zugferd-validation.org/ getan wird.

Hoffe, der Pull-Request wird bald bearbeitet und bereitet keine größeren Probleme.

Vad1mo commented 6 years ago

From 6.5.2

  1. Amounts are specified with 2 decimal places and rounded if necessary (e.g. 15.00). AmountType with 2 decimal places with the exception of the rule below (All prices and intermediate values for discount calculation at item level).

  2. Prices and intermediate values for the discount calculation are specified with 4 decimal places (e.g. 0.66667). What is meant is that all prices are shown with 4 decimals as well as all intermediate values for the discount calculation.

Basically you could say: "Where to calculate to get an amount with 4 decimal places, otherwise with 2".

Vad1mo commented 6 years ago

Es ist auch möglich die Dezimalberechnung und Rundung zu modifizieren. See https://github.com/konik-io/konik/blob/a5324ca8e81c75fa54479593d5ebfdb24d5ad1c0/src/main/java/io/konik/Configuration.java or https://konik.io/docs/index.html#konik_configuration

GregorGlinka commented 5 years ago

Hallo,

ich nutze die .NET-Version von Konik. Aus einem anderen Programm wird mir bereits die XML-Struktur erzeugt. Die muss nur noch mit dem PDF gemergt werden.

Die mache ich auf folgende Art: ikvm.runtime.Startup.addBootClassPathAssembly(typeof(io.konik.zugferd.ObjectFactory).Assembly);

                        io.konik.PdfHandler pdf = new io.konik.PdfHandler();
                        io.konik.InvoiceTransformer transform = new io.konik.InvoiceTransformer();
                        java.io.File xmlDatei = new java.io.File(XML);
                        io.konik.zugferd.Invoice invoice = transform.toModel(xmlDatei);

                        java.io.InputStream pdfDatei = new java.io.FileInputStream(PDF);
                        java.io.OutputStream pdfDateiZiel = new java.io.FileOutputStream(PDFZiel);

                        pdf.appendInvoice(invoice, pdfDatei, pdfDateiZiel);

Leider werden, wie bei meinen Kollegen oben, die Werte ohne Nachkommastellen dargestellt und die Validierung per https://www.din-zugferd-validation.org schlägt fehl.

Gibt es eine Lösung für die .NET-Version?

Gruss Gregor Glinka

Vad1mo commented 5 years ago

Hallo Gregor, kannst du eine e-mail mitteilen ich sende dir die neueste DLL version.

ghost commented 5 years ago

Hallo, ich habe leider das gleiche Problem mit den Nachkommastellen.

Kann man irgendwo die aktuelle DLL downloaden?

GregorGlinka commented 5 years ago

Hallo,

 

ich habe die DLL von Vadim Bauer erhalten:  

https://www.dropbox.com/s/qdc7g0tvs2nukt3/ZUGFeRD.NET-1.3.2-NuGet.zip

 

Gruss Gregor

 

PS: Denk daran, dass PDF muss schon im PDF/A-Format sein, da ansonsten die XML-Datei nicht angehängt wird. Die Bibliothek führt keine Konvertierung von PDF in PDF/A durch!

 

Gesendet: Donnerstag, 27. Dezember 2018 um 14:56 Uhr Von: oledede notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: GregorGlinka gregor.glinka@gmx.de, Comment comment@noreply.github.com Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Hallo, ich habe leider das gleiche Problem mit den Nachkommastellen.

Kann man irgendwo die aktuelle DLL downloaden?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 5 years ago

Moin,vielen Dank für die Info. Ich habe nun die DLL heruntergeladen und diese in da Projekt eingebunden.Leider bekomme ich, sobald ich die SW starte, folgenden Fehler: System.IO.FileNotFoundException: "Die Datei oder Assembly "ZUGFeRD.NET-1.3.2-SNAPSHOT, Version=1.3.2.0, Culture=neutral, PublicKeyToken=ff86d12d3bcaf7de" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden."

Mache ich vielleicht einen Fehler?

Mit freundlichen Grüßen Simon Dadok simondadok@aol.com

-----Ursprüngliche Mitteilung----- Von: GregorGlinka notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: oledede simondadok@aol.com; Comment comment@noreply.github.com Verschickt: So, 30. Dez 2018 21:22 Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Hallo,

 

ich habe die DLL von Vadim Bauer erhalten:  

https://www.dropbox.com/s/qdc7g0tvs2nukt3/ZUGFeRD.NET-1.3.2-NuGet.zip

 

Gruss Gregor

 

PS: Denk daran, dass PDF muss schon im PDF/A-Format sein, da ansonsten die XML-Datei nicht angehängt wird. Die Bibliothek führt keine Konvertierung von PDF in PDF/A durch!

 

Gesendet: Donnerstag, 27. Dezember 2018 um 14:56 Uhr Von: oledede notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: GregorGlinka gregor.glinka@gmx.de, Comment comment@noreply.github.com Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Hallo, ich habe leider das gleiche Problem mit den Nachkommastellen.

Kann man irgendwo die aktuelle DLL downloaden?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

GregorGlinka commented 5 years ago

Moin und frohes neues Jahr,

 

ich habe die DLL in ZUGFERD.dll umbenannt. Bin mir gerade nicht sicher, aber ich meine, dass auch IKVM ein paar Updates über NuGet wollte.

Aber diese Meldung hatte ich nicht.

 

Gruss Gregor

 

Gesendet: Mittwoch, 02. Januar 2019 um 10:33 Uhr Von: oledede notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: GregorGlinka gregor.glinka@gmx.de, Comment comment@noreply.github.com Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Moin,vielen Dank für die Info. Ich habe nun die DLL heruntergeladen und diese in da Projekt eingebunden.Leider bekomme ich, sobald ich die SW starte, folgenden Fehler: System.IO.FileNotFoundException: "Die Datei oder Assembly "ZUGFeRD.NET-1.3.2-SNAPSHOT, Version=1.3.2.0, Culture=neutral, PublicKeyToken=ff86d12d3bcaf7de" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden."

Mache ich vielleicht einen Fehler?

Mit freundlichen Grüßen Simon Dadok simondadok@aol.com

-----Ursprüngliche Mitteilung----- Von: GregorGlinka notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: oledede simondadok@aol.com; Comment comment@noreply.github.com Verschickt: So, 30. Dez 2018 21:22 Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Hallo,

 

ich habe die DLL von Vadim Bauer erhalten:  

https://www.dropbox.com/s/qdc7g0tvs2nukt3/ZUGFeRD.NET-1.3.2-NuGet.zip

 

Gruss Gregor

 

PS: Denk daran, dass PDF muss schon im PDF/A-Format sein, da ansonsten die XML-Datei nicht angehängt wird. Die Bibliothek führt keine Konvertierung von PDF in PDF/A durch!

 

Gesendet: Donnerstag, 27. Dezember 2018 um 14:56 Uhr Von: oledede notifications@github.com An: konik-io/konik konik@noreply.github.com Cc: GregorGlinka gregor.glinka@gmx.de, Comment comment@noreply.github.com Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

Hallo, ich habe leider das gleiche Problem mit den Nachkommastellen.

Kann man irgendwo die aktuelle DLL downloaden?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

macpock commented 5 years ago

Hallo zusammen,

gibt es inzw. einen Workaround oder einen Fix für den folgenden o.g. Fehler:

System.IO.FileNotFoundException: "Die Datei oder Assembly "ZUGFeRD.NET-1.3.2-SNAPSHOT, Version=1.3.2.0, Culture=neutral, PublicKeyToken=ff86d12d3bcaf7de" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden." ??? Den bekomme ich nämlich auch

Gruß Marcus

Vad1mo commented 5 years ago

Es sollte keine Fehler geben. Kannst Du einen codebeispiel hier posten?

Vad1mo commented 5 years ago

Ich habe es mir noch mal angeschaut. Die Fehlermeldung sagt es eigentlich schon:

System.IO.FileNotFoundException: "Die Datei oder Assembly "ZUGFeRD.NET-1.3.2-SNAPSHOT, Version=1.3.2.0, Culture=neutral, PublicKeyToken=ff86d12d3bcaf7de" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden."

Der DLL Name sollte in ZUGFeRD.NET-1.3.2-SNAPSHOT.dll geändert werden oder das Assembly Namen sollte auf ZUGFeRD.NET-1.3.2 angepasst werden.

Ovanio commented 4 years ago

Hallo Zusammen,

ich habe das gleiche Problem mit der Version 1.2.9.3. Gibt es die neuere ZUGFeRD.NET-1.3.2.dll noch irgendwo zum downloaden?

Vielen Dank und schöne Grüße!

Ovanio commented 4 years ago

Hallo Zusammen,

vielen Dank Gregor!

Leider besteht das Problem scheinbar auch unter der 1.3.2, dh. konkret:

(0106)         <ram:SpecifiedTradeSettlementMonetarySummation>
(0107)           <ram:LineTotalAmount currencyID="EUR">490.00</ram:LineTotalAmount>
(0108)           <ram:TotalAllowanceChargeAmount currencyID="EUR">0.00</ram:TotalAllowanceChargeAmount>
(0109)         </ram:SpecifiedTradeSettlementMonetarySummation>

(0108) Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden.

Hat jemand eine Idee oder kann das bestätigen?

Viele Grüße und einen guten Start ins Wochenende!

devbdro commented 4 years ago

Ich habe genau das selbe Problem, trotz ZUGFeRD.NET-1.3.2-SNAPSHOT.dll (10.09.219 08:41):

############## GEFEG.FX Prüfung


Referenz-Standard : ZUGFeRD_extended; 1.00

Notizen


ZUGFeRD (PDF-Metadaten) Typ: INVOICE ZUGFeRD (PDF-Metadaten) Version: 1.0 ZUGFeRD (PDF-Metadaten) Profil: EXTENDED ZUGFeRD (PDF-Metadaten) Dateiname - OK ZUGFeRD (PDF-Metadaten) - OK

(Zeilennummer) - Fehler / Hinweise


(0142) Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden.

Nachricht


(0140) (0141) 240.00</ram:LineTotalAmount> (0142) 0.00</ram:TotalAllowanceChargeAmount> (0143) </ram:SpecifiedTradeSettlementMonetarySummation> ##############

Viele Grüße Günther

Vad1mo commented 4 years ago

@devbdro der GEFEG.FX Prüfung prüft nicht unbedingt korrekt schau mal hier https://www.zugferd-community.net/de/open_community/validation

devbdro commented 4 years ago

Vielen Dank für diesen wichtigen Hinweis, Vad1mo!

Das war wohl tatsächlich die Ursache. Die Validierung bei https://www.zugferd-community.net/de/open_community/validation war erfolgreich und liefert folgendes Ergebnis:

Das ZUGFeRD-PDF ist valide. Profile: PDF/A-3B validation profile Statement: PDF file is compliant with Validation Profile requirements. Signature: Konik Passed checks: 3921 Passed rules: 123 Failed checks: 0 Failed rules: 0

So einfach kann es also sein...

Viele Grüße Günther

devbdro commented 4 years ago

Hallo Herr Bauer,

Können Sie mir bitte kurz mitteilen, ob Sie sich schon um folgendes Problem kümmern konnten:

https://groups.google.com/forum/#!topic/konik-io/uHfcokVya4c

Mir wäre schon mal geholfen, wenn ich wenigstens genau wüsste, dass es sich tatsächlich um einen Fehler in der Validierung handelt.

Mein Problem ist nämlich, dass unsere ZUGFeRD- Schnittstelle unbedingt bis zum 31.08.2020 mit fertig sein muss und ich im Moment nicht weiß, ob ich was falsch mache, oder ob das Problem an der Validierung liegt.

Mit freundlichen Grüßen

Günther Lang

BODI-DATA GmbH, Neue Burg 1 - 72348 Rosenfeld

Software-Entwicklung

Tel: 07428/9399-0

Fax: 07428/9399-70

Web: http://www.bodi-data.de/ http://www.bodi-data.de

Geschäftsführerin: Alexandra Singer

Registergericht Stuttgart, Handelsregister-Nr. HRB 410853

Von: Vadim Bauer notifications@github.com Gesendet: Freitag, 24. Juli 2020 12:33 An: konik-io/konik konik@noreply.github.com Cc: devbdro guenther.lang@bodi-data.de; Mention mention@noreply.github.com Betreff: Re: [konik-io/konik] Preise und Zwischenwerte bei der Rabattberechnung müssen nach der ZUGFeRD-Vorgabe mit 4 Nachkommastellen angegeben werden. (#52)

@devbdro https://github.com/devbdro der GEFEG.FX Prüfung prüft nicht unbedingt korrekt schau mal hier https://www.zugferd-community.net/de/open_community/validation

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/konik-io/konik/issues/52#issuecomment-663475072 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQKCWRGRRFORWBEF4IZH3ZTR5FPM7ANCNFSM4D6UAHGA . https://github.com/notifications/beacon/AQKCWREXRVASK7MZDXGCL6TR5FPM7A5CNFSM4D6UAHGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE6F5HAA.gif