Affiche les cas non pris en compte dans l'assistant

pull/2092/head
Johan Girod 2022-04-12 13:33:29 +02:00
parent 33f748844a
commit cd65e35665
5 changed files with 167 additions and 83 deletions

View File

@ -22,30 +22,30 @@ DRI . cas exclus:
texte: |-
### Nous ne proposons pas encore d'aide pour les entreprises agricoles
{{ désolé }}
{{ textes . désolé }}
- si: entreprise . catégorie juridique . autre
alors:
texte: |-
### Nous ne proposons pas encore d'aide pour votre type d'entreprise
{{ désolé }}
{{ textes . désolé }}
- si: entreprise . catégorie juridique . EI . auto-entrepreneur
alors:
texte: |-
### Nous ne proposons pas encore d'aide pour les auto-entrepreneurs
{{ désolé }}
{{ textes . désolé }}
{{ autres outils }}
{{ textes . autres outils }}
- si: entreprise . catégorie juridique . SAS
alors:
texte: |-
### Nous ne proposons pas encore d'aide pour les dirigeants de SAS(U)
{{ désolé }}
{{ textes . désolé }}
{{ autres outils }}
{{ textes . autres outils }}
- si:
une de ces conditions:
- toutes ces conditions:
@ -57,9 +57,9 @@ DRI . cas exclus:
texte: |-
### Nous ne proposons pas encore d'aide pour les dirigeant de {{ entreprise . catégorie juridique }}
{{ désolé }}
{{ textes . désolé }}
{{ autres outils }}
{{ textes . autres outils }}
- si: entreprise . date de création >= 01/01/2022
alors:
texte: |-
@ -70,17 +70,21 @@ DRI . cas exclus:
Vous pouvez estimer le montant de votre revenu net après impôt grâce aux
simulateurs disponibles sur ce site.
DRI . cas exclus . désolé:
DRI . textes: oui
DRI . textes . désolé:
texte: |-
Nous en sommes désolés. Si vous rencontrez des difficultés à remplir votre déclaration,
Si vous rencontrez des difficultés à remplir votre déclaration,
rapprochez-vous de votre comptable. Si vous êtes sans comptable, vous pouvez
[contacter le service des impôts](https://www.impots.gouv.fr/contacts).
DRI . cas exclus . autres outils:
DRI . textes . autres outils:
texte: |-
Ce site propose d'autres outils qui pourraient vous intéresser (par exemple un
simulateur de revenu net après impôt).
DRI . textes . comptable:
texte: En cas de doutes, **demandez à votre comptable**.
DRI . nombre de déclarations:
somme:
- valeur: entreprise . durée d'activité . en fin d'année
@ -135,7 +139,7 @@ DRI . accompagnement imposition . type . exceptions:
Ce choix a pu être fait pour vous permettre de vous verser des dividendes par exemple.
{{comptable}}
{{ textes . comptable }}
- si: entreprise . catégorie juridique . SARL . unipersonnelle
alors:
texte: |-
@ -147,10 +151,7 @@ DRI . accompagnement imposition . type . exceptions:
> Il est assez fréquent que les EURL choisissent l'option de l'impôt sur les sociétés. Ce choix permet
de se verser des dividendes par exemple.
{{comptable}}
DRI . comptable:
texte: En cas de doutes, **demandez à votre comptable**.
{{ textes . comptable }}
DRI . accompagnement imposition . bénéfice:
texte: |-
@ -202,7 +203,7 @@ DRI . accompagnement imposition . bénéfice . exceptions:
- la majeure partie de votre activité consiste en la **vente de bien**,
- ou vous créez dans le but de **reproduire et vendre** votre création (par exemple, un photographe d'illustration qui prend des photos pour le compte de clients).
{{comptable}}
{{ textes . comptable }}
DRI . accompagnement imposition . régime memento fiscal:
question: |-
@ -311,6 +312,17 @@ DRI . accompagnement imposition . explications . situation:
alors:
texte: Avec le régime de la déclaration contrôlée, vous devrez tenir une comptabilité complète, et établir les comptes annuels en fin d'année. Il est donc conseillé d'avoir un comptable.
DRI . imposition cas exclus:
applicable si:
une de ces conditions:
- entreprise . imposition . régime . réel normal
- entreprise . imposition . régime . micro-entreprise
texte: |-
#### Nous ne proposons pas encore d'aide à la déclaration de revenu pour le régime {{ entreprise . imposition . régime }}
{{ textes . désolé }}
DRI . liasse:
valeur: oui
applicable si:
@ -410,6 +422,7 @@ DRI . liasse . réel simplifié . c596:
applicable si: entreprise . imposition . IR
titre: '596'
unité:
par défaut: 0
meta:
facultatif: oui
résumé: Court terme

View File

@ -0,0 +1,48 @@
import { SitePathsContext } from '@/components/utils/SitePathsContext'
import { Message } from '@/design-system'
import { Button } from '@/design-system/buttons'
import { SmallBody } from '@/design-system/typography/paragraphs'
import { Grid } from '@mui/material'
import { useContext } from 'react'
import notHandled from './undraw_access_denied_re_awnf.svg'
export default function NotHandledCase({
children,
}: {
children: React.ReactNode
}) {
const sitePaths = useContext(SitePathsContext)
return (
<Message type="info">
<Grid container justifyContent="center" spacing={3} alignItems="center">
<Grid item xs={6} md={3} sx={{ order: { md: 0, xs: 1, sm: 1 } }}>
<img
src={notHandled}
alt=""
css={`
width: 100%;
padding: 1rem;
`}
/>
</Grid>
<Grid item md={9}>
{children}
</Grid>
<Grid item lg={2} />
<Grid item md="auto">
<Button color="tertiary" to={sitePaths.gérer.index}>
Découvrir les simulateur et assistant pour mon entreprise
</Button>
</Grid>
<Grid item>
<SmallBody>
Si vous souhaitez que cet assistant à la déclaration gère votre cas
dans le futur, laissez-nous message en cliquant sur le bouton "Faire
une suggestion" en bas de la page.
</SmallBody>
</Grid>
</Grid>
</Message>
)
}

View File

@ -1,5 +1,5 @@
import Conversation from '@/components/conversation/Conversation'
import Value, { WhenAlreadyDefined } from '@/components/EngineValue'
import Value, { Condition, WhenAlreadyDefined } from '@/components/EngineValue'
import { Appear, FromTop } from '@/components/ui/animate'
import Progress from '@/components/ui/Progress'
import { useEngine } from '@/components/utils/EngineContext'
@ -66,12 +66,21 @@ export default function Cotisations() {
<Appear>
<Message icon border={false}>
<Intro>
En 2022, vous devrez payer à l'Urssaf{' '}
<Strong>
{' '}
<Value expression="DRI . cotisations" />
</Strong>{' '}
de cotisations sociales.
<Condition expression="DRI . cotisations >= 0">
En 2022, vous devrez payer à l'Urssaf{' '}
<Strong>
{' '}
<Value expression="DRI . cotisations" />
</Strong>{' '}
de cotisations sociales.
</Condition>
<Condition expression="DRI . cotisations < 0">
En 2022, l'Urssaf vous remboursera{' '}
<Strong>
{' '}
<Value expression="DRI . cotisations * -1" />
</Strong>{' '}
</Condition>
</Intro>
</Message>
</Appear>

View File

@ -19,7 +19,7 @@ import { Strong } from '@/design-system/typography'
import { H3 } from '@/design-system/typography/heading'
import { Link } from '@/design-system/typography/link'
import { Li, Ul } from '@/design-system/typography/list'
import { Body, Intro, SmallBody } from '@/design-system/typography/paragraphs'
import { Body, Intro } from '@/design-system/typography/paragraphs'
import { useSetEntreprise } from '@/hooks/useSetEntreprise'
import { Grid } from '@mui/material'
import { useContext } from 'react'
@ -27,7 +27,7 @@ import { Trans } from 'react-i18next'
import { useDispatch } from 'react-redux'
import { SimpleField } from '../_components/Fields'
import { useProgress } from './_components/hooks'
import notHandled from './_components/undraw_access_denied_re_awnf.svg'
import NotHandledCase from './_components/NotHandledCase'
import illustration from './_components/undraw_fill_in_mie5.svg'
export const OBJECTIFS: DottedName[] = [
@ -97,48 +97,11 @@ export default function Accueil() {
<Grid item lg={10} xl={8}>
<WhenApplicable dottedName="DRI . cas exclus">
<FromTop>
<Message type="info">
<Grid
container
justifyContent="center"
spacing={3}
alignItems="center"
>
<Grid
item
xs={6}
md={3}
sx={{ order: { md: 0, xs: 1, sm: 1 } }}
>
<img
src={notHandled}
alt=""
css={`
width: 100%;
padding: 1rem;
`}
/>
</Grid>
<Grid item md={9}>
<Markdown>
{engine.evaluate('DRI . cas exclus').nodeValue as string}
</Markdown>
</Grid>
<Grid item lg={2} />
<Grid item md="auto">
<Button color="tertiary" to={sitePaths.gérer.index}>
Découvrir les simulateur et assistant pour mon entreprise
</Button>
</Grid>
<Grid item>
<SmallBody>
Si vous souhaitez que cet assistant à la déclaration gère
votre cas dans le futur, laissez-nous message en cliquant
sur le bouton "Faire une suggestion" en bas de la page.
</SmallBody>
</Grid>
</Grid>
</Message>
<NotHandledCase>
<Markdown>
{engine.evaluate('DRI . cas exclus').nodeValue as string}
</Markdown>
</NotHandledCase>
</FromTop>
</WhenApplicable>
{showGoToNextStep && (

View File

@ -1,5 +1,9 @@
import { DottedName } from '@/../../modele-social'
import { Condition, WhenApplicable } from '@/components/EngineValue'
import {
Condition,
WhenApplicable,
WhenNotApplicable,
} from '@/components/EngineValue'
import { FromTop } from '@/components/ui/animate'
import { useEngine } from '@/components/utils/EngineContext'
import { Markdown } from '@/components/utils/markdown'
@ -10,7 +14,7 @@ import { Button } from '@/design-system/buttons'
import { Container, Spacing } from '@/design-system/layout'
import PopoverWithTrigger from '@/design-system/popover/PopoverWithTrigger'
import { Strong } from '@/design-system/typography'
import { H2, H3 } from '@/design-system/typography/heading'
import { H2, H3, H5 } from '@/design-system/typography/heading'
import { Link } from '@/design-system/typography/link'
import { Body, Intro, SmallBody } from '@/design-system/typography/paragraphs'
import { getMeta } from '@/utils'
@ -237,6 +241,7 @@ function ModifyInformation(props: {
function ResultSection() {
const sitePaths = useContext(SitePathsContext)
const engine = useEngine()
return (
<FromTop>
@ -245,12 +250,14 @@ function ResultSection() {
backgroundColor={(theme) => theme.colors.bases.primary[600]}
>
<H2>Vos déclarations fiscales</H2>
<Grid container spacing={4}>
<Grid item lg={6}>
<H3>Pour vous</H3>
<Message border={false}>
<FormulaireTitle formulaire="Formulaire 2042">
<H3>Déclaration de revenus</H3>
<H3 as="h4">Déclaration de revenus</H3>
</FormulaireTitle>
<Body>
C'est la déclaration de revenu qui est effectuée chaque année
@ -272,18 +279,22 @@ function ResultSection() {
En tant qu'indépendant vous aurez à remplir une section spéciale
sur le montant des cotisations.
</Body>
<Spacing md />
<div
css={`
text-align: center;
`}
>
<Button to={sitePaths.gérer.déclarationIndépendant.déclaration}>
Continuer vers l'aide au remplissage
</Button>
</div>
<Spacing sm />
<WhenNotApplicable dottedName="DRI . imposition cas exclus">
<Spacing md />
<div
css={`
text-align: center;
`}
>
<Button
to={sitePaths.gérer.déclarationIndépendant.déclaration}
>
Continuer vers l'aide au remplissage
</Button>
</div>
<Spacing sm />
</WhenNotApplicable>
<SmallBody>
Je connais déjà les cases et montants à remplir :{' '}
<Link to={sitePaths.index} isDisabled>
@ -292,6 +303,46 @@ function ResultSection() {
</SmallBody>
<Spacing md />
</Message>
<WhenApplicable dottedName="DRI . imposition cas exclus">
<FromTop>
<Message type="info" border={false}>
<Markdown>
{
engine.evaluate('DRI . imposition cas exclus')
.nodeValue as string
}
</Markdown>
<Condition expression="entreprise . imposition . régime . micro-entreprise">
<H5>Calculer le montant des cotisations sociales 2021</H5>
<SmallBody>
Nous mettons à votre disposition un assistant pour
connaître le montant des cotisations sociales à renseigner
dans la section spéciale travailleurs indépendant de la
déclaration de revenu.
</SmallBody>
<div
css={`
text-align: center;
`}
>
<Button
light
size="XS"
color="tertiary"
to={
sitePaths.gérer[
'déclaration-charges-sociales-indépendant'
]
}
>
Accéder à l'assistant
</Button>
</div>
<Spacing sm />
</Condition>
</Message>
</FromTop>
</WhenApplicable>
</Grid>
<Grid item lg={6}>
<H3>Pour votre entreprise</H3>
@ -376,7 +427,7 @@ function LiasseFiscaleTitle() {
getMeta<{ formulaire?: string }>(liasse.rawNode, {}).formulaire ?? ''
}
>
<H3>{liasse.title}</H3>
<H3 as="h4">{liasse.title}</H3>
</FormulaireTitle>
)
}