KMD INF SAF-T — universal fiscal reporting since 2014
Estonia made KMD INF mandatory on 1 November 2014 — a monthly XML report inspired by the OECD SAF-T (Standard Audit File for Tax) model. Every VAT-registered business must declare, line by line, every issued and received invoice above EUR 1,000. Estonia thus became, after Portugal (2008), the second country worldwide to mandate universal SAF-T-style reporting — and the first to couple it directly with the monthly VAT return.
History — from paper filings to SAF-T XML in 2014
The KMD (Käibedeklaratsioon — Estonian VAT return) has existed since 1994 with the introduction of Estonia's VAT. Until 2013 it was limited to monthly totals per rate. The 2013 amendment introduces an INF annex ("informatsioon") that details every invoice above EUR 1,000.
EMTA explicitly drew inspiration from the OECD SAF-T model and from Portugal's SAF-T-PT (in force since 2008). Estonia chose a tighter scope than Portugal (invoices only, not the whole accounting journal) but a higher frequency (monthly vs on-demand), which is what enabled its automatic cross-check between seller and buyer.
2005 | OECD publishes SAF-T 1.0 (Standard Audit File for Tax) —
| a model XML file for fiscal audit.
|
2008 | Portugal — first national rollout: SAF-T-PT mandatory for
| on-demand tax audits.
|
2010 | OECD publishes SAF-T 2.0 including invoice and inventory
| modules.
|
2013 | Estonia adopts an amendment to Käibemaksuseadus (VAT Act)
| introducing KMD INF as a monthly VAT-return annex.
|
2014-11-01 | KMD INF in force — universal, monthly, XML-structured.
| Threshold: line-by-line reporting of invoices > EUR 1,000.
| Estonia becomes the 2nd country worldwide to mandate
| universal SAF-T, after Portugal.
|
2015-2017 | Local ERPs (Merit Aktiva, Standard Books, SimplBooks) roll
| out automatic KMD INF generation from the accounting journal.
|
2018-2022 | Minor patches, ViDA alignment, addition of cross-VAT
| validation against VIES.
|
2024-2026 | Pre-filled Käibedeklaratsioon in eMTA based on KMD INF
| + X-Road integration for real-time controls. Governance — EMTA + OECD SAF-T
The KMD INF schema is fully governed by EMTA (Maksu- ja
Tolliamet — Estonian Tax and Customs Board). The XSD and implementation
guide are published on emta.ee. Software vendors (Merit
Aktiva, Standard Books, SimplBooks, Directo) implement native KMD INF
export.
EMTA participates in the OECD SAF-T working group and keeps consistency with SAF-T 2.0, even though the Estonian format remains narrower (invoices only). KMD INF is not strictly OECD SAF-T compliant — it is SAF-T inspired.
Schema — KMD INF XML, Part A and Part B
The KMD INF file is structured into two blocks:
- PartA — Issued invoices (sales). One line per invoice above EUR 1,000 net. Fields: customer registrikood, number, date, net total, VAT rate, VAT amount.
- PartB — Received invoices (purchases). One line per invoice above EUR 1,000 net. Fields: supplier registrikood, number, date, gross total, VAT rate, VAT amount, deductible percentage.
<?xml version="1.0" encoding="UTF-8"?>
<VATDeclaration xmlns="http://www.emta.ee/VATDeclaration"
periodYear="2026" periodMonth="05">
<Declarant>
<RegCode>12345678</RegCode>
<TaxPayerName>Tallinna Insenerituru OU</TaxPayerName>
</Declarant>
<PartA>
<!-- Issued invoices -->
<Invoice>
<DocumentNumber>2026/00917</DocumentNumber>
<CounterPartyRegNo>75006546</CounterPartyRegNo>
<CounterPartyName>Tartu Linnavalitsus</CounterPartyName>
<InvoiceDate>2026-05-15</InvoiceDate>
<TotalSumWithVAT>2440.00</TotalSumWithVAT>
<VATRate>22</VATRate>
<VATAmount>440.00</VATAmount>
</Invoice>
</PartA>
<PartB>
<!-- Received invoices -->
<Invoice>
<DocumentNumber>SUP-2026-0445</DocumentNumber>
<CounterPartyRegNo>11223344</CounterPartyRegNo>
<CounterPartyName>Hardware Estonia OU</CounterPartyName>
<InvoiceDate>2026-05-10</InvoiceDate>
<TotalSumWithVAT>1220.00</TotalSumWithVAT>
<VATRate>22</VATRate>
<VATAmount>220.00</VATAmount>
<DeductiblePercent>100</DeductiblePercent>
</Invoice>
</PartB>
</VATDeclaration> Comparison — Estonia vs Portugal vs Hungary
| Dimension | Estonia (KMD INF) | Portugal (SAF-T-PT) | Hungary (RTIR) |
|---|---|---|---|
| Entry into force | 1 Nov 2014 | 1 Jan 2008 | 1 Jul 2018 |
| Scope | Invoices > EUR 1,000 | Accounting + invoices | All invoices (since 2020) |
| Frequency | Monthly | On-demand + monthly (invoices) | Real-time (max 4 days) |
| Format | KMD INF XML | SAF-T-PT XML | NAV XML |
| VAT coupling | Yes — Käibedeklaratsioon annex | Partial — invoice SAF-T since 2013 | Decoupled — separate stream |
| OECD conformance | SAF-T 2.0 inspired | SAF-T 1.0 then 2.0 | NAV-specific |
Adoption — every business above EUR 1,000
- ~100% of Estonian VAT-registered businesses file a monthly KMD INF — as soon as at least one invoice exceeds EUR 1,000 net (EMTA, 2024).
- ~140,000 companies filed a KMD INF in 2024.
- ~99% automated XML filings via local ERPs — manual web-form filing in eMTA is marginal.
- ~6 major ERPs implement native KMD INF export: Merit Aktiva, Standard Books, SimplBooks, Directo, Erply, Pipedrive (via accounting add-on).
Common pitfalls
- Confusing KMD and KMD INF. KMD = monthly VAT return (totals per rate). KMD INF = annex with invoice-by-invoice detail. Both are filed together.
- Forgetting the EUR 1,000 threshold. Only invoices > EUR 1,000 net go in line detail. Below: "small invoices" aggregate per VAT rate.
- Wrong registrikood. The registrikood (8 digits) is required on every KMD INF line. Confusing it with isikukood or with the EE VAT number triggers immediate rejection.
- Cross-check discrepancy. If seller declares one amount and buyer another, EMTA notifies both. Repeated discrepancies trigger an audit.
- Thinking it is strict SAF-T. KMD INF is OECD-SAF-T inspired but not strictly compliant. It covers only invoices (no accounting journal, no inventory).