Running payroll
Run Estonian payroll in Arvello: 22% income tax, 33% social tax and unemployment insurance calculated per person, with PDF payslips and TSD-ready figures.
A payroll run is one month's worth of salaries and board fees, calculated with full Estonian taxes. You enter gross amounts; Arvello works out what each person receives, what the company owes EMTA (the Estonian Tax and Customs Board), and what the month really costs.
One run covers one calendar month. Once it's approved and you've recorded the payments, each person's pay goes on the TSD return for the month it was actually paid.
Creating a run
A draft's payments can't be edited from the run's page. If something is wrong before you approve, click Delete draft on the run's page: the draft and its payments are deleted, nothing else changes because nothing was posted, and the month is free for a new run. Once a run is approved and its TSD submitted, a mistake is corrected by filing an amended TSD for that month in e-MTA — Arvello doesn't file TSD corrections yet.
How the calculation works
Take an employee on €2,500 gross in 2026, an Estonian resident applying the €700 monthly basic exemption, not enrolled in the II pillar pension:
| Step | Amount |
|---|---|
| Gross salary | €2,500.00 |
| Employee unemployment insurance (1.6% of gross) | −€40.00 |
| Basic exemption applied | −€700.00 |
| Taxable amount | €1,760.00 |
| Income tax (22% of taxable) | €387.20 |
| Net paid to employee (gross − unemployment insurance − income tax) | €2,072.80 |
| Social tax (33% of gross, employer-paid) | €825.00 |
| Employer unemployment insurance (0.8% of gross) | €20.00 |
| Total employer cost | €3,345.00 |

