diff --git a/modele-social/règles/déclaration-revenu-indépendant.yaml b/modele-social/règles/déclaration-revenu-indépendant.yaml index 7b1a37e66..6755aea16 100644 --- a/modele-social/règles/déclaration-revenu-indépendant.yaml +++ b/modele-social/règles/déclaration-revenu-indépendant.yaml @@ -397,20 +397,35 @@ aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois aide déclaration revenu indépendant 2020 . revenu net fiscal: + applicable si: entreprise . imposition . IR titre: revenu net fiscal résumé: '[A]' description: Résultat avant déduction des charges sociales et exonérations fiscales valeur: dirigeant . rémunération . totale + + +aide déclaration revenu indépendant 2020 . rémunération nette dirigeant: + applicable si: entreprise . imposition . IS + résumé: '[X]' + description: | + La rémunération nette du dirigeant déductible du résultat pour l'impôt sur le revenu (charges sociales non incluse). + + À reporter dans : + - **régime réel simplifié :** la rubrique 250 du formulaire 2033-B-SD + - **régime réel normal :** la rubrique FZ du formulaire 2052-SD + - **déclaration contrôlée :** la rubrique BK du formulaire 2035-A-SD + valeur: dirigeant . rémunération . nette + aide déclaration revenu indépendant 2020 . cotisations obligatoires: titre: Cotisations sociales obligatoires déductibles résumé: '[C]' description: | À reporter dans : - - **la case DSCA/DSCB** dans le formulaire de donnée complémentaire à la déclaration de revenus des indépendant (formulaire 2042) - - **régime réel simplifié :** la rubrique 326 du formulaire 2033-D-SD - - **régime réel normal :** la rubrique A5 du formulaire 2053-SD - - **déclaration contrôlée :** la rubrique BT du formulaire 2035-A-SD + - **dans tous les cas :** la rubrique DSCA/DSCB du formulaire de donnée complémentaire à la déclaration de revenus des indépendant (formulaire 2042) + - **régime réel simplifié (IR uniquement) :** la rubrique 326 du formulaire 2033-D-SD + - **régime réel normal (IR uniquement):** la rubrique A5 du formulaire 2053-SD + - **déclaration contrôlée (IR uniquement):** la rubrique BT du formulaire 2035-A-SD unité: €/an somme: - dirigeant . indépendant . cotisations et contributions . cotisations @@ -418,18 +433,29 @@ aide déclaration revenu indépendant 2020 . cotisations obligatoires: références: Notice impots.gouv.fr: https://www.impots.gouv.fr/portail/www2/fichiers/documentation/brochure/ir_2021/pdf_som/11-bis-decla_fusion_fisc_185a195.pdf + aide déclaration revenu indépendant 2020 . CSG déductible: titre: CSG déductible résumé: '[B]' + applicable si: entreprise . imposition . IR description: "Montant de la CSG déductible à l'impôt sur le revenu" valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible +aide déclaration revenu indépendant 2020 . cotisations non déductible: + applicable si: entreprise . imposition . IS + titre: Cotisations non déductible + résumé: '[Y]' + description: "Montant des cotisations non déductible à l'impôt sur le revenu" + valeur: dirigeant . indépendant . cotisations et contributions . non déductibles + aide déclaration revenu indépendant 2020 . CFP: résumé: '[D]' + applicable si: entreprise . imposition . IR description: Contribution à la formation professionnelle valeur: dirigeant . indépendant . cotisations et contributions . formation professionnelle -aide déclaration revenu indépendant 2020 . total charges sociales déductible: +aide déclaration revenu indépendant 2020 . total charges sociales déductibles IR: + applicable si: entreprise . imposition . IR titre: charges sociales obligatoires déductibles fiscalement résumé: '[B + C + D]' somme: @@ -439,11 +465,29 @@ aide déclaration revenu indépendant 2020 . total charges sociales déductible: description: | À reporter dans : - **régime réel simplifié :** la rubrique 252 du formulaire 2033-B-SD - - **régime réel normal :** la rubrique FZ du formulaire 2052-SD + - **régime réel normal :** la rubrique FY du formulaire 2052-SD - **déclaration contrôlée :** la rubrique BK du formulaire 2035-A-SD + +aide déclaration revenu indépendant 2020 . total charges sociales déductibles IS: + applicable si: entreprise . imposition . IS + titre: charges sociales du dirigeant (déductibles de l'impôt sur les société) + valeur: dirigeant . indépendant . cotisations et contributions + description: | + À reporter dans : + - **régime réel simplifié** : la rubrique 252 du formulaire 2035-B-SD + - **régime réel normal** : la rubrique FY du formulaire 2052-SD + aide déclaration revenu indépendant 2020 . assiette sociale: résumé: '[A - (B + C + D)]' + applicable si: entreprise . imposition . IR description: Assiette utilisée pour le calcul des cotisations sociales valeur: dirigeant . indépendant . assiette des cotisations + +aide déclaration revenu indépendant 2020 . traitements et salaires: + applicable si: entreprise . imposition . IS + description: | + À reporter dans la case **1GB/1HB** de la déclaration n°2042 + résumé: '[X + Y]' + valeur: dirigeant . rémunération . imposable diff --git a/mon-entreprise/source/components/conversation/RuleInput.tsx b/mon-entreprise/source/components/conversation/RuleInput.tsx index 6d76771fb..017f7ee0b 100644 --- a/mon-entreprise/source/components/conversation/RuleInput.tsx +++ b/mon-entreprise/source/components/conversation/RuleInput.tsx @@ -24,7 +24,10 @@ type Props = Omit< required?: boolean autoFocus?: boolean dottedName: Name - onChange: (value: Parameters['evaluate']>[0] | undefined) => void + onChange: ( + value: Parameters['evaluate']>[0] | undefined, + dottedName: DottedName + ) => void // TODO: It would be preferable to replace this "showSuggestions" parameter by // a build-in logic in the engine, by setting the "applicability" of // suggestions. @@ -75,7 +78,7 @@ export default function RuleInput({ dottedName, value, missing: !showDefaultDateValue && !!evaluation.missingVariables[dottedName], - onChange, + onChange: (value) => onChange(value, dottedName), title: rule.title, id: props.id ?? dottedName, question: rule.rawNode.question, diff --git a/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/config.yaml b/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/config.yaml index 0bdf7e47e..558d0c42f 100644 --- a/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/config.yaml +++ b/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/config.yaml @@ -1,6 +1,6 @@ objectifs: - aide déclaration revenu indépendant 2020 . cotisations obligatoires - - aide déclaration revenu indépendant 2020 . total charges sociales déductible + - aide déclaration revenu indépendant 2020 . total charges sociales déductibles IR situation: dirigeant: "'indépendant'" diff --git a/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/index.tsx b/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/index.tsx index 02e3afa5c..ba933c89d 100644 --- a/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/index.tsx +++ b/mon-entreprise/source/pages/Gérer/AideDéclarationIndépendant/index.tsx @@ -29,24 +29,21 @@ import illustration from './undraw_fill_in_mie5.svg' export default function AideDéclarationIndépendant() { useSimulationConfig(simulationConfig) const dispatch = useDispatch() - const engine = useEngine() const company = useSelector( (state: RootState) => state.inFranceApp.existingCompany ) const situation = useSelector(situationSelector) - - const setCurrentIncome = useCallback( - (currentIncome) => { - dispatch( - updateSituation('dirigeant . rémunération . totale', currentIncome) - ) + const setSituation = useCallback( + (value, dottedName) => { + dispatch(updateSituation(dottedName, value)) }, - [dispatch, updateSituation] + [dispatch] ) const displayForm = - engine.evaluate('dirigeant . rémunération . totale').nodeValue !== null + situation['dirigeant . rémunération . totale'] || + situation['dirigeant . rémunération . nette'] return ( <> @@ -55,8 +52,8 @@ export default function AideDéclarationIndépendant() {

