diff --git a/modele-social/règles/declarations-indépendant/charges-sociales-formulaire.yaml b/modele-social/règles/declarations-indépendant/charges-sociales-formulaire.yaml
index 864903e3f..7ac88cf59 100644
--- a/modele-social/règles/declarations-indépendant/charges-sociales-formulaire.yaml
+++ b/modele-social/règles/declarations-indépendant/charges-sociales-formulaire.yaml
@@ -48,10 +48,12 @@ déclaration charge sociales . cotisations payées:
déclaration charge sociales . cotisations payées . CSG déductible et CFP:
question: Quel est le montant total de CSG déductible et CFP payées cette année ?
unité: €/an
+ plancher: 0 €/an
description: |
Indiquez le montant de la part de CSG déductible et de CFP que vous avez payé en 2021 (peu importe l’année à laquelle ces contributions se rapportent).
déclaration charge sociales . cotisations payées . cotisations sociales:
question: Quel est le montant de vos cotisations sociales payées cette année ?
+ plancher: 0 €/an
unité: €/an
description: |
Indiquez le montant des cotisations sociales aux régimes obligatoires (maladie-maternité, vieillesse, invalidité-décès, famille) que vous avez payées en 2021 (peu importe l’année à laquelle ces cotisations se rapportent).
diff --git a/modele-social/règles/entreprise/base.yaml b/modele-social/règles/entreprise/base.yaml
index 3192429f3..0f6c56516 100644
--- a/modele-social/règles/entreprise/base.yaml
+++ b/modele-social/règles/entreprise/base.yaml
@@ -99,6 +99,7 @@ entreprise . chiffre d'affaires . vente restauration hébergement:
valeur: chiffre d'affaires
arrondi: oui
plancher: 0€/an
+ par défaut: 0€/an
description: |
### Vente de biens
Il s’agit du chiffre d'affaires de toutes les opérations comportant
@@ -132,6 +133,7 @@ entreprise . chiffre d'affaires . service BIC:
services qui nécessite plus qu'un ordinateur pour être effectuées.
**Exemples** : transports, service à la personne, réparation etc.
+ par défaut: 0€/an
variations:
- si: activité . mixte
alors:
@@ -149,6 +151,7 @@ entreprise . chiffre d'affaires . service BNC:
résumé: Recettes hors taxes
question: Quelles sont les recettes issues de l’activité libérale ?
arrondi: oui
+ par défaut: 0€/an
plancher: 0€/an
description: |
Ce sont toutes les opérations dont l'activité intellectuelle tient
diff --git a/site/source/actions/actions.ts b/site/source/actions/actions.ts
index 24ca857ee..f8bbe43e3 100644
--- a/site/source/actions/actions.ts
+++ b/site/source/actions/actions.ts
@@ -1,9 +1,9 @@
+import { SimulationConfig } from '@/reducers/rootReducer'
import { DottedName } from 'modele-social'
import Engine from 'publicodes'
-import { SimulationConfig } from '@/reducers/rootReducer'
+import { CompanyActions } from './companyActions'
import { CompanyCreationAction } from './companyCreationChecklistActions'
import { CompanyStatusAction } from './companyStatusActions'
-import { CompanyActions } from './companyActions'
import { HiringChecklistAction } from './hiringChecklistAction'
export type Action =
@@ -60,11 +60,13 @@ export const setActiveTarget = (targetName: DottedName) =>
} as const)
export const updateSituation = (fieldName: DottedName, value: unknown) =>
- ({
- type: 'UPDATE_SITUATION',
- fieldName,
- value,
- } as const)
+ value === undefined
+ ? deleteFromSituation(fieldName)
+ : ({
+ type: 'UPDATE_SITUATION',
+ fieldName,
+ value,
+ } as const)
export const deleteFromSituation = (fieldName: DottedName) =>
({
diff --git a/site/source/design-system/field/NumberField.tsx b/site/source/design-system/field/NumberField.tsx
index ae41d1fba..98884efdc 100644
--- a/site/source/design-system/field/NumberField.tsx
+++ b/site/source/design-system/field/NumberField.tsx
@@ -360,7 +360,9 @@ function useSimpleNumberFieldState(
canDecrement: true,
validate: () => true,
commit: () => {
- rawInputValue && updateInputValue(numberValue)
+ numberValue === undefined
+ ? setInputValue(numberValue)
+ : updateInputValue(numberValue)
},
incrementToMax: () => null,
decrementToMin: () => null,
diff --git a/site/source/pages/gerer/_components/Fields.tsx b/site/source/pages/gerer/_components/Fields.tsx
index b74eeb719..ab426ecae 100644
--- a/site/source/pages/gerer/_components/Fields.tsx
+++ b/site/source/pages/gerer/_components/Fields.tsx
@@ -133,7 +133,10 @@ export function SimpleField({
aria-labelledby={displayedQuestion ? labelId : undefined}
label={displayedLabel}
required={meta.requis === 'oui'}
- missing={!isEmpty(evaluation.missingVariables)}
+ missing={
+ evaluation.nodeValue === undefined &&
+ !isEmpty(evaluation.missingVariables)
+ }
onChange={dispatchValue}
showSuggestions={showSuggestions}
/>
diff --git a/site/source/pages/gerer/declaration-charges-sociales-independant/index.tsx b/site/source/pages/gerer/declaration-charges-sociales-independant/index.tsx
index d2dffc36e..c15a56413 100644
--- a/site/source/pages/gerer/declaration-charges-sociales-independant/index.tsx
+++ b/site/source/pages/gerer/declaration-charges-sociales-independant/index.tsx
@@ -155,21 +155,7 @@ export default function AideDéclarationIndépendant() {
-
-
-
-
- {/* We can't use a subsection here cause revenu étrangers is not missing when CSG is replaced */}
-
- Revenus étranger
-
-
-
-
-
-
-
-
+ Cotisations et contributions sociales en 2021
@@ -177,7 +163,7 @@ export default function AideDéclarationIndépendant() {
-
+
>
diff --git a/site/source/reducers/rootReducer.ts b/site/source/reducers/rootReducer.ts
index 8640a620c..e1c5d3e80 100644
--- a/site/source/reducers/rootReducer.ts
+++ b/site/source/reducers/rootReducer.ts
@@ -141,7 +141,7 @@ function simulation(
const newState = {
...state,
situation: omit(
- { ...state.situation },
+ state.situation,
action.fieldName
) as Simulation['situation'],
}
diff --git a/site/test/regressions/__snapshots__/simulations.test.ts.snap b/site/test/regressions/__snapshots__/simulations.test.ts.snap
index c6f2dbeb7..80662c975 100644
--- a/site/test/regressions/__snapshots__/simulations.test.ts.snap
+++ b/site/test/regressions/__snapshots__/simulations.test.ts.snap
@@ -587,70 +587,70 @@ Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA .
`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 1`] = `
-"[0,null,null,null,null,null]
+"[0,null,null,null,0,null]
Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel"
`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 2`] = `
-"[0,null,null,null,null,null]
+"[0,null,null,null,0,null]
Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel"
`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > ACRE 3`] = `
-"[0,null,null,null,null,null]
+"[0,null,null,null,0,null]
Notifications affichées : dirigeant . auto-entrepreneur . notification calcul ACRE annuel"
`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 1`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 1`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 2`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 2`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 3`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 3`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 4`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 4`] = `"[0,null,null,null,0,null]"`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 5`] = `
"[0,261252,261252,20568,4,56]
Notifications affichées : entreprise . chiffre d'affaires . franchise de TVA . dépassement, entreprise . imposition . IS . information sur le report de déficit"
`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 6`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 6`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 7`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > Contrats Madelin 7`] = `"[0,null,null,null,0,null]"`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > JEI 1`] = `"[2829,33949,0,32212,4,49]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 1`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 1`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 2`] = `"[0,null,null,null,null,0]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 2`] = `"[0,null,null,null,0,0]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 3`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 3`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 4`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 4`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 5`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 5`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 6`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > activités 6`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 1`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 1`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 2`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > avec charges 2`] = `"[0,null,null,null,0,null]"`;
exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 1`] = `"[0,87,87,0,0,0]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 2`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 2`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 3`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 3`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 4`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 4`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 5`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 5`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 6`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 6`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 7`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 7`] = `"[0,null,null,null,0,null]"`;
-exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 8`] = `"[0,null,null,null,null,null]"`;
+exports[`calculate simulations-rémunération-dirigeant (indépendant) > échelle de rémunération 8`] = `"[0,null,null,null,0,null]"`;
exports[`calculate simulations-salarié > CCN HCR 1`] = `
"[3499,0,2500,2005,1894]