Everything between net pay and total employer cost — €1,272.20 in the table above — goes to EMTA. Unemployment insurance is deducted before income tax is worked out, so it lowers the taxable amount. If the person is enrolled in the II pillar, their 2%, 4% or 6% contribution is also withheld from gross, and it too is deducted before income tax. Board member fees follow the same pattern minus unemployment insurance: income tax and any II pillar contribution withheld, social tax on top.
Two runs paid in the same month
The basic exemption is a monthly amount per person that counts by the month the money is paid, not the month the pay is for, and the TSD works the same way. The social-tax minimum is monthly too, but it belongs to the month of the agreed payday, which Arvello takes from the run's payment date. Pay that goes out later still belongs to the agreed month's minimum (see Wages paid late). So if December's run has its payday on 5 January and January's run on 31 January, both share January's €700 basic exemption and January's €292.38 social-tax minimum (2026 figures). For the exemption, Arvello uses the date you record the payment on; until then it holds the run's planned payment date.
Arvello calculates a run with what the person's other approved runs paid in that month have left:
- When you create a run whose payment date falls in a month that already has an approved run, the form says so, and the preview gives each person only the exemption that's left. In the example, an employee whose December pay already used the €700 gets no exemption on the January run, and its income tax is 22% of the whole amount after unemployment insurance and any II pillar contribution.
- Social tax on wages already paid in that month by the other run counts toward the minimum, so the month is topped up once, not once per run. A board fee's social tax doesn't count.
- Draft runs don't count against each other. Whichever run you approve first keeps the exemption it was calculated with. When you then open the other draft, it warns that its figures will change, and approving it recalculates it with what's left.
An approved run is locked, including any top-up to the social-tax minimum, so the order you approve runs in changes how the month's figures fall:
| Order of approval | Basic exemption | Social-tax minimum |
|---|---|---|
| In the order they're paid | Sits on the earlier payment, so each run's net pay matches what was paid out at the time | If the earlier run was below the minimum, its top-up stays even after the later run takes the month above the minimum, so the month declares more social tax than the minimum requires |
| Later, larger run first | Sits on the later payment, so the earlier run's figures change from what was paid out | The earlier run sees the minimum already met and gets no top-up |
From 2026, either way the month never declares less than the exemption cap and the minimum allow. For 2024 and 2025 the cap shrank as the month's income grew, so back-filled runs for those years can't reach that: an earlier approved run keeps the exemption it took before the later run's pay was known, and the month can declare more exemption than its income allowed. Check those months against the cap and correct the TSD in e-MTA if they're over. Say a December run of €400 paid on 5 January and a January salary of €2,000 paid on 31 January (2026, no II pillar): approved in payment order, January declares €292.38 + €660.00 = €952.38 of social tax; approved the other way round, €132.00 + €660.00 = €792.00. Arvello can't change a locked run, so the extra top-up can only be undone outside it, with a corrected TSD.
Other payments
The payments step fills in one board-fee row and one salary row per person, from their settings in People. Add a payment adds more rows for an employee:
- Bonus and Holiday pay. Both are TSD payment type 10 and taxed like salary. If an employee was paid only a fixed salary for the six months before, their holiday pay isn't worked out as an average: they're paid that fixed salary, and the salary row already covers it. Otherwise holiday pay is based on the average wage: what the employee earned in the six calendar months before the month in which the need arose (for holiday pay, the month of the second-to-last working day before the leave starts). Arvello works both out for a holiday recorded on the Holidays page, and you can switch between them on the row. Holiday pay added here by hand is the amount you enter. Compensation for unused holiday when someone leaves is holiday pay too.
- Compensation on termination, such as redundancy pay under TLS § 100. TSD payment type 33 (138 for a non-resident): income tax, social tax and the II pillar, but no unemployment insurance. It counts toward the month's social-tax minimum.
- Other payment, income tax only: late-payment interest on wages, or compensation for withholding a final settlement. TSD payment type 16: income tax only, no social tax, unemployment insurance or II pillar. Estonian residents only.
- Salary for an earlier month, with the earlier payroll run it belongs to: see Wages paid late above. A bonus, holiday pay or compensation can be late pay for an earlier run too.
The rules are in the government regulation on paying average wages (§ 1 lg 1¹ and § 2 lg 2); the payment types are in EMTA's guide to TSD Annex 1. Official text: Keskmise töötasu maksmise tingimused ja kord.
Sick pay
Sick pay has its own page: Sick pay.
Payslips
Once a run is approved, the Payslips tab appears. Generate PDF payslips for everyone in one click, download them individually, or email them out — each in the person's chosen language, Estonian or English.
Email sends one payslip and Email All sends every payslip in the run that hasn't gone out yet. Someone with no email address on their profile is skipped, and Arvello tells you how many weren't sent. On a large run it may stop part-way and tell you how many are left; press Email All again to send the rest. Each email goes to the address on the person's profile with their PDF payslip attached, so they don't need an Arvello login to open it. The payslip shows their pay, their bank account and part of their personal ID code, so check the address before you send.
Non-resident employees
Estonia taxes a non-resident employee's pay only for work done in Estonia (Income Tax Act § 29(1), Social Tax Act § 3 p 7). When you approve a run that pays a non-resident employee, Arvello asks you to confirm the work it pays for was done in Estonia, and records who confirmed it. If it was done abroad, Arvello can't run that pay: no Estonian income tax is due on it, and no social tax unless an Estonian A1 certificate applies, in which case Estonian social tax and unemployment insurance are due (Annex 2 code 122) and you declare them in e-MTA. Delete the draft, create it again without that person's pay, and ask a tax adviser about the country where the work was done. A board fee is different: it is taxed in Estonia wherever the work is done, so it needs no confirmation.
Recording payments
The TSD is cash-based: each person's pay is declared for the month the money actually left the company's account, not the run's planned payment date. So once the transfers have gone out, open the run and use Record payment in Payments made. Enter the date of each transfer and the amount. You can pay someone in parts. Their whole pay is declared on the TSD of the month of the first part: Arvello can't split one payment's taxes across two TSD months, so a part paid after that month's end (half on 30 October, the rest on 2 November) is declared early, with the October part, never late. The run page notes it. A payment can't be dated in the future. If you reconcile the transfer in Banking as a Payment to a Person, the net pay is recorded here for you, dated the transfer, and shows as Bank transfer: it goes when you undo that transaction, not with Remove payment.
- Until you record payments, no one owed pay in an approved run is on a TSD, and the TSD page reminds you which runs are waiting. Someone owed no net pay (a €0.00 row carrying the minimum social tax) is declared for the payment-date month without a payment.
- People in the same run can be paid in different months. If Bob's transfer goes out on 1 October for a run planned for 30 September, Bob's pay goes on October's TSD and everyone paid in September stays on September's.
- The run's withholding was worked out for its planned month. If recording someone's payment in another month gives them more basic exemption there than one month allows (another run already used it), Arvello still records the date, since the money has gone, and tells you to correct that month's TSD in e-MTA: lower the exemption on their row and pay the income tax that wasn't withheld.
- The same goes for a payment dated under other withholding rules than the planned date: a new year's rates, a II pillar change date (1 January, 1 May or 1 September), a pension change, or a residency certificate that has run out or been revoked by the payment date (for a non-resident's basic exemption). Arvello can't recalculate an approved run, so it records the date, declares the withholding worked out for the planned date and names the people affected. Correct their rows on that month's TSD in e-MTA.
- The run turns paid once everyone is paid in full. A run that only declares the social-tax minimum (€0.00 rows) owes nothing, so Mark as Paid finishes it; its minimum goes on the TSD of the run's payment date.
- A wrong date or amount: remove the payment and record it again. If that month's TSD was already filed, Arvello says so, and you correct it in e-MTA.
The journal entry is linked from the run page if you want to see the accounting. The month's TSD is due by the 10th of the following month — see TSD returns for filing.