Finvoice — national B2B XML standard since 2003
Finvoice is the XML e-invoicing format first published in 2003 by Tieke (Finnish national information society development centre) and Finanssiala (Federation of Finnish Financial Services). Europe's first mass banking format, it still structures more than 95% of Finnish B2B invoices — the highest voluntary adoption rate in the world.
History — from the 2003 banking format to Finvoice 3.0
Finland was the first country in the world to publish, in 2003, an XML e-invoicing standard driven by its banks. The Federation of Finnish Financial Services (Suomen Pankkiyhdistys, renamed Finanssiala ry in 2007) released Finvoice 1.0 in partnership with Tieke. The rationale was banking: Finnish banks had already digitised domestic transfers in the 1980s, so the move to e-invoice followed naturally.
2003 | Finanssiala (then Suomen Pankkiyhdistys) + Tieke publish Finvoice 1.0
| — the first XML interbank e-invoicing standard in Europe.
| Hosted on finvoice.info, shared governance banks + Tieke.
|
2005-2008 | Mass adoption by Finnish banking operators
| (Nordea, OP-Pohjola, Sampo, Aktia, S-Pankki). Finvoice becomes
| the de facto main B2B rail in the country.
|
2010 | Finvoice 2.0 — major restructuring, alignment with
| Directive 2010/45/EU (EU e-invoicing recast).
|
2014 | Finvoice 2.01 — patch aligned with Directive 2014/55/EU
| (mandatory B2G e-invoicing for contracting authorities).
|
2017 | Finvoice 3.0 — overhaul aligned with the European standard
| EN 16931. UNCL codes, Buyer/Seller classes, extended scope.
|
2018 | Official coexistence Finvoice + PEPPOL BIS Billing 3.0.
| Both formats declared interoperable — a bidirectional
| converter is published on tieke.fi.
|
2020 | Act 241/2019 enters force on 1 April: every Finnish taxable
| person has the legal right to demand an EN 16931-compliant
| invoice — de facto covers Finvoice 3.0 and PEPPOL BIS 3.0.
|
2023-2026 | Finvoice 3.0.4 (minor patches). Roadmap integrated with the
| Tieke + Vero.fi + Valtiokonttori Real-Time Economy. ViDA 2028
| preparation. Governance — Tieke + Finanssiala
The standard is co-governed. Tieke (Tietoyhteiskunnan kehittämiskeskus ry — Finnish national information society development centre) maintains the operator registry, publishes the XSD schemas and the user manual. Finanssiala ry (Federation of Financial Services, former Suomen Pankkiyhdistys) governs functional evolutions in coordination with its member banks (OP, Nordea, Danske Bank, Aktia, S-Pankki, Säästöpankki).
A Tieke technical group (Verkkolaskufoorumi — the "e-invoice forum") meets four times a year and publishes release notes on tieke.fi. Any schema change goes through a public 60-day minimum comment call.
Technical schema — XML, Finvoice.xsd
Finvoice 3.0 is a single-file XML schema Finvoice.xsd
published at finanssiala.fi/aineisto/finvoice.
It defines 5 main mandatory sections:
- MessageTransmissionDetails — sender / receiver / banking intermediaries (OVT-tunnus + SWIFT BIC).
- SellerPartyDetails / BuyerPartyDetails — Y-tunnus (PRH number), name, address, VAT (FI prefix).
- InvoiceDetails — totals, currency, date, type (INV01 to INV09 for invoice, credit note, correction).
- InvoiceRow — lines with quantity, unit price, UNCL5189 classification, VAT rate.
- EpiDetails — banking section unique to Finvoice: structured Finnish payment reference (RF/Viite), IBAN, payable amount.
<?xml version="1.0" encoding="ISO-8859-15"?>
<Finvoice Version="3.0">
<MessageTransmissionDetails>
<MessageSenderDetails>
<FromIdentifier>FI1234567890</FromIdentifier>
<FromIntermediator>OKOYFIHH</FromIntermediator>
</MessageSenderDetails>
<MessageReceiverDetails>
<ToIdentifier>FI0987654321</ToIdentifier>
<ToIntermediator>NDEAFIHH</ToIntermediator>
</MessageReceiverDetails>
<MessageDetails>
<MessageIdentifier>FV-2026-04211</MessageIdentifier>
<MessageTimeStamp>2026-05-21T10:14:00+03:00</MessageTimeStamp>
</MessageDetails>
</MessageTransmissionDetails>
<SellerPartyDetails>
<SellerPartyIdentifier>1234567-8</SellerPartyIdentifier>
<SellerOrganisationName>Tampere Engineering Oy</SellerOrganisationName>
<SellerOrganisationTaxCode>FI12345678</SellerOrganisationTaxCode>
</SellerPartyDetails>
<BuyerPartyDetails>
<BuyerPartyIdentifier>0987654-3</BuyerPartyIdentifier>
<BuyerOrganisationName>Helsinki Trading Oy</BuyerOrganisationName>
</BuyerPartyDetails>
<InvoiceDetails>
<InvoiceTypeCode>INV01</InvoiceTypeCode>
<InvoiceNumber>2026/00917</InvoiceNumber>
<InvoiceDate Format="CCYYMMDD">20260521</InvoiceDate>
<InvoiceTotalVatExcludedAmount AmountCurrencyIdentifier="EUR">1200.00</InvoiceTotalVatExcludedAmount>
<InvoiceTotalVatAmount AmountCurrencyIdentifier="EUR">306.00</InvoiceTotalVatAmount>
<InvoiceTotalVatIncludedAmount AmountCurrencyIdentifier="EUR">1506.00</InvoiceTotalVatIncludedAmount>
</InvoiceDetails>
</Finvoice> Finvoice vs PEPPOL BIS 3.0
Since 2018, Finvoice and PEPPOL BIS Billing 3.0 officially coexist in Finland. The ratio is slowly shifting toward PEPPOL for cross-border flows (Sweden, Norway, Germany), but Finvoice still dominates domestic B2B:
| Dimension | Finvoice 3.0 | PEPPOL BIS 3.0 |
|---|---|---|
| Schema | Proprietary XML (Finvoice.xsd) | UBL 2.1 + CIUS |
| Encoding | ISO-8859-15 or UTF-8 | UTF-8 mandatory |
| Transport | Finnish banking network (Tieke operators) | AS4 + PEPPOL SMP/SML |
| Address | OVT-tunnus (12-17 alphanumeric chars) | iso6523-actorid-upis + ICD 0037 (Y-tunnus) |
| Native banking reference | Yes (EpiDetails + Viitenumero) | No — handled via PaymentMeans |
| Cross-border | Weak — mainly Nordic countries + linked operators | Native (78 Authorities) |
| B2B FI adoption | ~95% | ~12% (growing ~3 pts/year) |
Adoption — 95% of B2B invoices
- ~600 million Finvoice invoices per year in 2024 according to Tieke (aggregated volume reported by 30+ accredited operators).
- ~95% of Finnish B2B invoices are already in Finvoice format (structured XML) — the highest voluntary adoption rate in the world per the Billentis Report 2024.
- ~5% residual PDF + paper — primarily micro-enterprises without ERP, and specific sectors (craft, liberal professions toiminimi below the €15K VAT threshold).
- ~12% in PEPPOL BIS 3.0 and growing, mostly for flows to Sweden (Bolagsverket), Norway (EHF / Difi), Denmark (NemHandel), and multinational corporations.
Common pitfalls
- ISO-8859-15 encoding. Old Finvoice 1.0 and 2.0 flows use ISO-8859-15 — still allowed in 3.0 for backward compatibility. Naïve UTF-8 consumption without explicit declaration breaks ä, ö, å characters.
- Confusing OVT-tunnus and Y-tunnus. OVT-tunnus = e-invoice routing address (12-17 chars), embedded in MessageTransmissionDetails. Y-tunnus = legal company identifier from PRH (NNNNNNN-N), embedded in SellerPartyIdentifier.
- Forgetting the Viitenumero. Without the structured payment reference in EpiDetails, automatic bank reconciliation fails on the recipient side — the invoice arrives but does not flow into the bank-accounting module. Frustration guaranteed.
- Thinking Finvoice = PEPPOL. Both formats coexist but do not substitute. A recipient declared "Finvoice-only" at an operator will not receive a PEPPOL UBL. Conversion must be arranged at the sender's SMP.
- Wrong
InvoiceTypeCode. INV01 = standard commercial invoice, INV02 = credit note, INV03 = correction. Mixing INV01 and INV02 skews VAT analyses at Vero.fi.