Finvoice 1.3, 2.0, 2.01 and non-EN16931 version of Finvoice 3.0 have only XSD validation.
XSD validation verifies the structure of the document, and performs simple data type verifications for the given values, but does not recognize any calculation or logic errors.
Finvoice implementation guide is not clear how to generate credit notes. Point of this guide is to provide understandable guidelines how to create a one.
Implementation guideline does not define calculation logic for RowVatExcludedAmountelement, but is indirectly mentioned in Finvoice XLS data list files. In all versions the logic is following:
Amount multiplied from quantity, unitprice (Row Discount deducted)
Though the logic is not up to date. It is supposed to include also row charge details (RowChargeDetails).
Taking that in to the account, the logic is following:
RowVatExcludedAmount = (InvoicedQuantity * UnitPriceNetAmount) + row charges - row discounts
Invoice line unit price net amount (UnitPriceNetAmount
) is expected to be always positive and unit quantity (InvoicedQuantity
) is either positive or negative. EN16931 standard follows the same rule.
The invoice line unit price amount must to be negative if invoice line VAT excluded amount is negative.
Example has unit price discount, row discount and row charge
Calculation logic is following:
UnitPriceNetAmount = UnitPriceAmount - UnitPriceDiscountAmount
RowVatExcludedAmount = (InvoicedQuantity * UnitPriceNetAmount) - (RowDiscountAmount or RowProgressiveDiscountDetails/RowDiscountAmount) + (RowChargeDetails/Amount)
Let’s say that we have following original invoice line:
<InvoiceRow>
<ArticleName>Tuote/palvelu</ArticleName>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="C62">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR" UnitPriceUnitCode="kpl" QuantityUnitCodeUN="C62">110,00</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">10,00</UnitPriceDiscountAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">100,00</UnitPriceNetAmount>
<RowDiscountPercent>55,0</RowDiscountPercent> <!-- Row discount, if there would be need for multiple use RowProgressiveDiscountDetails 2..n -->
<RowDiscountAmount AmountCurrencyIdentifier="EUR">55,00</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">100,00</RowDiscountBaseAmount>
<RowDiscountTypeText>Alennus 1</RowDiscountTypeText>
<RowChargeDetails> <!-- Row charge 0..n -->
<ReasonText>Lisäkulu 1</ReasonText>
<Amount AmountCurrencyIdentifier="EUR">50,00</Amount>
</RowChargeDetails>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">22,80</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">95,00</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">117,80</RowAmount>
</InvoiceRow>
The same row in credit note:
<InvoiceRow>
<ArticleName>Tuote/palvelu</ArticleName>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="C62">-1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR" UnitPriceUnitCode="kpl" QuantityUnitCodeUN="C62">110,00</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">10,00</UnitPriceDiscountAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">100,00</UnitPriceNetAmount>
<RowDiscountPercent>55,0</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">-55,00</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">-100,00</RowDiscountBaseAmount>
<RowDiscountTypeText>Alennus 1</RowDiscountTypeText>
<RowChargeDetails>
<ReasonText>Lisäkulu 1</ReasonText>
<Amount AmountCurrencyIdentifier="EUR">-50,00</Amount>
</RowChargeDetails>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">-22,80</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">-95,00</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">-117,80</RowAmount>
</InvoiceRow>
Or the same row in credit note without row discounts and/or charges:
<InvoiceRow>
<ArticleName>Tuote/palvelu</ArticleName>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="C62">-1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR" UnitPriceUnitCode="kpl" QuantityUnitCodeUN="C62">95,00</UnitPriceAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">95,00</UnitPriceNetAmount>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">-22,80</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">-95,00</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">-117,80</RowAmount>
</InvoiceRow>
When invoice recipient details (InvoiceRecipientPartyDetails
) are provided, we expect it to be the entity who should receive the invoice (via e-invoice, email or print).
There are requirements in Maventa side what details the entity should have in order to route it successfully:
Invoice recipient details (InvoiceRecipientPartyDetails
) are sometimes incomplete.
Complement invoice recipient from buyer details (BuyerPartyDetails
) in Finvoice 1.x/2.x/3.0 versions if possible.
Invoice recipient details are complemented with buyer details when:
NAME
is not the same as Name
)SOAP/To identifier
or MesasgeTransmissionDetails/MessageReceiver/ToIdentifier
does not exist or is equal with valueInvoice recipient details are not complemented with buyer details when:
<?xml version="1.0" encoding="ISO-8859-15"?>
<Finvoice Version="1.3">
<InvoiceRecipientCommunicationDetails>
<InvoiceRecipientPhoneNumberIdentifier>123456</InvoiceRecipientPhoneNumberIdentifier>
<InvoiceRecipientEmailaddressIdentifier>email@email.com</InvoiceRecipientEmailaddressIdentifier>
</InvoiceRecipientCommunicationDetails>
<BuyerPartyDetails>
<BuyerPartyIdentifier>3333333-3</BuyerPartyIdentifier>
<BuyerOrganisationName>Name1</BuyerOrganisationName>
<BuyerOrganisationName>Name2</BuyerOrganisationName>
<BuyerOrganisationTaxCode>FI33333333</BuyerOrganisationTaxCode>
<BuyerPostalAddressDetails>
<BuyerStreetName>StreetName</BuyerStreetName>
<BuyerTownName>TownName</BuyerTownName>
<BuyerPostCodeIdentifier>11111</BuyerPostCodeIdentifier>
<CountryCode>FI</CountryCode>
<CountryName>Finland</CountryName>
</BuyerPostalAddressDetails>
</BuyerPartyDetails>
<BuyerCommunicationDetails>
<BuyerPhoneNumberIdentifier>123456</BuyerPhoneNumberIdentifier>
<BuyerEmailaddressIdentifier>email@email.com</BuyerEmailaddressIdentifier>
</BuyerCommunicationDetails>
<InvoiceDetails>
<InvoiceTypeCode>INV01</InvoiceTypeCode>
</InvoiceDetails>
</Finvoice>
<?xml version="1.0" encoding="ISO-8859-15"?>
<Finvoice Version="1.3">
<InvoiceRecipientPartyDetails>
<InvoiceRecipientPartyIdentifier>3333333-3</InvoiceRecipientPartyIdentifier>
<InvoiceRecipientOrganisationName>Name1</InvoiceRecipientOrganisationName>
<InvoiceRecipientOrganisationName>Name2</InvoiceRecipientOrganisationName>
<InvoiceRecipientOrganisationTaxCode>FI33333333</InvoiceRecipientOrganisationTaxCode>
<InvoiceRecipientPostalAddressDetails>
<InvoiceRecipientStreetName>StreetName</InvoiceRecipientStreetName>
<InvoiceRecipientTownName>TownName</InvoiceRecipientTownName>
<InvoiceRecipientPostCodeIdentifier>11111</InvoiceRecipientPostCodeIdentifier>
<CountryCode>FI</CountryCode>
<CountryName>Finland</CountryName>
</BuyerPostalAddressDetails>
</InvoiceRecipientPartyDetails>
<InvoiceRecipientCommunicationDetails>
<InvoiceRecipientPhoneNumberIdentifier>123456</InvoiceRecipientPhoneNumberIdentifier>
<InvoiceRecipientEmailaddressIdentifier>email@email.com</InvoiceRecipientEmailaddressIdentifier>
</InvoiceRecipientCommunicationDetails>
<BuyerPartyDetails>
<BuyerPartyIdentifier>3333333-3</BuyerPartyIdentifier>
<BuyerOrganisationName>Name1</BuyerOrganisationName>
<BuyerOrganisationName>Name2</BuyerOrganisationName>
<BuyerOrganisationTaxCode>FI33333333</BuyerOrganisationTaxCode>
<BuyerPostalAddressDetails>
<BuyerStreetName>StreetName</BuyerStreetName>
<BuyerTownName>TownName</BuyerTownName>
<BuyerPostCodeIdentifier>11111</BuyerPostCodeIdentifier>
<CountryCode>FI</CountryCode>
<CountryName>Finland</CountryName>
</BuyerPostalAddressDetails>
</BuyerPartyDetails>
<BuyerCommunicationDetails>
<BuyerPhoneNumberIdentifier>123456</BuyerPhoneNumberIdentifier>
<BuyerEmailaddressIdentifier>email@email.com</BuyerEmailaddressIdentifier>
</BuyerCommunicationDetails>
<InvoiceDetails>
<InvoiceTypeCode>INV01</InvoiceTypeCode>
</InvoiceDetails>
</Finvoice>
There are many ways to give discounts in Finvoice. Here is a complete invoice with multiple invoice rows with different discounts.
Note that the invoice is not EN16931 valid since the total amounts in the InvoiceDetails
and EpiDetails
element are not inline with the invoice rows.
<?xml version="1.0" encoding="ISO-8859-15"?>
<Finvoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="3.0" xsi:noNamespaceSchemaLocation="Finvoice3.0.xsd">
<MessageTransmissionDetails>
<MessageSenderDetails>
<FromIdentifier>003721291126</FromIdentifier>
<FromIntermediator>003721291126</FromIntermediator>
</MessageSenderDetails>
<MessageReceiverDetails>
<ToIdentifier>003721291126</ToIdentifier>
<ToIntermediator>003721291126</ToIntermediator>
</MessageReceiverDetails>
<MessageDetails>
<MessageIdentifier>9958</MessageIdentifier>
<MessageTimeStamp>2021-04-23T13:23:35</MessageTimeStamp>
<SpecificationIdentifier>EN16931</SpecificationIdentifier>
</MessageDetails>
</MessageTransmissionDetails>
<SellerPartyDetails>
<SellerPartyIdentifier>2129112-6</SellerPartyIdentifier>
<SellerPartyIdentifierUrlText>http://www.ytj.fi</SellerPartyIdentifierUrlText>
<SellerOrganisationName>Testiyritys Oy</SellerOrganisationName>
<SellerOrganisationTaxCode>FI21291126</SellerOrganisationTaxCode>
<SellerPostalAddressDetails>
<SellerStreetName>Pasilan asema-aukio 1</SellerStreetName>
<SellerTownName>Helsinki</SellerTownName>
<SellerPostCodeIdentifier>00520</SellerPostCodeIdentifier>
<CountryCode>FI</CountryCode>
</SellerPostalAddressDetails>
</SellerPartyDetails>
<SellerOrganisationUnitNumber>003721291126</SellerOrganisationUnitNumber>
<SellerContactPersonName>Tuki</SellerContactPersonName>
<SellerInformationDetails>
<SellerHomeTownName>Helsinki</SellerHomeTownName>
<SellerPhoneNumber>+3580501234567</SellerPhoneNumber>
<SellerAccountDetails>
<SellerAccountID IdentificationSchemeName="IBAN">FI8555360620029704</SellerAccountID>
<SellerBic IdentificationSchemeName="BIC">OKOYFIHH</SellerBic>
</SellerAccountDetails>
</SellerInformationDetails>
<InvoiceRecipientPartyDetails>
<InvoiceRecipientOrganisationName>Testi vastaanottaja</InvoiceRecipientOrganisationName>
<InvoiceRecipientCode>1001</InvoiceRecipientCode>
<InvoiceRecipientPostalAddressDetails>
<InvoiceRecipientStreetName>Pasilan asema-aukio 1</InvoiceRecipientStreetName>
<InvoiceRecipientTownName>Helsinki</InvoiceRecipientTownName>
<InvoiceRecipientPostCodeIdentifier>00520</InvoiceRecipientPostCodeIdentifier>
<CountryCode>FI</CountryCode>
</InvoiceRecipientPostalAddressDetails>
</InvoiceRecipientPartyDetails>
<InvoiceRecipientLanguageCode>fi</InvoiceRecipientLanguageCode>
<InvoiceRecipientCommunicationDetails>
<InvoiceRecipientPhoneNumberIdentifier>+3580501234567</InvoiceRecipientPhoneNumberIdentifier>
</InvoiceRecipientCommunicationDetails>
<BuyerPartyDetails>
<BuyerOrganisationName>Testi ostaja</BuyerOrganisationName>
<BuyerCode>1001</BuyerCode>
<BuyerPostalAddressDetails>
<BuyerStreetName>Pasilan asema-aukio 1</BuyerStreetName>
<BuyerTownName>Helsinki</BuyerTownName>
<BuyerPostCodeIdentifier>00520</BuyerPostCodeIdentifier>
<CountryCode>FI</CountryCode>
</BuyerPostalAddressDetails>
</BuyerPartyDetails>
<InvoiceDetails>
<InvoiceTypeCode>INV01</InvoiceTypeCode>
<InvoiceTypeCodeUN>380</InvoiceTypeCodeUN>
<InvoiceTypeText>LASKU</InvoiceTypeText>
<OriginCode>Original</OriginCode>
<InvoiceNumber>9958</InvoiceNumber>
<InvoiceDate Format="CCYYMMDD">20211012</InvoiceDate>
<SellersBuyerIdentifier>1001</SellersBuyerIdentifier>
<SalesPersonName>Myyjä</SalesPersonName>
<RowsTotalVatExcludedAmount AmountCurrencyIdentifier="EUR">40,32</RowsTotalVatExcludedAmount>
<InvoiceTotalVatExcludedAmount AmountCurrencyIdentifier="EUR">40,32</InvoiceTotalVatExcludedAmount>
<InvoiceTotalVatAmount AmountCurrencyIdentifier="EUR">9,68</InvoiceTotalVatAmount>
<InvoiceTotalVatIncludedAmount AmountCurrencyIdentifier="EUR">50,00</InvoiceTotalVatIncludedAmount>
<VatSpecificationDetails>
<VatBaseAmount AmountCurrencyIdentifier="EUR">40,32</VatBaseAmount>
<VatRatePercent>24,00</VatRatePercent>
<VatCode>S</VatCode>
<VatRateAmount AmountCurrencyIdentifier="EUR">9,68</VatRateAmount>
</VatSpecificationDetails>
<PaymentTermsDetails>
<PaymentTermsFreeText>30 pv netto</PaymentTermsFreeText>
<InvoiceDueDate Format="CCYYMMDD">20210523</InvoiceDueDate>
<PaymentOverDueFineDetails>
<PaymentOverDueFinePercent>7,50</PaymentOverDueFinePercent>
</PaymentOverDueFineDetails>
</PaymentTermsDetails>
</InvoiceDetails>
<!-- Invoice row without any discounts and charges -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceNetAmount>
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">19,36</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">80,65</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">100,01</RowAmount>
</InvoiceRow>
<!-- Invoice row with row discount -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceNetAmount>
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">40,33</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">80,65</RowDiscountBaseAmount>
<RowDiscountTypeCode>95</RowDiscountTypeCode>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">9,68</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">40,32</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">50,00</RowAmount>
</InvoiceRow>
<!-- Invoice row with unit discount -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceDiscountAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceNetAmount>
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">9,68</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">40,32</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">50,00</RowAmount>
</InvoiceRow>
<!-- Invoice row with unit discount and with one row discount -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceDiscountAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceNetAmount>
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">20,16</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">40,32</RowDiscountBaseAmount>
<RowDiscountTypeCode>95</RowDiscountTypeCode>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">4,84</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">20,16</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">25,00</RowAmount>
</InvoiceRow>
<!-- Invoice row with multiple row discounts and with one fixed discount -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceNetAmount> <!-- UnitPriceAmount -->
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowProgressiveDiscountDetails> <!-- First discount -->
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">40,33</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">80,65</RowDiscountBaseAmount> <!-- UnitPriceNetAmount -->
<RowDiscountTypeCode>95</RowDiscountTypeCode>
</RowProgressiveDiscountDetails>
<RowProgressiveDiscountDetails> <!-- Second discount -->
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">20,16</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">40,32</RowDiscountBaseAmount> <!-- Previous RowDiscountBaseAmount - RowDiscountAmount total -->
<RowDiscountTypeCode>95</RowDiscountTypeCode>
</RowProgressiveDiscountDetails>
<RowProgressiveDiscountDetails> <!-- Third fixed discount -->
<RowDiscountAmount AmountCurrencyIdentifier="EUR">10,16</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">20,16</RowDiscountBaseAmount> <!-- Previous RowDiscountBaseAmount - RowDiscountAmount total -->
<RowDiscountTypeCode>95</RowDiscountTypeCode>
</RowProgressiveDiscountDetails>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">2,40</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">10,00</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">12,40</RowAmount>
</InvoiceRow>
<!-- Invoice row with unit discount and with multiple row discounts (Progressive) -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</DeliveredQuantity>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="EA">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR">80,64516</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceDiscountAmount>
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">40,32258</UnitPriceNetAmount> <!-- UnitPriceAmount - UnitPriceDiscountAmount -->
<RowPositionIdentifier>1</RowPositionIdentifier>
<RowSellerAccountText>3000</RowSellerAccountText>
<RowProgressiveDiscountDetails> <!-- First discount -->
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">20,16</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">40,32</RowDiscountBaseAmount> <!-- UnitPriceNetAmount -->
<RowDiscountTypeCode>95</RowDiscountTypeCode>
</RowProgressiveDiscountDetails>
<RowProgressiveDiscountDetails> <!-- Second discount -->
<RowDiscountPercent>50,00</RowDiscountPercent>
<RowDiscountAmount AmountCurrencyIdentifier="EUR">10,08</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">20,16</RowDiscountBaseAmount> <!-- Previous RowDiscountBaseAmount - RowDiscountAmount total -->
<RowDiscountTypeCode>95</RowDiscountTypeCode>
</RowProgressiveDiscountDetails>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">2,42</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">10,08</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">12,50</RowAmount>
</InvoiceRow>
<!-- Invoice row with unit discount, one row discount and row charge -->
<InvoiceRow>
<ArticleName>Testituote</ArticleName>
<InvoicedQuantity QuantityUnitCode="kpl" QuantityUnitCodeUN="C62">1,00</InvoicedQuantity>
<UnitPriceAmount AmountCurrencyIdentifier="EUR" UnitPriceUnitCode="kpl" QuantityUnitCodeUN="C62">110,00</UnitPriceAmount>
<UnitPriceDiscountAmount AmountCurrencyIdentifier="EUR">10,00</UnitPriceDiscountAmount> <!-- Unit discount -->
<UnitPriceNetAmount AmountCurrencyIdentifier="EUR">100,00</UnitPriceNetAmount>
<RowDiscountPercent>55,0</RowDiscountPercent> <!-- Row discount -->
<RowDiscountAmount AmountCurrencyIdentifier="EUR">55,00</RowDiscountAmount>
<RowDiscountBaseAmount AmountCurrencyIdentifier="EUR">100,00</RowDiscountBaseAmount>
<RowDiscountTypeText>Alennus 1</RowDiscountTypeText>
<RowChargeDetails> <!-- One row charge (possible to have 0..n) -->
<ReasonText>Lisäkulu 1</ReasonText>
<Amount AmountCurrencyIdentifier="EUR">45,00</Amount>
</RowChargeDetails>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowVatCode>S</RowVatCode>
<RowVatAmount AmountCurrencyIdentifier="EUR">22,80</RowVatAmount>
<RowVatExcludedAmount AmountCurrencyIdentifier="EUR">95,00</RowVatExcludedAmount>
<RowAmount AmountCurrencyIdentifier="EUR">117,80</RowAmount>
</InvoiceRow>
<EpiDetails>
<EpiIdentificationDetails>
<EpiDate Format="CCYYMMDD">20211012</EpiDate>
<EpiReference>202100000099586</EpiReference>
</EpiIdentificationDetails>
<EpiPartyDetails>
<EpiBfiPartyDetails>
<EpiBfiIdentifier IdentificationSchemeName="BIC">OKOYFIHH</EpiBfiIdentifier>
</EpiBfiPartyDetails>
<EpiBeneficiaryPartyDetails>
<EpiNameAddressDetails>Testiyritys Oy</EpiNameAddressDetails>
<EpiBei>2129112-6</EpiBei>
<EpiAccountID IdentificationSchemeName="IBAN">FI8555360320069704</EpiAccountID>
</EpiBeneficiaryPartyDetails>
</EpiPartyDetails>
<EpiPaymentInstructionDetails>
<EpiRemittanceInfoIdentifier IdentificationSchemeName="SPY">202100000099586</EpiRemittanceInfoIdentifier>
<EpiInstructedAmount AmountCurrencyIdentifier="EUR">50,00</EpiInstructedAmount>
<EpiCharge ChargeOption="SHA"/>
<EpiDateOptionDate Format="CCYYMMDD">20210523</EpiDateOptionDate>
<EpiPaymentMeansCode>58</EpiPaymentMeansCode>
</EpiPaymentInstructionDetails>
</EpiDetails>
</Finvoice>