Deterministic Czech OSVC tax tools for 2026: tax, insurance, deadlines, VAT and exchange rates.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Given the paušální daň band you paid and the actual annual income, computes whether you owe a doplatek (top-up), get a vratka (refund), or must exit the flat-tax regime (income above 2,000,000 CZK).
Band actually paid during the year
True for a mid-year projection instead of a final settlement
Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)
Given the paušální daň band you paid and the actual annual income, computes whether you owe a doplatek (top-up), get a vratka (refund), or must exit the flat-tax regime (income above 2,000,000 CZK).
| Argument | Type | Description |
|---|---|---|
| currentBand* | string | Band actually paid during the year |
| isProjection | boolean | True for a mid-year projection instead of a final settlement |
| monthsInRegime | integer | |
| flatRatePercent | any | Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades) |
| actualAnnualIncome* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"currentBand",
"actualAnnualIncome"
],
"properties": {
"currentBand": {
"enum": [
"band1",
"band2",
"band3"
],
"type": "string",
"description": "Band actually paid during the year"
},
"isProjection": {
"type": "boolean",
"default": false,
"description": "True for a mid-year projection instead of a final settlement"
},
"monthsInRegime": {
"type": "integer",
"default": 12,
"maximum": 12,
"minimum": 1
},
"flatRatePercent": {
"anyOf": [
{
"type": "number",
"const": 0.4
},
{
"type": "number",
"const": 0.6
},
{
"type": "number",
"const": 0.8
}
],
"description": "Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)"
},
"actualAnnualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0
}
},
"additionalProperties": false
}How much of a monthly OSVČ income to set aside for Czech income tax, social and health insurance, and what remains safe to spend. Supports mixed §7 business + §9 rental income and the paušální daň (flat tax) regimes.
| Argument | Type | Description |
|---|---|---|
| taxRegime | string | |
| activityType | string | |
| advanceExempt | boolean | |
| monthlyIncome* | number | Gross monthly business income in CZK (§ 7 ZDP) |
| flatRatePercent | any | Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades) |
| reducedMinimumBase | boolean | New OSVČ in the first 2 years (lower social minimum) |
| rentalMonthlyIncome | number | Monthly rental income in CZK (§ 9 ZDP); triggers the mixed-income calculation |
| employerCoversHealth | boolean | |
Screens whether an OSVČ may enter or stay in the paušální daň (flat tax) regime: public health insurance participation (decisive for foreigners), VAT-payer status, income ceiling 2,000,000 CZK, side income and secondary activity. Returns reasons with severity.
| Argument | Type | Description |
|---|---|---|
| activityType | string | |
| annualIncome* | number | Expected annual business income in CZK |
| citizenshipType | string | eu = EU/EEA citizen; non_eu_public = non-EU participating in Czech public health insurance (e.g. dočasná ochrana, employment); non_eu_private = non-EU with private/commercial insurance only |
| isVATRegistered | boolean | Full VAT payer (plátce DPH). Identifikovaná osoba is NOT blocking. |
| publicHealthStatus | string | |
| rentalAnnualIncome | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"annualIncome"
],
"properties": {
"activityType": {
"enum": [
"main",
"secondary"
],
"type": "string"
},
"annualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Expected annual business income in CZK"
},
"citizenshipType": {
"enum": [
"eu",
"non_eu_public",
"non_eu_private"
],
"type": "string",
"description": "eu = EU/EEA citizen; non_eu_public = non-EU participating in Czech public health insurance (e.g. dočasná ochrana, employment); non_eu_private = non-EU with private/commercial insurance only"
},
"isVATRegistered": {
"type": "boolean",
"description": "Full VAT payer (plátce DPH). Identifikovaná osoba is NOT blocking."
},
"publicHealthStatus": {
"enum": [
"public",
"outside",
"unknown"
],
"type": "string"
},
"rentalAnnualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0
}
},
"additionalProperties": false
}Checks whether buying services from abroad (Google Ads, Meta, ChatGPT, hosting…) or selling services to EU businesses has made an OSVČ an identifikovaná osoba under § 6h/§ 6i ZDPH, with the 15-day registration deadline (§ 97) and fact-freshness handling. Verdict: ok / check / act_now.
| Argument | Type | Description |
|---|---|---|
| today | string | Evaluation date; defaults to today |
| vatStatus* | string | Current VAT status of the OSVČ |
| foreignSales | array | Year-to-date foreign client income for the sales-side (§ 6i) check |
| purchaseDate | string | Date of the qualifying purchase; drives the 15-day § 97 registration deadline |
| vatStatusConfirmedAt | string | When the VAT status was last confirmed (freshness window 180 days) |
| foreignServicePurchase* | string | Foreign service purchases: none_confirmed = verified none, possible = maybe (e.g. runs online ads), qualifying_confirmed = a qualifying purchase from a non-CZ supplier is confirmed |
| foreignServicePurchaseConfirmedAt | string |
Checks an annual income against the four statutory thresholds: VAT registration 2,000,000 CZK, immediate VAT registration 2,536,500 CZK, the 23% higher tax bracket, and the paušální daň eligibility ceiling. Reports approaching (90%), exceeded and remaining amounts.
| Argument | Type | Description |
|---|---|---|
| annualIncome* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"annualIncome"
],
"properties": {
"annualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0
}
},
"additionalProperties": false
}Compares the standard OSVČ regime against paušální daň (flat tax) for a yearly income, including tax credits that would be lost with the flat tax (children, spouse), and recommends the cheaper regime.
| Argument | Type | Description |
|---|---|---|
| isMarried | boolean | |
| deductions | object | |
| annualIncome* | number | Gross annual business income in CZK |
| hasChildUnder3 | boolean | |
| flatRatePercent | any | Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades) |
| numberOfChildren | integer | |
| rentalAnnualIncome | number | |
| spouseIncomeUnderLimit | boolean | Spouse annual income under the credit limit (sleva na manžela/manželku) |
Computes a full Czech OSVČ tax year from personal facts: income tax with credits (children, spouse, deductions), social and health insurance, monthly set-aside, safe-to-spend, flat-tax band and regime-eligibility evaluation. All figures come from the deterministic Freelax engine, never from the model.
| Argument | Type | Description |
|---|---|---|
| hasZTP | boolean | |
| taxYear | number | Only 2026 is supported because the engine currently has a 2026 ruleset |
| children | array | |
| isMarried | boolean | |
| isNewOsvc | boolean | |
| taxRegime | string | |
| deductions | object | |
| activityType | string | |
| targetRegime | string | Simulate a different regime without changing the stored facts |
| hasChildUnder3 |
Converts an EUR amount to CZK using the Czech National Bank daily exchange rate (the rate used for Czech tax purposes). Reports the rate, its publication date and whether a stale cached ČNB publication had to be used. Fails closed when no verified ČNB rate is available.
| Argument | Type | Description |
|---|---|---|
| amountEur* | number | Amount in EUR |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amountEur"
],
"properties": {
"amountEur": {
"type": "number",
"maximum": 1000000000,
"description": "Amount in EUR",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Czech public holidays for a year (including movable Easter feasts) and, for a specific date, whether it is a working day and the next working day a statutory deadline would shift to.
| Argument | Type | Description |
|---|---|---|
| date | string | Optional date (YYYY-MM-DD) to test for working-day status |
| year* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"year"
],
"properties": {
"date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Optional date (YYYY-MM-DD) to test for working-day status"
},
"year": {
"type": "integer",
"maximum": 2030,
"minimum": 2020
}
},
"additionalProperties": false
}Estimates the Czech penalty/interest for a late payment or filing: repo rate + 8 p.p. for insurance and tax interest (3.5% H1 / 3.75% H2 2026), 3 grace days for tax payments, 200 CZK health aggregation floor and the 1,000 CZK tax non-assessment threshold. A dated estimate is rejected when its required rate period falls outside the implemented history.
| Argument | Type | Description |
|---|---|---|
| dueDate | string | Original due date (YYYY-MM-DD); anchors the correct half-year repo rate |
| owedAmount* | number | Outstanding amount in CZK |
| daysOverdue* | integer | |
| obligationType* | string | Obligation family: health/social insurance debt, tax_advance (záloha na daň), pausal (paušální daň payment), tax_return (late filing), prehled_* (late Přehled), annual_social (doplatek) |
| gracePeriodActive | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"obligationType",
"owedAmount",
"daysOverdue"
],
"properties": {
"dueDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Original due date (YYYY-MM-DD); anchors the correct half-year repo rate"
},
"owedAmount": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Outstanding amount in CZK"
},
"daysOverdue": {
"type": "integer",
"maximum": 3650,
"minimum": 0
},
"obligationType": {
"enum": [
"health",
"social",
"tax_advance",
"pausal",
"pausal_oznameni",
"pausal_doplatek",
"tax_return",
"prehled_social",
"prehled_health",
"annual_social"
],
"type": "string",
"description": "Obligation family: health/social insurance debt, tax_advance (záloha na daň), pausal (paušální daň payment), tax_return (late filing), prehled_* (late Přehled), annual_social (doplatek)"
},
"gracePeriodActive": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Deadline for the Czech personal income tax return (DPFO) for a given tax year, per filing route: paper, self-filed electronic, or via tax advisor. Weekend and holiday shifts are applied.
| Argument | Type | Description |
|---|---|---|
| route | string | Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July) |
| taxYear* | integer | The tax year the return is FOR (e.g. 2025 return is filed in 2026) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"taxYear"
],
"properties": {
"route": {
"enum": [
"standard_deadline",
"self_electronic_extension",
"advisor_extension"
],
"type": "string",
"description": "Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July)"
},
"taxYear": {
"type": "integer",
"maximum": 2030,
"minimum": 2020,
"description": "The tax year the return is FOR (e.g. 2025 return is filed in 2026)"
}
},
"additionalProperties": false
}Which paušální daň band (pásmo 1/2/3) an annual income falls into given the expense flat-rate, the current monthly payment for that band, and the next income threshold to watch.
| Argument | Type | Description |
|---|---|---|
| annualIncome* | number | |
| flatRatePercent | any | Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"annualIncome"
],
"properties": {
"annualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0
},
"flatRatePercent": {
"anyOf": [
{
"type": "number",
"const": 0.4
},
{
"type": "number",
"const": 0.6
},
{
"type": "number",
"const": 0.8
}
],
"default": 0.6,
"description": "Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)"
}
},
"additionalProperties": false
}Filing deadlines for the annual OSVČ Přehled o příjmech a výdajích for both social insurance (ČSSZ) and the health insurer, per tax-return filing route, plus the payment due date (8 calendar days after the filing deadline).
| Argument | Type | Description |
|---|---|---|
| route | string | Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July) |
| taxYear* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"taxYear"
],
"properties": {
"route": {
"enum": [
"standard_deadline",
"self_electronic_extension",
"advisor_extension"
],
"type": "string",
"description": "Filing route: standard_deadline = paper/no extension (1 April), self_electronic_extension = filed electronically after 1 April (+1 month), advisor_extension = filed by a tax advisor (1 July)"
},
"taxYear": {
"type": "integer",
"maximum": 2030,
"minimum": 2020
}
},
"additionalProperties": false
}For a Czech OSVČ tax topic, returns the governing rule with current values, primary-source citations (zákon, ČSSZ, VZP, Finanční správa) with verification dates, and related Freelax articles. Topics: pausalni_dan, identifikovana_osoba, dph_registrace, zalohy, prehledy, penale, danove_pasmo_23, vedlejsi_cinnost.
| Argument | Type | Description |
|---|---|---|
| topic* | string | |
| locale | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"pausalni_dan",
"identifikovana_osoba",
"dph_registrace",
"zalohy",
"prehledy",
"penale",
"danove_pasmo_23",
"vedlejsi_cinnost"
],
"type": "string"
},
"locale": {
"enum": [
"en",
"cs"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}| secondaryThresholdExceeded |
| boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"monthlyIncome"
],
"properties": {
"taxRegime": {
"enum": [
"standard",
"pausal_band_1",
"pausal_band_2",
"pausal_band_3"
],
"type": "string",
"default": "standard"
},
"activityType": {
"enum": [
"main",
"secondary"
],
"type": "string",
"default": "main"
},
"advanceExempt": {
"type": "boolean",
"default": false
},
"monthlyIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Gross monthly business income in CZK (§ 7 ZDP)"
},
"flatRatePercent": {
"anyOf": [
{
"type": "number",
"const": 0.4
},
{
"type": "number",
"const": 0.6
},
{
"type": "number",
"const": 0.8
}
],
"default": 0.6,
"description": "Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)"
},
"reducedMinimumBase": {
"type": "boolean",
"default": false,
"description": "New OSVČ in the first 2 years (lower social minimum)"
},
"rentalMonthlyIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Monthly rental income in CZK (§ 9 ZDP); triggers the mixed-income calculation"
},
"employerCoversHealth": {
"type": "boolean",
"default": false
},
"secondaryThresholdExceeded": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"vatStatus",
"foreignServicePurchase"
],
"properties": {
"today": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Evaluation date; defaults to today"
},
"vatStatus": {
"enum": [
"unknown",
"not_registered",
"identified_person",
"vat_payer"
],
"type": "string",
"description": "Current VAT status of the OSVČ"
},
"foreignSales": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount"
],
"properties": {
"amount": {
"type": "number",
"maximum": 100000000,
"minimum": 0
},
"clientLocation": {
"enum": [
"cz",
"eu",
"non_eu",
"unknown"
],
"type": "string"
},
"clientVatStatus": {
"enum": [
"business_vat_id",
"business_no_vat_id",
"consumer",
"unknown"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 100,
"description": "Year-to-date foreign client income for the sales-side (§ 6i) check"
},
"purchaseDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Date of the qualifying purchase; drives the 15-day § 97 registration deadline"
},
"vatStatusConfirmedAt": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "When the VAT status was last confirmed (freshness window 180 days)"
},
"foreignServicePurchase": {
"enum": [
"unknown",
"none_confirmed",
"possible",
"qualifying_confirmed"
],
"type": "string",
"description": "Foreign service purchases: none_confirmed = verified none, possible = maybe (e.g. runs online ads), qualifying_confirmed = a qualifying purchase from a non-CZ supplier is confirmed"
},
"foreignServicePurchaseConfirmedAt": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"annualIncome"
],
"properties": {
"isMarried": {
"type": "boolean"
},
"deductions": {
"type": "object",
"properties": {
"dipContributions": {
"type": "number",
"minimum": 0
},
"mortgageLoanYear": {
"type": "integer",
"maximum": 2030,
"minimum": 1990
},
"mortgageInterestPaid": {
"type": "number",
"minimum": 0
},
"mortgageIsOwnHousing": {
"type": "boolean"
},
"pensionContributions": {
"type": "number",
"minimum": 0
},
"lifeInsuranceContributions": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
},
"annualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Gross annual business income in CZK"
},
"hasChildUnder3": {
"type": "boolean"
},
"flatRatePercent": {
"anyOf": [
{
"type": "number",
"const": 0.4
},
{
"type": "number",
"const": 0.6
},
{
"type": "number",
"const": 0.8
}
],
"default": 0.6,
"description": "Flat-rate expense percentage as a decimal: 0.4 (other business), 0.6 (most freelancers / živnost volná), 0.8 (craft trades)"
},
"numberOfChildren": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"rentalAnnualIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0
},
"spouseIncomeUnderLimit": {
"type": "boolean",
"description": "Spouse annual income under the credit limit (sleva na manžela/manželku)"
}
},
"additionalProperties": false
}| boolean |
| citizenshipType | string |
| disabilityGrade | string |
| flatRatePercent | any | Flat-rate expense percentage as a decimal (0.4 / 0.6 / 0.8) |
| isVATRegistered | boolean |
| isCzechTaxResident | boolean |
| publicHealthStatus | string |
| rentalMonthlyIncome | number |
| annualBusinessIncome | number | Exact annual business income in CZK; takes precedence over the monthly figure |
| employerCoversHealth | boolean |
| monthlyBusinessIncome | number | Gross monthly business income in CZK (§ 7 ZDP) |
| spouseIncomeUnderLimit | boolean | Spouse annual income under the sleva na manžela limit |
| hasReducedSocialMinimum | boolean |
| isExemptFromMonthlyZalohy | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"hasZTP": {
"type": "boolean",
"default": false
},
"taxYear": {
"type": "number",
"const": 2026,
"default": 2026,
"description": "Only 2026 is supported because the engine currently has a 2026 ruleset"
},
"children": {
"type": "array",
"items": {
"type": "object",
"required": [
"birthYear"
],
"properties": {
"hasZTP": {
"type": "boolean",
"default": false
},
"birthYear": {
"type": "integer",
"maximum": 2030,
"minimum": 1950
},
"isStudying": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 10
},
"isMarried": {
"type": "boolean",
"default": false
},
"isNewOsvc": {
"type": "boolean",
"default": false
},
"taxRegime": {
"enum": [
"standard",
"pausal_band_1",
"pausal_band_2",
"pausal_band_3"
],
"type": "string",
"default": "standard"
},
"deductions": {
"type": "object",
"properties": {
"dipContributions": {
"type": "number",
"minimum": 0
},
"mortgageLoanYear": {
"type": "integer",
"maximum": 2030,
"minimum": 1990
},
"mortgageInterestPaid": {
"type": "number",
"minimum": 0
},
"mortgageIsOwnHousing": {
"type": "boolean"
},
"pensionContributions": {
"type": "number",
"minimum": 0
},
"lifeInsuranceContributions": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
},
"activityType": {
"enum": [
"main",
"secondary"
],
"type": "string",
"default": "main"
},
"targetRegime": {
"enum": [
"standard",
"pausal_band_1",
"pausal_band_2",
"pausal_band_3"
],
"type": "string",
"description": "Simulate a different regime without changing the stored facts"
},
"hasChildUnder3": {
"type": "boolean"
},
"citizenshipType": {
"enum": [
"eu",
"non_eu_public",
"non_eu_private"
],
"type": "string",
"default": "eu"
},
"disabilityGrade": {
"enum": [
"none",
"grade_1_2",
"grade_3"
],
"type": "string",
"default": "none"
},
"flatRatePercent": {
"anyOf": [
{
"type": "number",
"const": 0.4
},
{
"type": "number",
"const": 0.6
},
{
"type": "number",
"const": 0.8
}
],
"default": 0.6,
"description": "Flat-rate expense percentage as a decimal (0.4 / 0.6 / 0.8)"
},
"isVATRegistered": {
"type": "boolean",
"default": false
},
"isCzechTaxResident": {
"type": "boolean",
"default": true
},
"publicHealthStatus": {
"enum": [
"public",
"outside",
"unknown"
],
"type": "string"
},
"rentalMonthlyIncome": {
"type": "number",
"default": 0,
"maximum": 100000000,
"minimum": 0
},
"annualBusinessIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Exact annual business income in CZK; takes precedence over the monthly figure"
},
"employerCoversHealth": {
"type": "boolean",
"default": false
},
"monthlyBusinessIncome": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Gross monthly business income in CZK (§ 7 ZDP)"
},
"spouseIncomeUnderLimit": {
"type": "boolean",
"description": "Spouse annual income under the sleva na manžela limit"
},
"hasReducedSocialMinimum": {
"type": "boolean",
"default": false
},
"isExemptFromMonthlyZalohy": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}