Frontalier telework — 40 % tax; 25 % / 50 % social security
calculate_teletravail_frontalierFrontalier telework thresholds (FR–CH): 40 % tax; social security Swiss below 25 %, French from 25 % unless the employer's A1 (framework agreement, below 50 %), reported separately. · Télétravail frontalier : seuil fiscal 40 % ; sécurité sociale suisse sous 25 %, française dès 25 % sauf A1 de l'employeur (accord-cadre, moins de 50 %). — Projects a typical working week over 46 worked weeks and returns the telework share, the position against BOTH limits (different instruments: the FR–CH tax avenant in force 24/07/2025, applying to pay from 01/01/2023, vs the EU/EFTA social-security framework agreement since 01/07/2023), the telework days that can still be added over the projected year (its worked days stay fixed) before each is crossed, and how many temporary mission days count inside the allowance (≤ 10 a year). What the 40 % line means depends on the canton of work — give work_canton: Geneva and the other source-taxing cantons stay taxed in Switzerland up to 40 %; the eight cantons of the 1983 agreement are taxed in France and keep the frontalier status up to 40 %. Without it, both regimes are stated. Optional: the 3-month LAMal/CMU droit d'option window (Swiss and EU nationals) from the Swiss employment start date or the later move to France. Deterministic — verified official facts with sources and dates, nothing stored. Same engine as the free web counter; a signed-in monthly log turns the projection into the real position (list_deadlines then carries the threshold warnings).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as_of_date | No | YYYY-MM-DD reference date for the option window (default: today) — makes the answer reproducible. | |
| work_canton | No | Swiss canton of work (code like GE, VD, or name). Picks the tax rule: the 8 cantons of the 1983 agreement (BE, SO, BS, BL, VD, VS, NE, JU) tax in France; the others tax at source. Omitted: both regimes are stated. | |
| days_per_week | No | Contractual working days per week (1–7). Default 5. | |
| france_move_date | No | YYYY-MM-DD the worker took up residence in France, if already working in Switzerland — the window then counts from the LATER of the two dates (official form p.3). | |
| mission_days_per_year | No | Temporary mission days per year in France or a third country — only the first 10 count inside the telework allowance. | |
| swiss_employment_start | No | YYYY-MM-DD the Swiss employment began (or the Swiss pension was granted) — adds the 3-month LAMal/CMU droit d'option window. Only if this job opened the option: a first Swiss job since living in France, or a return after unemployment — a change of employer does not reopen it. | |
| telework_days_per_week | Yes | Days per week worked from home in France (fractions allowed, e.g. 1.5). |