Vero.fi — tax integration OmaVero + APIs
Vero.fi is the public portal of Verohallinto, the Finnish tax administration. It operates the OmaVero self-service portal, monthly VAT returns (Arvonlisävero-ilmoitus), intra-EU reporting (the Finnish equivalent of France's DEB/DES), and since 2024 provides public REST APIs for programmatic submission and automatic pre-filling from Finvoice flows.
Verohallinto — governance
Verohallinto is the Finnish tax administration, State agency under the Ministry of Finance (Valtiovarainministeriö). It administers all direct and indirect taxes:
- VAT (Arvonlisävero, ALV) — basis of the structured monthly return.
- Corporate tax (Yhteisövero) — flat 20% rate.
- Personal income tax — progressive bracket, withholding via the Tulorekisteri (Incomes Register) system.
- Employer social contributions — collected jointly, filed via OmaVero.
- Stamp duty, gifts, inheritance, property taxes — secondary.
OmaVero — unified portal
OmaVero (omavero.vero.fi) is Verohallinto's self-service portal, accessible to every Finnish individual or company. Authentication via Suomi.fi (the FranceConnect equivalent), with Mobile Citizen Certificate (mobiilivarmenne), Pankkitunnus (bank identifier) or Katso (corporate certificate).
OmaVero centralises for companies:
- Monthly VAT return (Arvonlisävero-ilmoitus).
- Monthly employer social contribution return (Työnantajan vakuutusmaksuilmoitus).
- Intra-EU recapitulative statement (Yhteenvetoilmoitus tavaroista ja palveluista).
- Yearly corporate tax return (Yhteisön veroilmoitus).
- Tax account lookup (Verotili), balances, VAT refunds, payments.
- Tax compliance certificate request (Veroista vapaaksi todistus).
ALV-ilmoitus — VAT return
The Finnish monthly VAT return is highly structured — it mandatorily breaks operations down by rate (25.5% standard, 14% reduced, 10% super-reduced, 0% zero-rated) and by nature (Kotimaa = domestic, EUKauppa = intra-EU, Vienti = exports outside EU).
<!-- Simplified Finnish monthly ALV return schema -->
<!-- Submitted via OmaVero (web form) or "Apitietopalvelu" API -->
<AlvIlmoitus version="2.0" kausi="2026-04">
<Ilmoittaja>
<Ytunnus>1234567-1</Ytunnus>
</Ilmoittaja>
<Kotimaa>
<Veron25_5Prosenttia>
<Vero>30600.00</Vero>
<Peruste>120000.00</Peruste>
</Veron25_5Prosenttia>
<Veron14Prosenttia>
<Vero>1400.00</Vero>
<Peruste>10000.00</Peruste>
</Veron14Prosenttia>
<Veron10Prosenttia>
<Vero>500.00</Vero>
<Peruste>5000.00</Peruste>
</Veron10Prosenttia>
</Kotimaa>
<EUKauppa>
<TavarakauppaEU>
<Myynti>45000.00</Myynti>
<Osto>28000.00</Osto>
<OstojenVero>7140.00</OstojenVero>
</TavarakauppaEU>
</EUKauppa>
<VahennettavaVero>15300.00</VahennettavaVero>
<MaksettavaVero>24340.00</MaksettavaVero>
</AlvIlmoitus> - Deadline: filing no later than the 12th of the following month for monthly returns (e.g. April → 12 May). If the 12th is a holiday, postponed to the next business day.
- Payment: VAT due balance must be paid by the same deadline (12th of the following month), via bank transfer to the company-specific Verotili account.
- Late penalty: late interest (viivästyskorko, ~7% /year), default penalty (myöhästymismaksu) €15 to €15,000 depending on the delay and amount.
Intra-EU reporting (VIES)
Intra-EU B2B operations (goods deliveries and service provisions to an EU taxable person) must be declared via the Yhteenvetoilmoitus (intra-EU recapitulative statement), the Finnish equivalent of France's DEB/DES. Monthly periodicity if turnover > €50K/quarter, quarterly otherwise.
The recapitulative statement has been electronic-only since 2010 — no paper version. Data is forwarded to VIES (VAT Information Exchange System) at the European Commission and accessible to other EU tax administrations.
Vero public APIs
Since 2024, Vero.fi opens a public Apitietopalvelu.vero.fi API for software vendors and large enterprises wishing to submit returns programmatically (without the OmaVero portal):
- Authentication: OAuth 2.0 client_credentials, Verohallinto-signed JWT.
- Main endpoints:
- POST /alv-ilmoitus/v1/submit — ALV return
- POST /yhteenvetoilmoitus/v1/submit — intra-EU recapitulative statement
- GET /verotili/v1/saldo — tax account balance
- GET /yritys/v1/{ytunnus}/tila — VAT status of a Y-tunnus
- Rate limits: 100 req/min per client, raise possible on request for Tieke operators.
- Test environment: apitietopalvelu-test.vero.fi for pre-production validation.
# Vero public API — Apitietopalvelu (apitietopalvelu.vero.fi)
# OAuth2 client_credentials grant, 1h JWT token.
# Docs: vero.fi/tietoa-verohallinnosta/yhteystiedot-ja-asiointi/avoin-data/
POST /alv-ilmoitus/v1/submit
Content-Type: application/json
Authorization: Bearer <jwt-token>
{
"kausi": "2026-04",
"ytunnus": "1234567-1",
"kotimaa": {
"vero255": { "vero": 30600.00, "peruste": 120000.00 },
"vero14": { "vero": 1400.00, "peruste": 10000.00 },
"vero10": { "vero": 500.00, "peruste": 5000.00 }
},
"euKauppa": {
"tavarakauppaMyynti": 45000.00,
"tavarakauppaOsto": 28000.00,
"ostojenVero": 7140.00
},
"vahennettavaVero": 15300.00,
"maksettavaVero": 24340.00
}
# Response 201
{
"ilmoitusId": "ALV-2026-04-1234567-1",
"tila": "VASTAANOTETTU",
"vastaanottoAika": "2026-05-12T08:14:32+03:00"
} Common pitfalls
- Confusing Y-tunnus and FI VAT. Y-tunnus = 1234567-1, FI VAT = FI12345671. The Vero APIs accept both but often return the different format in the response.
- Forgetting the 25.5% rate. The standard rate
was raised from 24% to 25.5% on 1 September 2024. Returns prior
to September 2024 still use
vero24, those after usevero255. Common error in ERP migrations. - Not splitting Kotimaa vs EUKauppa. An intra-EU B2B delivery must be reported separately, exempt at 0% on the seller side (with the customer's FI VAT mention), and declared in the Yhteenvetoilmoitus. Many foreign ERPs wrongly report on Kotimaa at 0%, skewing VIES checks.
- Forgetting the periodicity threshold. A turnover crossing €100K over 12 months rolls from quarterly to monthly — the switch is automatic at Vero, but the company must adjust its internal calendar (and its ERP).
- Thinking APIs are public for everything. The Apitietopalvelu APIs are public for submission, but for reads (status, history) require an OmaVero mandate — the software vendor must have received an explicit company delegation.