A practical guide to trade licences, self-employment and business in Czechia

Calculators and aids

OSVČ Advance-Payment Calculator 2026

Work out your minimum monthly advance payments on social and health insurance according to the type of activity — main, secondary, or start-up. The calculator takes into account the reduction in social advance payments from July 2026: the minimum for social insurance fell from 5,720 Kč to 5,005 Kč, while health insurance stays at 3,306 Kč.

social from 7/2026: 5,005 Kč health: 3,306 Kč main min.: 8,311 Kč/month start-up: 6,881 Kč/month

Calculate your monthly advance payments

Select the type of activity and, if applicable, enter your expected 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.

How to calculate advance payments by type of activity

  1. 1) Determine the type of activity: main or secondary You carry out secondary activity alongside employment, a pension, parental leave/maternity benefit (PPM) or study (up to age 26). Otherwise it is main activity. Source: ČSSZ (Czech Social Security Administration) — verified 2026. → detail
  2. Main activity → social min. 5,005 Kč (from 7/2026) + health 3,306 Kč = 8,311 Kč/month Until June 2026 the social advance was 5,720 Kč (9,026 Kč in total). From July it fell to 5,005 Kč following the amendment reducing the assessment base from 40% to 35%. Source: ČSSZ, VZP ČR, MF ČR — verified 2026.
  3. 2) Starting out for the first time (or after 20+ years)? → social only 3,575 Kč The reduced base of 25% of the average wage applies in the year of commencement and the following 2 years, but only for main activity and only for social insurance. With health insurance of 3,306 Kč you pay 6,881 Kč/month in total. Source: ČSSZ — verified 2026.
  4. 3) Secondary activity → advance of 1,574 Kč only if profit exceeds 117,521 Kč/year If the annual tax base (profit) from secondary activity does not exceed the decisive amount of 117,521 Kč, you pay no social insurance at all. In the first year of secondary activity, advance payments are generally not paid. Source: ČSSZ — verified 2026. → detail
  5. 4) Health insurance: for main activity always at least 3,306 Kč/month For health insurance there is no relief for those starting out — the minimum of 3,306 Kč applies from the first month throughout 2026. For secondary activity, advance payments are not paid in the first year and are settled according to the income and expenses statement. Source: VZP ČR — verified 2026.
  6. 5) Did the income and expenses statement produce a higher advance? Pay the higher amount The advance is calculated as 1/12 of the assessment base × rate: social (pension) insurance from 55% of profit at 29.2%, health insurance from 50% of profit at 13.5%. If the result is higher than the minimum, you pay the calculated amount from the month the income and expenses statement is filed. → detail

Minimum monthly OSVČ advance payments 2026 (in two phases)

Type of activitySocial 1–6/2026Social from 7/2026Health (full year)Total from 7/2026
Main activity5,720 Kč5,005 Kč3,306 Kč8,311 Kč
Start-up (first time / after 20+ years)3,575 Kč3,575 Kč3,306 Kč6,881 Kč
Secondary activity (profit over 117,521 Kč/year)1,574 Kč1,574 Kčno minimum*1,574 Kč +*
Sickness insurance (voluntary, min.)243 Kč243 Kč243 Kč

The reduction of the social advance from 5,720 to 5,005 Kč (amendment 40%→35% of the average wage) applies only to standard main activity; for start-ups and for secondary activity the minimum does not change and applies throughout 2026. The health minimum of 3,306 Kč (50% of the average wage) applies from January throughout the year. *For secondary activity, no health advance payments are made in the first year and the insurance contributions are settled based on actual profit after filing the income and expenses statement. Rates: social 29.2%, health 13.5%. The 2026 amounts are valid as of June 2026. Source: ČSSZ, VZP ČR, MF ČR — verified 2026.

From July 2026 social advance payments fell — the overpayment is refunded

