PaymentTerms - PaymentTermsType.Skonto - Attribut '@currencyID' soll in diesem Kontext nicht verwendet werden. #476
christianschmid200272
started this conversation in
General
Replies: 1 comment
-
Dieses Problem wurde mit #478 durch Stephan behoben. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hallo,
wir erzeugen Skonto Datensätze im den PaymentTerms, dabei wird im basisAmount das Attribut currencyID angelegt was vom gefeg Validierungstool bemängelt wird.
GEFEG.FX Check
Check date : 04.12.2024
Check time : 11:31:54
File : Rechnung 632982 (4).pdf
File date : 04.12.2024
File time : 11:31:54
File size : 14.346 Bytes
Reference standard : EN 16931 – FacturX 1.0.07 – ZUGFeRD 2.3 - EXTENDED;;
(0249) - Attribut '@currencyID' soll in diesem Kontext nicht verwendet werden.
(0243) ram:SpecifiedTradePaymentTerms
(0244) ram:DescriptionZahlung bis zum 15.03.2024 abzügl. 3,0% (= 538,95 EUR/ Skontoberecht.: 17.965,14 EUR)= 17.426,19 EUR</ram:Description>
(0245) ram:DueDateDateTime
(0246) <udt:DateTimeString format="102">20240315</udt:DateTimeString>
(0247) </ram:DueDateDateTime>
(0248) ram:ApplicableTradePaymentDiscountTerms
*(0249) <ram:BasisAmount currencyID="EUR">17426.19</ram:BasisAmount>
(0250) ram:CalculationPercent3.00</ram:CalculationPercent>
(0251) </ram:ApplicableTradePaymentDiscountTerms>
(0252) </ram:SpecifiedTradePaymentTerms>
(0253) ram:SpecifiedTradePaymentTerms
(0254) ram:DescriptionZahlung bis zum 31.03.2024 ohne Abzug</ram:Description>
(0255) ram:DueDateDateTime
(0256) <udt:DateTimeString format="102">20240331</udt:DateTimeString>
(0257) </ram:DueDateDateTime>
(0258) </ram:SpecifiedTradePaymentTerms>
//...\ZUGFeRD-csharp\ZUGFeRD\InvoiceDescriptor23CIIWriter.cs
foreach (PaymentTerms paymentTerms in this.Descriptor.GetTradePaymentTerms())
{
if (paymentTerms.PaymentTermsType.HasValue)
{
if (paymentTerms.PaymentTermsType == PaymentTermsType.Skonto)
{
Writer.WriteStartElement("ram", "ApplicableTradePaymentDiscountTerms");
** _writeOptionalAmount(Writer, "ram", "BasisAmount", paymentTerms.BaseAmount, forceCurrency: true); **
Writer.WriteOptionalElementString("ram", "CalculationPercent", _formatDecimal(paymentTerms.Percentage));
Writer.WriteEndElement(); // !ram:ApplicableTradePaymentDiscountTerms
}
if (paymentTerms.PaymentTermsType == PaymentTermsType.Verzug)
{
Writer.WriteStartElement("ram", "ApplicableTradePaymentPenaltyTerms");
_writeOptionalAmount(Writer, "ram", "BasisAmount", paymentTerms.BaseAmount, forceCurrency: true);
Writer.WriteOptionalElementString("ram", "CalculationPercent", _formatDecimal(paymentTerms.Percentage));
Writer.WriteEndElement(); // !ram:ApplicableTradePaymentPenaltyTerms
}
}
else
{
sbPaymentNotes.AppendLine(paymentTerms.Description);
}
dueDate = dueDate ?? paymentTerms.DueDate;
}
<
Beta Was this translation helpful? Give feedback.
All reactions