Cet outil est une aide à la déclaration de revenus à destination des{' '} travailleurs indépendants. Il vous permet de - connaître le montant des charges sociales déductibles à partir de - votre résultat net fiscal. + connaître le montant des charges sociales déductibles applicable à + votre rémunération.

Vous restez entièrement responsable d'éventuelles omissions ou @@ -85,10 +82,10 @@ export default function AideDéclarationIndépendant() { vous exercez une activité libérale relevant d’un régime de retraite des professions libérales -

  • - vous êtes gérants de société relevant de l’impôt sur les sociétés -
  • vous avez opté pour le régime micro-fiscal
  • +
  • + vous êtes dans le cas d'une entreprise avec plusieurs associés +
  • votre entreprise est domiciliée dans les DOM
  • @@ -96,25 +93,52 @@ export default function AideDéclarationIndépendant() { {!situation['dirigeant . rémunération . totale'] && ( )} -

    - Quel est votre résultat fiscal en 2020 ?
    - - Charges sociales et exonérations fiscales non incluses{' '} - - -

    +

    Imposition et comptabilité

    - Le résultat fiscal correspond aux produits moins les charges. Il peut - être positif (bénéfice) ou négatif (déficit). + Ces quelques questions permettent de déterminer le type de déclaration + à remplir, ainsi que les modalités de calcul des cotisations social.

    + + + {situation['entreprise . imposition'] && ( + <> + +

    + Quel est votre résultat fiscal en 2020 ?
    + + Charges sociales et exonérations fiscales non incluses{' '} + + +

    +

    + Le résultat fiscal correspond aux produits moins les charges. Il + peut être positif (bénéfice) ou négatif (déficit). +

    + + + +
    + +

    + Quel est le montant net de votre rémunération en 2020 ? +
    + Sans tenir compte des charges sociales +

    + + + +
    + + )} - - - {displayForm ? ( @@ -413,15 +437,10 @@ function SimpleField({ const situation = useSelector(situationSelector) const dispatchValue = useCallback( - (value) => { + (value, dottedName) => { dispatch(updateSituation(dottedName, value)) - dispatch({ - type: 'STEP_ACTION', - name: 'fold', - step: dottedName, - }) }, - [dispatch, dottedName] + [dispatch] ) if ( @@ -502,10 +521,17 @@ function Results() { calculés à partir des informations saisies.

    {([ + 'aide déclaration revenu indépendant 2020 . total charges sociales déductibles IS', + 'aide déclaration revenu indépendant 2020 . rémunération nette dirigeant', + 'aide déclaration revenu indépendant 2020 . traitements et salaires', 'aide déclaration revenu indépendant 2020 . cotisations obligatoires', - 'aide déclaration revenu indépendant 2020 . total charges sociales déductible', + 'aide déclaration revenu indépendant 2020 . total charges sociales déductibles IR', ] as const).map((dottedName) => { const r = engine.getRule(dottedName) + const evaluation = engine.evaluate(dottedName) + if (evaluation.nodeValue == null || evaluation.nodeValue == false) { + return + } return (
    {([ + 'aide déclaration revenu indépendant 2020 . cotisations non déductible', 'aide déclaration revenu indépendant 2020 . réduction covid . total', 'aide déclaration revenu indépendant 2020 . revenu net fiscal', 'aide déclaration revenu indépendant 2020 . CSG déductible', @@ -557,6 +584,10 @@ function Results() { 'aide déclaration revenu indépendant 2020 . assiette sociale', ] as const).map((dottedName) => { const r = engine.getRule(dottedName) + const evaluation = engine.evaluate(dottedName) + if (evaluation.nodeValue == null || evaluation.nodeValue == false) { + return + } return (