From January 2026 the minimum assessment base for social insurance was due to rise to 40% of the average wage (an advance of 5,720 Kč). However, the Senate returned (vetoed) the amendment cancelling this increase, but the Chamber of Deputies overrode the veto on 26 May 2026 and confirmed the reduction; the President then signed the act (effective from 1 July 2026) — the base reverted to 35%. From July 2026 the minimum social advance therefore fell to 5,005 Kč (715 Kč less per month). The overpayment for January to June (max. 715 Kč × 6 = up to 4,290 Kč) is refunded by ČSSZ, or you can have it credited towards future advance payments or towards the settlement of insurance contributions for 2026. Health insurance does not change (3,306 Kč throughout the year). This amount is valid as of June 2026 — before making a binding decision, verify it on the ČSSZ website. Source: MF ČR (press release of 26 May 2026), ČSSZ — verified 6/2026.

What the calculator computes

Social insurance

Rate 29.2%. The minimum from 7/2026 is 5,005 Kč (until June 5,720 Kč). Administered by ČSSZ / OSSZ (district social security office). The advance is due by the end of the given month.

Health insurance

Rate 13.5%. Minimum 3,306 Kč throughout 2026. Due by the 8th day of the following month — note, a different deadline than for social insurance.

Start-up OSVČ

For social insurance there is relief: only 3,575 Kč in the year of commencement and the following 2 years. For health insurance there is no relief — 3,306 Kč right away.

Secondary activity

You pay no social insurance until your annual profit exceeds 117,521 Kč. After that the minimum advance is 1,574 Kč/month.

Frequently asked questions about the OSVČ advance-payment calculator

How much are the minimum OSVČ advance payments for main activity in 2026?
From July 2026 at least 8,311 Kč per month — 5,005 Kč for social and 3,306 Kč for health insurance. Until June 2026 it was 9,026 Kč, because the social advance was 5,720 Kč. Source: ČSSZ, VZP ČR — verified 2026.
Why did social advance payments fall mid-2026?
An amendment cancelled the planned increase of the minimum assessment base for social insurance, reducing it from 40% back to 35% of the average wage. From July 2026 the minimum social advance therefore fell by 715 Kč to 5,005 Kč, and the overpayment for January to June (up to 4,290 Kč) is refunded by ČSSZ or credited towards future advance payments.
How much does a start-up OSVČ pay?
A start-up OSVČ in main activity has a reduced social advance of 3,575 Kč (a favourable base of 25% of the average wage in the year of commencement and the following 2 years). With the health advance of 3,306 Kč it pays 6,881 Kč per month in total. For health insurance there is no relief for those starting out.
Are social insurance advance payments required for secondary activity?
No, not until the annual tax base (profit) from secondary activity exceeds the decisive amount of 117,521 Kč. Below this threshold no social insurance is paid on secondary activity at all. Once it is exceeded, the minimum advance is 1,574 Kč per month. In the first year of secondary activity, advance payments are generally not paid.
Is the advance calculated from the minimum or from the actual profit?
The calculator is based on the minimum. The actual advance is calculated as 1/12 of the assessment base multiplied by the rate: for social (pension) insurance the base is 55% of the annual profit at a rate of 29.2%, while for health insurance the base is 50% of profit at a rate of 13.5%. If the result is higher than the minimum, you pay the calculated amount — and from the month in which you file the annual income and expenses statement.
By when are the advance payments due?
The social advance is due by the end of the given calendar month (e.g. for July by 31 July). The health advance has a different deadline — by the 8th day of the following month. These two deadlines differ, which is worth bearing in mind.

Tip: don't forget to report advance payments and pay them on time

You report the commencement of activity to the health insurance company within 8 days and to ČSSZ by the 8th day of the following month (both can be done via the Single Registration Form (JRF) at the trade licensing office (živnostenský úřad), where the extract will be issued within 5 working days). A detailed breakdown of deadlines and calculations can be found in the guide Minimum OSVČ advance payments 2026 → and in the overview OSVČ insurance 2026 →

Minimum advance payments 2026 in detail

Want to know how the assessment base is calculated, how to get the overpayment for January–June, and when the amount of the advance changes after the income and expenses statement? Everything step by step in the main guide.

Minimum OSVČ advance payments 2026
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 = '' + 'Obrat za kalendářní rok' + kc(obrat) + '' + 'Limit povinné registrace' + kc(limit) + '' + 'Zbývá do limitu' + (obrat >= limit ? 'překročeno' : kc(doLimitu)) + ''; 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.

'; var disc = '

Přesná pravidla a formulář viz financnisprava.gov.cz.

'; return '' + rows + '
' + 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(); })();