Skonto definiert einen Preisnachlass für eine vorzeitige Zahlung. In Deutschland ist es in vielen Sektoren üblich, Informationen über Skonti zu übermitteln. Das gegenwärtige Datenmodell der Europäischen Norm bietet jedoch keinen spezifischen Prozess für die Darstellung solcher Informationen mittels strukturierter Informationselemente.
Das europäische Datenmodell beinhaltet zwar das Informationselement „Payment terms“ (BT-20), das unstrukturierte Zahlungsinformationen in Textform aufnehmen kann, jedoch erlaubt dies keine automatisierte Verarbeitung, wie sie von vielen Behörden auf allen Verwaltungsebenen gefordert wird.
Expertenkommissionen haben die Notwendigkeit für eine strukturierte Darstellung von Skonto-Informationen in elektronischen Rechnungen erkannt. Mitglieder dieser Gremien entwickelten daraufhin eine Struktur, die Skonto- und Verzugsbedingungen mittels des Informationselements „Payment terms“ abbildet und somit automatisierte Verarbeitungen ermöglicht.
Mittelfristig und langfristig ist die Integration strukturierter Skonto-Bedingungen in das semantische Datenmodell der Europäischen Norm geplant.
Zusätzlich zu diesen Entwicklungen umfasst eine Textbeschreibung der Zahlungsbedingungen alle relevanten Details zu den fälligen Zahlungsbeträgen, einschließlich möglicher Skonto- und Verzugsbedingungen. Diese Beschreibungen können mehrere Zeilen und sowohl unstrukturierten als auch strukturierten Text beinhalten, wobei der unstrukturierte Text keine Nummernzeichen (#) enthalten darf.
Bei Angaben zur Gewährung von Skonto oder zur Berechnung von Verzugszinsen muss die Darstellung wie folgt erfolgen: Im ersten Segment „SKONTO“ oder „VERZUG“, im zweiten „TAGE=n“, im dritten „PROZENT=n“, wobei die Prozentzahlen ohne Vorzeichen und mit einem Punkt von zwei Nachkommastellen zu trennen sind. Bezieht sich der zu berechnende Betrag nicht auf den vollständigen, fälligen Betrag (BT-115, „fälliger Betrag“), sondern nur auf einen Teil davon, ist der Basiswert für die Berechnung von Skonto oder Verzugszinsen als viertes Segment „BASISBETRAG=n“ gemäß dem semantischen Datentyp Amount anzugeben.
Beispiel fuer BT-20: #SKONTO#TAGE=14#PROZENT=3.00#
Dim PaymentTermsDescription As String = "#SKONTO#TAGE=14#PROZENT=3.00#" 'BT-20
Dim DueDate As String = alo.TodayDate.Document_Date 'BT-9
Dim DirectDebitMandateID As String = "" 'BT-89
alo.AddTradePaymentTerms(PaymentTermsDescription, DueDate, alo.TodayDate.Document_DateFormat, DirectDebitMandateID)
Natuerlich koennen Sie die PaymentTerms auch auslesen:
If alo.TradePaymentTermsCount > 0 Then
For i = 0 To alo.TradePaymentTermsCount
Dim index As Long
Dim Description As String = ""
Dim ActualDiscountAmount As String = ""
Dim tCalculationPercent As String = ""
Dim ttDirectDebitMandateID As String = ""
Dim tDueDate As String = ""
Dim BasisDateTime As String = ""
Call alo.TradePaymentTerm(index, Description, ActualDiscountAmount, tCalculationPercent, ttDirectDebitMandateID, BasisDateTime, tDueDate)
Next i
End If