How to include early payment discounts (skonto) in a UBL invoice: the right elements, calculation and pitfalls.
An early payment discount, also known as skonto, is a price advantage you offer when the buyer pays the invoice within a shorter period. Think of "2% discount for payment within 14 days". This is a common arrangement in business, but correctly including it in a UBL invoice requires attention. The discount is not reflected in the invoice amount itself, but described separately.
With early payment discounts, the full invoice amount (including VAT) remains in the invoice totals. The discount is described in the PaymentTerms element as conditional information: if the buyer pays on time, they may deduct a certain amount or percentage.
This means the PayableAmount on the invoice is always the full amount. The buyer applies the discount themselves when making the payment. The invoice itself is not credited or adjusted.
Early payment discounts are included via a combination of two elements:
The PaymentTerms element contains the human-readable description of the discount arrangement:
<cac:PaymentTerms>
<cbc:Note>2% discount for payment within 14 days, net 30 days</cbc:Note>
</cac:PaymentTerms>
This field is free text. The receiver sees this text in their system and can apply the discount accordingly.
The UBL 2.1 specification contains elements such as SettlementDiscountPercent and SettlementDiscountAmount in the CommonAggregateComponents. These elements technically exist, but using them generates a WARNING in Peppol BIS V3 and SI 2.0 validation (rule UBL-CR-460). The reason: receiving software often has not implemented these fields, so the information is lost. Moreover, warnings in Peppol validation are regularly converted to fatal errors over time, meaning invoices with these elements may be rejected in the future.
The EN 16931 standard deliberately did not include early payment discount as a semantic element. An early payment discount is a conditional, predictive rule (if the buyer pays on time), not a fact at the time of invoicing. The standard models only data that can be unambiguously derived from the invoice for automated processing.
The safest and most future-proof way to include early payment discounts is via the PaymentTerms/Note field with a structured notation. The German SKONTO notation is the de facto standard for this:
<cac:PaymentTerms>
<cbc:Note>
#SKONTO#TAGE=14#PROZENT=2.00#
Net within 30 days
</cbc:Note>
</cac:PaymentTerms>
In this example: 2% discount for payment within 14 days. After the SKONTO line, you can add additional free text. The EN 16931 standard states about PaymentTerms/Note: "This business term may convey payment conditions like due-date, discount conditions etc., but it is free text in the model." There is no validation on this field, except in Germany where the SKONTO notation is formally expected.
Tip: even if you do not invoice German parties, the SKONTO notation is a good choice. The format is unambiguous, machine-readable and recognised by an increasing number of receiving systems.
A frequently asked question: over which amount do you calculate VAT when an early payment discount applies?
The European directive is clear on this: VAT is calculated on the amount actually paid. In practice, there are two approaches:
Method 1: VAT on the full amount. The invoice contains VAT on the total amount. If the buyer uses the discount, the VAT difference is processed via a correction or a separate credit note. This is the most common method in the Netherlands.
Method 2: VAT on the discounted amount. VAT is calculated directly on the amount after deduction of the discount. This is less common and can lead to complications if the buyer ultimately does not pay on time.
Important: if in doubt about the VAT treatment of early payment discounts, it is advisable to consult your accountant or tax adviser. The correct method depends on your specific situation and any agreements with the buyer.
Suppose you invoice 1,000 euros excluding VAT, with 21% VAT and 2% early payment discount for payment within 14 days.
<cac:PaymentTerms>
<cbc:Note>2% discount for payment within 14 days, net within 30 days</cbc:Note>
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21.00</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1210.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">1210.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
The invoice amount is 1,210 euros. The 2% discount (24.20 euros including VAT) is applied by the buyer at the time of payment. The full amount appears on the invoice.
Deducting the discount amount from PayableAmount. This is incorrect. PayableAmount must always be the undiscounted amount. The discount is conditional and only becomes effective upon payment.
Confusing early payment discount with invoice discount. An invoice discount (AllowanceCharge) is an unconditional discount already reflected in the invoice amount. An early payment discount is conditional and is not deducted from the invoice amount.
Not including PaymentTerms. If you offer an early payment discount but do not mention it on the invoice, the buyer cannot know that a discount is available. Always include the conditions in the PaymentTerms element.
Tip: when you create an invoice manually via the eConnect platform, you can include payment conditions in the "Payment conditions" field. This is automatically translated into the PaymentTerms element in the UBL invoice.
Validate invoice