A practical guide to trade licences, self-employment and business in Czechia
How to set up a trade licence
Self-Employment in Retirement
Both old-age and disability pensioners can run a business with no restriction on age or otherwise. A trade licence is automatically classed as **secondary activity** — you only pay social insurance above the decisive amount of 117,521 Kč, and health insurance has no minimum at all.
decisive amount: 117,521 Kčhealth insurance: no minimumtaxpayer credit: 30,840 Kčsocial insurance up to the limit: 0 Kč
Old-age pensioners: running a business without restrictions
As an old-age pensioner, you can run a business with no restriction on age or on how much you earn. If you receive your **old-age pension in full**, working income does not reduce or limit it in any way — unlike in some other countries, Czechia does not tax old-age pensioners' earnings at a special rate or reduce the pension because of extra income.
For a pensioner, a trade licence always counts as **secondary self-employed activity**, regardless of whether it is your only income or just extra income alongside your pension. This classification follows directly from the Pension Insurance Act (Act No. 155/1995 Coll.) — you simply indicate it as part of the [trade notification](/jak-zalozit-zivnost) on the Single Registration Form (JRF), or directly with OSSZ (district social security office).
The same rule applies to **disability pension of category 1, 2 or 3** — this too establishes entitlement to secondary activity regardless of how much you earn.
Advantages of running a business in retirement
Running a business alongside your pension has three main advantages compared with an ordinary main activity:
- **Social insurance only above the decisive amount.** Up to an annual profit of 117,521 Kč (2026) you pay no social insurance at all. Above this threshold you pay contributions on your actual profit, and the minimum secondary-activity advance payment is 1,574 Kč per month.
- **Health insurance with no minimum assessment base.** You do not pay monthly advance payments in advance based on the minimum, the way a main-activity self-employed person (OSVČ) does (3,306 Kč). You settle the 13.5 % contribution on your actual profit only after filing the annual income and expenses statement (přehled).
- **The basic taxpayer credit also applies to pensioners.** You deduct it, worth 30,840 Kč per year (2026), just like any other taxpayer — the former restriction for old-age pension recipients was removed from the law long ago.
If, in addition, you continue working while **receiving your old-age pension in full**, you are entitled, from 2025, to the **social insurance discount for working pensioners** (6.5 %) — thanks to it, as a self-employed person (OSVČ) you pay only 22.7 % in social insurance instead of 29.2 %. You claim it retroactively on the annual statement (přehled) with OSSZ (district social security office), and it applies only to the months in which you actually pay contributions — for a secondary activity, that means only above the decisive amount. The earlier increase of 0.4 % of the calculation base for every 360 days worked was abolished on 1. 1. 2025 and replaced by this discount. You can find an overview of income tax on the portal of the [Tax Administration (Finanční správa)](https://www.financnisprava.cz), and the insurance conditions on the website of [ČSSZ (Czech Social Security Administration)](https://www.cssz.cz).
Calculate your insurance advance payments
Enter that it is a secondary activity and, if relevant, your expected annual profit. The calculator works out both the minimum and the actual monthly advance payments on social and health insurance for 2026.
Orientační výpočet podle sazeb roku 2026. Nenahrazuje výpočet daňového poradce. Ověřeno 2026.
Frequently asked questions about self-employment in retirement
Does running a business reduce my pension?
No. If you receive your old-age pension in full, working income (including from a trade licence) does not reduce or limit it in any way. Likewise, disability pension of category 1–3 is not reduced because you run a business. The exception is an early old-age pension before you reach the standard retirement age — see the last question.
Do I have to pay advance payments on social and health insurance?
You do not pay social insurance until your annual profit exceeds the decisive amount of 117,521 Kč (2026); above that, the minimum secondary-activity advance payment is 1,574 Kč per month. Health insurance has no minimum — you pay it according to your actual profit only after filing the statement (přehled). For details, see the page [main vs. secondary activity](/pojisteni-osvc/hlavni-vs-vedlejsi-cinnost).
Does the flat-rate tax pay off for me in retirement?
Usually not. The flat-rate tax (from 9,162 Kč per month from 7/2026) also includes the minimum social and health insurance advance payments, which as a secondary-activity self-employed person (OSVČ) you do not pay at all up to the decisive amount. The ordinary regime with the taxpayer credit is usually more advantageous — check it on the page [flat-rate tax 2026](/dane-osvc/pausalni-dan).
Do I have to file a tax return even with a small amount of extra income?
You do not have to file a tax return if your total annual taxable income does not exceed 50,000 Kč (the threshold under § 38g of the Income Tax Act, raised by the consolidation package from 2024 from the original 15,000 Kč). Above this threshold you must file a return, even if the tax works out at zero after the taxpayer credit. You must also file a return if you are in a tax loss.
What if I have an early old-age pension — do the same rules apply to me?
Not entirely. For an early old-age pension, a restriction applies until you reach the standard retirement age, under § 37 of Act No. 155/1995 Coll.: the pension is not paid out for months in which you carry out an activity that establishes participation in pension insurance. A secondary activity up to the decisive amount, on which no contributions are paid, is therefore usually safe; check higher income in advance with [ČSSZ](https://www.cssz.cz).
We use necessary cookies to run the site and — with your consent — cookies for traffic measurement and advertising. You can change your consent at any time. More in
Cookie Policy.
breakoutu (config je jen čísla, ale držíme konvenci).
var C = {"rok":2026,"pausal":{"1":9162,"2":16745,"3":27139},"pausalDo0107":{"1":9984},"danSazba1":0.15,"danSazba2":0.23,"progrese":1762812,"slevaPoplatnik":30840,"bonus":[15204,22320,27840],"vydaj":{"80":0.8,"60":0.6,"40":0.4,"30":0.3},"strop":{"80":1600000,"60":1200000,"40":800000,"30":600000},"socSazba":0.292,"socZaklad":0.55,"socMinHlavni":5005,"socMinHlavniDo0107":5720,"socMinZacinajici":3575,"socMinVedlejsi":1574,"rozhodnaVedlejsi":117521,"zdravSazba":0.135,"zdravZaklad":0.5,"zdravMin":3306,"danPO":0.21,"srazkova":0.15,"dphLimitRok":2000000,"dphLimitOkamzity":2536500,"dphLhutaDny":10,"dphIdentZbozi":326000};
function pasmo(prijem) { return prijem <= 1000000 ? 1 : (prijem <= 1500000 ? 2 : 3); }
function calcPausalniDan() {
var prijem = num('prijem'), p = parseInt(val('pausal'), 10) || 60, deti = Math.max(0, num('deti'));
if (prijem <= 0) { return '
Zadejte roční příjem.
'; }
if (prijem > 2000000) { return '
Nad 2 000 000 Kč ročně nelze do paušálního režimu vstoupit ani uplatnit výdajový paušál bez omezení. Výpočet je jen orientační.
'; }
// Paušální daň (vše v jednom)
var pas = C.pausal[pasmo(prijem)] * 12;
// Běžný režim: výdajový paušál
var vydaje = Math.min(prijem * C.vydaj[p], C.strop[p]);
var zaklad = Math.max(0, prijem - vydaje);
var dan = zaklad <= C.progrese ? zaklad * C.danSazba1 : C.progrese * C.danSazba1 + (zaklad - C.progrese) * C.danSazba2;
var danPoSleve = Math.max(0, dan - C.slevaPoplatnik);
var bonus = 0; for (var i = 0; i < deti; i++) { bonus += C.bonus[Math.min(i, 2)]; }
var danNet = danPoSleve - bonus; // může být záporná = daňový bonus se vrací
var soc = Math.max(C.socMinHlavni * 12, zaklad * C.socZaklad * C.socSazba);
var zdrav = Math.max(C.zdravMin * 12, zaklad * C.zdravZaklad * C.zdravSazba);
var bezny = danNet + soc + zdrav;
var pausalWins = pas < bezny;
var rozdil = Math.abs(bezny - pas);
var rows = ''
+ '
Paušální daň (' + pasmo(prijem) + '. pásmo)
' + kc(pas) + '
'
+ '
Běžný režim: daň po slevě' + (deti ? ' a bonusu na děti' : '') + '
' + kc(danNet) + '
'
+ '
Běžný režim: sociální pojistné
' + kc(soc) + '
'
+ '
Běžný režim: zdravotní pojistné
' + kc(zdrav) + '
'
+ '
Běžný režim celkem
' + kc(bezny) + '
';
var verdict = '
'
+ (pausalWins ? 'Vyplatí se paušální daň' : 'Vyplatí se běžný režim (výdajový paušál)')
+ ' — ušetříte zhruba ' + kc(rozdil) + ' ročně.'
+ (deti && !pausalWins ? ' Díky dětem získáte v běžném režimu daňový bonus, který paušální daň neumožňuje.' : '')
+ '
';
return '
' + rows + '
' + verdict;
}
function calcZalohy() {
var c = val('cinnost'), zisk = num('zisk');
var socMin = c === 'zacinajici' ? C.socMinZacinajici : (c === 'vedlejsi' ? C.socMinVedlejsi : C.socMinHlavni);
var soc = socMin, zdrav = C.zdravMin, note = '';
if (zisk > 0) {
var s = Math.round(zisk * C.socZaklad * C.socSazba / 12);
soc = Math.max(socMin, s);
if (c !== 'vedlejsi') { zdrav = Math.max(C.zdravMin, Math.round(zisk * C.zdravZaklad * C.zdravSazba / 12)); }
else { zdrav = Math.round(zisk * C.zdravZaklad * C.zdravSazba / 12); }
}
if (c === 'vedlejsi') {
note = '
U vedlejší činnosti se sociální pojištění platí jen při ročním zisku nad rozhodnou částku ' + kc(C.rozhodnaVedlejsi) + '; do té doby zálohy platit nemusíte. Zdravotní nemá minimum a doplácí se podle zisku.
';
}
var rows = ''
+ '
Sociální pojištění (měsíčně)
' + kc(soc) + '
'
+ '
Zdravotní pojištění (měsíčně)
' + kc(zdrav) + '
'
+ '
Celkem měsíčně
' + kc(soc + zdrav) + '
';
var hint = c === 'hlavni' ? '
Minimální sociální záloha hlavní činnosti se v roce 2026 snížila ze 40 % na 35 % vyměřovacího základu — od července 2026 činí minimum 5 005 Kč (do června 5 720 Kč), přeplatek se vrací.
' : '';
return '
' + rows + '
' + hint + note;
}
function calcOsvcSro() {
var zisk = num('zisk'), vyber = (parseInt(val('vyber'), 10) || 100) / 100;
if (zisk <= 0) { return '
Zadejte roční zisk.
'; }
// OSVČ: daň 15/23 % po slevě na poplatníka + pojistné z vyměřovacího základu (55 % / 50 %).
var danO = zisk <= C.progrese ? zisk * C.danSazba1 : C.progrese * C.danSazba1 + (zisk - C.progrese) * C.danSazba2;
danO = Math.max(0, danO - C.slevaPoplatnik);
var socO = Math.max(C.socMinHlavni * 12, zisk * C.socZaklad * C.socSazba);
var zdravO = Math.max(C.zdravMin * 12, zisk * C.zdravZaklad * C.zdravSazba);
var netO = zisk - danO - socO - zdravO;
// s.r.o.: daň PO 21 %; z vyplacené části srážková 15 %. Nevyplacená část zůstává zdaněná jen 21 %.
var danPO = zisk * C.danPO;
var poDani = zisk - danPO;
var vyplaceno = poDani * vyber;
var srazka = vyplaceno * C.srazkova;
var netS = vyplaceno - srazka + (poDani - vyplaceno); // na ruku z výplaty + ponecháno ve firmě
var rows = ''
+ '
OSVČ – čistý příjem
' + kc(netO) + '
'
+ '
daň ' + kc(danO) + ' · sociální ' + kc(socO) + ' · zdravotní ' + kc(zdravO) + '
'
+ '
s.r.o. – v kapse + ponecháno ve firmě
' + kc(netS) + '
'
+ '
daň PO 21 % ' + kc(danPO) + ' · srážková 15 % z výplaty ' + kc(srazka) + '
';
var sroWins = netS > netO;
var verdict = '
'
+ (sroWins ? 'Při tomto zisku a výplatě vychází lépe s.r.o.' : 'Při tomto zisku a výplatě vychází lépe OSVČ')
+ ' — rozdíl zhruba ' + kc(Math.abs(netS - netO)) + ' ročně. Čím víc zisku ponecháte ve firmě, tím víc s.r.o. získává (nevyplacená část se daní jen 21 %). U OSVČ jsou ale peníze hned vaše a bez administrativy.
';
return '
' + rows + '
' + verdict;
}
function calcDphLimit() {
var obrat = num('obrat'), mesicni = num('mesicni');
if (obrat <= 0) { return '
Zadejte dosavadní obrat za kalendářní rok.
'; }
var limit = C.dphLimitRok, limitVyssi = C.dphLimitOkamzity;
var doLimitu = Math.max(0, limit - obrat), doVyssiho = Math.max(0, limitVyssi - obrat);
var rows = ''
+ '
';
if (mesicni > 0 && obrat < limit) {
var mes = Math.ceil(doLimitu / mesicni);
rows += '
při obratu ' + kc(mesicni) + ' měsíčně překročíte limit zhruba za ' + mes + ' měs.
';
}
var verdict;
if (obrat > limitVyssi) {
verdict = '
Překročili jste ' + kc(limitVyssi) + '. Plátcem DPH se stáváte již dnem následujícím po dni překročení tohoto obratu. Přihlášku k registraci podejte do ' + C.dphLhutaDny + ' pracovních dnů od překročení.
';
} else if (obrat >= limit) {
verdict = '
Překročili jste ' + kc(limit) + '. Plátcem DPH se stanete od 1. ledna následujícího kalendářního roku — nebo dříve, pokud to uvedete v přihlášce (pak dnem následujícím po překročení). Přihlášku podejte do ' + C.dphLhutaDny + ' pracovních dnů od překročení. Do vyššího limitu ' + kc(limitVyssi) + ' zbývá ' + kc(doVyssiho) + '.
';
} else {
verdict = '
Zatím nejste povinni se k DPH registrovat. Do limitu ' + kc(limit) + ' zbývá ' + kc(doLimitu) + '. Od 1. 1. 2025 se obrat sleduje za kalendářní rok (ne za posledních 12 měsíců).
';
}
var ident = '
Pozor na identifikovanou osobu: i bez překročení obratu se jí stanete, když přijmete službu od firmy z EU nebo ji do EU poskytnete (např. reklama na Google či Meta), nebo pořídíte zboží z EU nad ' + kc(C.dphIdentZbozi) + ' za rok. Identifikovaná osoba odvádí DPH jen z těchto přeshraničních plnění — tuzemský prodej zůstává bez DPH.
' + verdict + ident + disc;
}
function calcCistyPrijem() {
var prijem = num('prijem'), vydajeSel = val('vydaje');
if (prijem <= 0) { return '
Zadejte roční příjem.
'; }
var vydaje, vydajePlatba, vydajeLabel;
if (vydajeSel === 'skutecne') {
vydaje = Math.max(0, num('vydajeCastka'));
vydajePlatba = vydaje; // skutečné výdaje reálně odcházejí z peněz
vydajeLabel = 'Skutečné výdaje';
} else {
var p = parseInt(vydajeSel, 10) || 60;
vydaje = Math.min(prijem * C.vydaj[p], C.strop[p]);
vydajePlatba = 0; // paušál je nákladová fikce — peníze reálně neodcházejí
vydajeLabel = 'Výdajový paušál ' + p + ' %';
}
var zaklad = Math.max(0, prijem - vydaje);
var dan = zaklad <= C.progrese ? zaklad * C.danSazba1 : C.progrese * C.danSazba1 + (zaklad - C.progrese) * C.danSazba2;
var danPoSleve = Math.max(0, dan - C.slevaPoplatnik);
var soc = Math.max(C.socMinHlavni * 12, zaklad * C.socZaklad * C.socSazba);
var zdrav = Math.max(C.zdravMin * 12, zaklad * C.zdravZaklad * C.zdravSazba);
var cistyRok = prijem - vydajePlatba - danPoSleve - soc - zdrav;
var rows = ''
+ '
Roční příjem
' + kc(prijem) + '
'
+ '
' + vydajeLabel + '
− ' + kc(vydaje) + '
'
+ '
Základ daně
' + kc(zaklad) + '
'
+ '
Daň z příjmu (po slevě na poplatníka)
− ' + kc(danPoSleve) + '
'
+ '
Sociální pojištění
− ' + kc(soc) + '
'
+ '
Zdravotní pojištění
− ' + kc(zdrav) + '
'
+ '
Čistý roční příjem
' + kc(cistyRok) + '
'
+ '
Čistý měsíční příjem
' + kc(cistyRok / 12) + '
';
var note = (vydajeSel !== 'skutecne'
? 'U výdajového paušálu jsou výdaje nákladovou fikcí — reálně je neutrácíte, proto se do čistého příjmu nezapočítávají. '
: '')
+ 'Sleva na poplatníka činí ' + kc(C.slevaPoplatnik) + ' ročně. Počítáno pro hlavní činnost sazbami roku ' + C.rok + '.';
return '
' + rows + '
'
+ '
' + note + '
';
}
function run() {
var html;
if (kind === 'zalohy') { html = calcZalohy(); }
else if (kind === 'osvc-sro') { html = calcOsvcSro(); }
else if (kind === 'dph-limit') { html = calcDphLimit(); }
else if (kind === 'cisty-prijem') { html = calcCistyPrijem(); }
else { html = calcPausalniDan(); }
out.innerHTML = html;
out.hidden = false;
}
root.querySelectorAll('[data-f]').forEach(function (el) {
el.addEventListener('input', run);
el.addEventListener('change', run);
});
run();
})();