{
  "version": "11.1.0",
  "reference": "2026-07-01",
  "reviewed": "2026-09-15",
  "source": "https://mon-entreprise.urssaf.fr/simulateurs/salaire-brut-net",
  "scope": "CDI privé, droit commun, sans prime, frais ni heures supplémentaires ou complémentaires. Mutuelle totale et participation employeur explicites. Taux de prélèvement saisi de 5 %. Cas de non-régression du modèle embarqué, sans certification de bulletin.",
  "cases": [
    {
      "id": "non-cadre-3000",
      "question": "3 000 € brut, non-cadre",
      "input": {
        "scope": "standard",
        "direction": "grossToNet",
        "amount": 3000,
        "hours": 35,
        "health": 40,
        "employerShare": 50,
        "pas": 5,
        "cadre": "no",
        "alsace": "no"
      },
      "expected": {
        "gross": 3000,
        "net": 2352.8525,
        "taxable": 2458.91,
        "afterTax": 2229.907
      },
      "tolerance": 0.01
    },
    {
      "id": "cadre-3000",
      "question": "3 000 € brut, cadre",
      "input": {
        "scope": "standard",
        "direction": "grossToNet",
        "amount": 3000,
        "hours": 35,
        "health": 40,
        "employerShare": 50,
        "pas": 5,
        "cadre": "yes",
        "alsace": "no"
      },
      "expected": {
        "gross": 3000,
        "net": 2347.7675,
        "taxable": 2500.13,
        "afterTax": 2222.761
      },
      "tolerance": 0.01
    },
    {
      "id": "temps-partiel",
      "question": "1 500 € brut à mi-temps",
      "input": {
        "scope": "standard",
        "direction": "grossToNet",
        "amount": 1500,
        "hours": 17.5,
        "health": 40,
        "employerShare": 50,
        "pas": 5,
        "cadre": "no",
        "alsace": "no"
      },
      "expected": {
        "gross": 1500,
        "net": 1165.45625,
        "taxable": 1228.7749999999999,
        "afterTax": 1104.0175
      },
      "tolerance": 0.01
    },
    {
      "id": "alsace-moselle",
      "question": "3 000 € brut avec régime local",
      "input": {
        "scope": "standard",
        "direction": "grossToNet",
        "amount": 3000,
        "hours": 35,
        "health": 40,
        "employerShare": 50,
        "pas": 5,
        "cadre": "no",
        "alsace": "yes"
      },
      "expected": {
        "gross": 3000,
        "net": 2313.8525,
        "taxable": 2419.91,
        "afterTax": 2192.857
      },
      "tolerance": 0.01
    },
    {
      "id": "net-vers-brut",
      "question": "Retrouver le brut à partir du net avant impôt",
      "input": {
        "scope": "standard",
        "direction": "netToGross",
        "amount": 2352.8525,
        "hours": 35,
        "health": 40,
        "employerShare": 50,
        "pas": 5,
        "cadre": "no",
        "alsace": "no"
      },
      "expected": {
        "gross": 3000,
        "net": 2352.8525,
        "taxable": 2458.91,
        "afterTax": 2229.907
      },
      "tolerance": 0.01
    },
    {
      "id": "mutuelle-employeur",
      "question": "Mutuelle de 40 € prise en charge à 100 %",
      "input": {
        "scope": "standard",
        "direction": "grossToNet",
        "amount": 3000,
        "hours": 35,
        "health": 40,
        "employerShare": 100,
        "pas": 5,
        "cadre": "no",
        "alsace": "no"
      },
      "expected": {
        "gross": 3000,
        "net": 2370.9125,
        "taxable": 2497.5499999999997,
        "afterTax": 2246.035
      },
      "tolerance": 0.01
    }
  ]
}
