met à jour les seuils pour le parcours écocollab et améliore le tracking

intérim
Johan Girod 2021-02-23 16:24:09 +01:00
parent 3e0ab4e6d0
commit efef19df90
6 changed files with 58 additions and 12 deletions

View File

@ -1588,6 +1588,9 @@ une de ces conditions: one of these applies
check that its corporate purpose is compatible with the activities
concerned (and change it if necessary). Otherwise, you will have to start
a new business.</1> <2>Create a company</2>
guide: <0>Consult the Urssaf guide</0><1>Find out the terms and conditions of
the company's articles of association for each type of rental (property,
furnished, short-term, classified, etc.).</1><2>PDF</2>
impôts: <0>Declare your income to the tax autorities</0> <1>For these
activities, you only need to report your income on your tax return. For
more information, you can visit the <2>dedicated page on

View File

@ -1,12 +1,13 @@
import Animate from 'Components/ui/animate'
import { Markdown } from 'Components/utils/markdown'
import { ScrollToTop } from 'Components/utils/Scroll'
import { SitePathsContext } from 'Components/utils/SitePathsContext'
import Value from 'Components/EngineValue'
import { formatValue } from 'publicodes'
import { useContext } from 'react'
import emoji from 'react-easy-emoji'
import { Trans, useTranslation } from 'react-i18next'
import { Redirect } from 'react-router-dom'
import Animate from 'Components/ui/animate'
import { TrackPage } from '../../../ATInternetTracking'
import { selectSeuilRevenus } from './actions'
import { getTranslatedActivité } from './activitésData'
import { ActivitéSelection } from './ActivitésSelection'
@ -14,7 +15,6 @@ import ExceptionsExonération from './ExceptionsExonération'
import NextButton from './NextButton'
import { estExonéréeSelector } from './selectors'
import { StoreContext } from './StoreContext'
import { formatValue } from 'publicodes'
export type Activity = {
titre: string
@ -37,6 +37,7 @@ export default function Activité({
if (activité.activités) {
return (
<Animate.fromBottom>
<TrackPage name={activité.titre} />
<ScrollToTop />
<h1>{activité.titre}</h1>
<p>{activité.explication}</p>
@ -61,6 +62,7 @@ export default function Activité({
<section key={title}>
<ScrollToTop />
<Animate.fromBottom>
<TrackPage name={activité.titre} />
<h1>
{emoji(activité.icônes)} {activité.titre}
</h1>

View File

@ -9,6 +9,7 @@ import React, { useCallback, useContext } from 'react'
import emoji from 'react-easy-emoji'
import { Trans, useTranslation } from 'react-i18next'
import { Link } from 'react-router-dom'
import { TrackPage } from '../../../ATInternetTracking'
import { debounce } from '../../../utils'
import { toggleActivité } from './actions'
import { Activity } from './Activité'
@ -29,6 +30,7 @@ export default function ActivitésSelection() {
return (
<>
<Animate.fromBottom>
<TrackPage name="accueil" />
<ScrollToTop />
<h1>{titre}</h1>
<section css="margin-bottom: 2rem">

View File

@ -1,10 +1,12 @@
import Animate from 'Components/ui/animate'
import { ScrollToTop } from 'Components/utils/Scroll'
import { SitePathsContext } from 'Components/utils/SitePathsContext'
import { useContext } from 'react'
import emoji from 'react-easy-emoji'
import { Helmet } from 'react-helmet'
import { Trans, useTranslation } from 'react-i18next'
import { Link, Redirect } from 'react-router-dom'
import Animate from 'Components/ui/animate'
import { TrackPage } from '../../../ATInternetTracking'
import { ActivitéCard } from './ActivitésSelection'
import illustration from './images/multitasking.svg'
import {
@ -46,6 +48,7 @@ export default function VotreSituation() {
return (
<Animate.fromBottom>
<ScrollToTop />
<TrackPage name="simulation terminée" />
<Helmet>
<title>{titre}</title>
</Helmet>
@ -136,6 +139,27 @@ export default function VotreSituation() {
</>
)}
</section>
<section>
<h2>
{emoji('🧰')} <Trans>Ressources utiles</Trans>
</h2>
<div css="display: flex; flex-wrap: wrap; margin: 0 -1rem;">
<a
target="_blank"
className="ui__ interactive card small box lighter-bg"
href="https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/5877Plaquetteecoeollaborative.pdf"
>
<Trans i18nKey="économieCollaborative.obligations.guide">
<p>Consulter le guide Urssaf</p>
<p className="ui__ notice">
Découvrez les modalités des statuts sociaux pour chaque type de
locations (bien, meublé, courte durée, classé, etc.).
</p>
<span className="ui__ small label">PDF</span>
</Trans>
</a>
</div>
</section>
</Animate.fromBottom>
)
}

View File

@ -7,7 +7,7 @@
- chambre d'hôte
- tourisme classé
activités:
- titre: Location meublée standard
- titre: Location meublée de courte durée
icônes: 🏠 🛋
explication: Vous avez loué un logement meublé pour de courtes durées à une clientèle de passage qui n'y élit pas domicile (hors chambre dhôte ou meublé de tourisme)
plateformes:
@ -15,7 +15,21 @@
- Abritel
- Booking
seuil pro: 23000
seuil régime général: 82800
seuil régime général: 72600
exonérations:
# https://www.pap.fr/bailleur/impots-taxes/location-meublee-quelle-fiscalite/a1787/location-meublee-les-exonerations
- titre: Il s'agit d'une pièce dans ma résidence principale
explication: |
Vous donnez en location une ou plusieurs pièces de votre habitation principale : vous êtes exonéré d'impôt sous réserve que la ou les pièces louée(s) constituent la résidence principale du locataire ou sa résidence temporaire. Pour bénéficier de cette dernière condition, le locataire doit pouvoir justifier d'un contrat de travail saisonnier ou d'un CDD d'usage. Le prix de la location doit être fixé dans des limites raisonnables. Pour les baux conclus en 2019, le loyer ne doit pas dépasser 187 € par an et par mètre carré en Île-de-France et 138 € par mètre carré et par an dans les autres régions. Ces plafonds sont relevés au 1er janvier de chaque année.
> Vous louez à Paris, dans votre résidence principale, une chambre de 18 m² à un étudiant. Pour être exonéré d'impôt, le loyer mensuel hors charges ne doit pas dépasser en 2019 (187 x 18) / 12 = 280 €.
- titre: Location meublée de longue durée
icônes: 🏠 📆
explication: Vous avez loué un logement meublé de longue durée
plateformes:
- Leboncoin
- pap.fr
- agences immobilières
seuil pro: 23000
exonérations:
# https://www.pap.fr/bailleur/impots-taxes/location-meublee-quelle-fiscalite/a1787/location-meublee-les-exonerations
- titre: Il s'agit d'une pièce dans ma résidence principale
@ -31,20 +45,20 @@
- Abritel
- Booking
seuil pro: 23000
seuil régime général: 82800
seuil régime général: 72600
- titre: Location de chambre d'hôtes
explication: Vous êtes loueur de chambres dhôtes et remplissez les conditions prévues par le code du tourisme
plateformes:
- Gîtes de France
icônes: 🏠 🧑
seuil pro: 5268
seuil pro: 5348
seuil déclaration: 760
- titre: Location de biens
icônes: 🔑 🚗 🔧 🌱
explication: Vous mettez en location certains de vos biens, tels que voiture, matériel de jardinage, outils de bricolage, accessoires de luxe, vêtements...
seuil pro: 8105
seuil régime général: 82800
seuil pro: 8227
seuil régime général: 72600
plateformes:
- Drivy
- outils de jardinage, bricolage...

View File

@ -1,8 +1,8 @@
import { SitePathsContext } from 'Components/utils/SitePathsContext'
import { useContext } from 'react'
import { Trans } from 'react-i18next'
import { Route, Switch } from 'react-router-dom'
import { NavLink } from 'react-router-dom'
import { NavLink, Route, Switch } from 'react-router-dom'
import { TrackChapter } from '../../../ATInternetTracking'
import Activité from './Activité'
import ActivitésSelection from './ActivitésSelection'
import reducer from './reducer'
@ -13,6 +13,7 @@ export default function ÉconomieCollaborative() {
const sitePaths = useContext(SitePathsContext)
return (
<>
<TrackChapter chapter1="simulateurs" chapter2="economie_collaborative" />
<div css="transform: translateY(2rem)">
<NavLink
to={sitePaths.simulateurs.économieCollaborative.index}