EMTA TSD Generator
Make the XML file of Estonian payroll taxes (TSD) for e-MTA: salaries, fees and other payments with social tax, income tax, funded pension and unemployment insurance calculated, in EMTA's data-based XBRL GL format.
Input
Output
Readme
What is the TSD?
TSD is the Estonian declaration of income and social tax, funded pension contributions and unemployment insurance premiums. Employers and anyone else who pays salaries, fees, rents or interest to people file it with the Estonian Tax and Customs Board (EMTA, Maksu- ja Tolliamet) by the 10th of the next month.
From the October 2026 tax period on, the TSD is data-based ("andmepõhine TSD"). Payers send EMTA their payment data in the XBRL GL XML format, from accounting software or as a file uploaded in e-MTA, and EMTA builds the declaration from it. The new format replaces the former TSD XML and its annexes 1 and 2.
Tool description
This tool makes that XML file in your browser. Enter the payer's registry code, the date the payments were made and the date they were calculated on. The month of the payment date is the tax period.
Then add the payments. For each one, enter the payee's code, choose the payment type and enter the gross amount. The code can be an Estonian personal code, a foreign one with its country code in front (like LV12038412345), or the non-resident code EMTA gave the payee. The payment types are the ones EMTA's own tax calculator handles: salaries, board members' fees, fees under contracts for services, the employer's sickness benefit, compensation on termination, rents, interest and other income, for residents and non-residents.
The tool calculates the taxes with EMTA's formulas and the 2026 rates: social tax at 33%, unemployment insurance at 1.6% for the employee and 0.8% for the employer, the funded pension contribution at 2%, 4% or 6%, and income tax at 22% of the payment less the contributions and the basic exemption. Enter the basic exemption the payee asked for. The tool keeps it within the payment and marks it when a payee's exemptions add up to more than 700 € a month. For a payee who reaches pension age this year, which it reads from an Estonian personal code, it uses the pension age exemption of up to 776 € instead, and after the month they reached the age it no longer withholds their unemployment insurance. Tick Minimum social tax to pay social tax on at least the monthly rate of 886 €.
For a payment to a non-resident, choose the country of tax residence. A fee under a contract for services can take a lower income tax rate from a tax treaty.
Each payment gets an ID made of the payee's code, the payment type and the date, numbered when one file has more than one such payment, so send those together. To change payments you already sent, make the file again with the same payments, choose Changes to sent payments and the reason. To cancel them, choose Cancellation of sent payments.
The output shows the taxes to pay and the XML. Download it, upload it in e-MTA, then check and confirm the TSD there.
Example
<gl-cor:taxes>
<gl-cor:taxAmount contextRef="now" decimals="2" unitRef="eur">376.20</gl-cor:taxAmount>
<gl-cor:taxCode contextRef="now">TSD_KTM</gl-cor:taxCode>
</gl-cor:taxes>This is the income tax of a 2,500 € salary with a 700 € basic exemption: (2,500 − 50 funded pension − 40 unemployment insurance − 700) × 22% = 376.20 €. In the file, each payment also has its type, payee, dates, the amount subject to social tax and the other taxes.
Features
- XBRL GL payment data for the data-based TSD, from the October 2026 tax period
- Social tax, income tax, funded pension and unemployment insurance with EMTA's formulas and the 2026 rates
- Basic exemption and pension age exemption with their monthly limits
- Minimum social tax on the monthly rate
- Payments to non-residents with their country of tax residence and treaty rate
- New payments, changes and cancellations of sent payments
- Taxes to pay in total and by tax