🔨 Ajoute l'option IS dans l'aide à la déclaration

pull/1537/head
Johan Girod 2021-05-10 12:22:31 +02:00
parent 0df43dd665
commit 5f46baafb3
4 changed files with 125 additions and 47 deletions

View File

@ -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

View File

@ -24,7 +24,10 @@ type Props<Name extends string = DottedName> = Omit<
required?: boolean
autoFocus?: boolean
dottedName: Name
onChange: (value: Parameters<Engine<Name>['evaluate']>[0] | undefined) => void
onChange: (
value: Parameters<Engine<Name>['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,

View File

@ -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'"

View File

@ -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() {
<p className="ui__ lead">
Cet outil est une aide à la déclaration de revenus à destination des{' '}
<strong>travailleurs indépendants</strong>. 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.
</p>
<p className="ui__ notice">
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 dun régime de
retraite des professions libérales
</li>
<li>
vous êtes gérants de société relevant de limpôt sur les sociétés
</li>
<li>vous avez opté pour le régime micro-fiscal</li>
<li>
vous êtes dans le cas d'une entreprise avec plusieurs associés
</li>
<li>votre entreprise est domiciliée dans les DOM</li>
</ul>
</Warning>
@ -96,25 +93,52 @@ export default function AideDéclarationIndépendant() {
{!situation['dirigeant . rémunération . totale'] && (
<PreviousSimulationBanner />
)}
<h2>
Quel est votre résultat fiscal en 2020 ?<br />
<small>
Charges sociales et exonérations fiscales non incluses{' '}
<ExplicationsResultatFiscal />
</small>
</h2>
<h2>Imposition et comptabilité</h2>
<p className="ui__ notice">
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.
</p>
<SimpleField dottedName="entreprise . imposition" />
{situation['entreprise . imposition'] && (
<>
<Condition expression="entreprise . imposition . IR">
<h2>
Quel est votre résultat fiscal en 2020 ?<br />
<small>
Charges sociales et exonérations fiscales non incluses{' '}
<ExplicationsResultatFiscal />
</small>
</h2>
<p className="ui__ notice">
Le résultat fiscal correspond aux produits moins les charges. Il
peut être positif (bénéfice) ou négatif (déficit).
</p>
<BigInput>
<RuleInput
dottedName="dirigeant . rémunération . totale"
onChange={setSituation}
autoFocus
/>
</BigInput>
</Condition>
<Condition expression="entreprise . imposition . IS">
<h2>
Quel est le montant net de votre rémunération en 2020 ?
<br />
<small>Sans tenir compte des charges sociales</small>
</h2>
<BigInput>
<RuleInput
dottedName="dirigeant . rémunération . nette"
onChange={setSituation}
autoFocus
/>
</BigInput>
</Condition>
</>
)}
</Trans>
<BigInput>
<RuleInput
dottedName="dirigeant . rémunération . totale"
onChange={setCurrentIncome}
autoFocus
/>
</BigInput>
{displayForm ? (
<TrackPage name="commence" />
@ -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.
</p>
{([
'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 (
<Animate.fromTop key={dottedName}>
<div
@ -550,6 +576,7 @@ function Results() {
`}
>
{([
'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 (
<Animate.fromTop style={{ display: 'flex' }} key={dottedName}>
<div